@bimdata/viewer 2.2.0-beta.1 → 2.2.0-beta.3

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.
@@ -1836,7 +1836,7 @@ end`};e.events.push(["putFont",function(n){(function(s){var a=s.font,l=s.out,c=s
1836
1836
  :message="$t('plan.pdfExport.loadingMsg')"
1837
1837
  :subMessage="$t('plan.pdfExport.loadingSubMsg', { page, total })"
1838
1838
  />
1839
- `,props:{page:Number,total:Number}};await this.$viewer.localContext.hideUI(),this.$viewer.globalContext.loadingProcessStart(),this.$viewer.globalContext.spinner={component:t,props:{total:this.pdfPages.length,page:1}},await this.setPdfPage(0);const{data:e,width:i,height:o}=await YS(this,this.bitmaps[0]),r=new bi({unit:"px",format:[i,o],orientation:i>o?"landscape":"portrait",compress:!0});r.addImage(e,"JPEG",0,0,i,o,void 0,"FAST");for(let n=1;n<this.pdfPages.length;n++){this.$viewer.globalContext.spinner.props.page++,await this.nextPdfPage();const{data:s,width:a,height:l}=await YS(this,this.bitmaps[0]);r.addPage([a,l],a>l?"landscape":"portrait"),r.addImage(s,"JPEG",0,0,a,l,void 0,"FAST")}return await this.setPdfPage(0),this.$viewer.globalContext.spinner=null,this.$viewer.globalContext.loadingProcessEnd(),await this.$viewer.localContext.showUI(),r},drawArea(t,e){return QS(this.viewer,t,e)},displayModelSpaces(t){const e=(o,r=+o.color)=>(o.spaces.forEach(n=>n.color=r),[...o.spaces,...o.zones.flatMap(n=>e(n,r))]),i=t.zones.flatMap(o=>e(o));this.spaces=i.filter(o=>o.geometry).map(o=>{var r;const{color:n,geometry:s,name:a}=o,l=this.drawArea(s,{fill:n,lineColor:n}),c=this.plugins.texter.addText(a,l.object.id),u=((r=s[0])==null?void 0:r.z)??0;return{id:o.id,absoluteElevation:u,destroy(){l.destroy()},show(){l.visible=!0,c.show()},hide(){l.visible=!1,c.hide()}}}),this.manageSpaceVisibilities()},manageSpaceVisibilities(){if(!this.selectedStorey)return this.spaces.forEach(i=>i.hide());const{absoluteElevation:t,absoluteTopElevation:e}=this.selectedStorey;this.spaces.forEach(i=>{i.absoluteElevation>=t&&i.absoluteElevation<e?i.show():i.hide()})}}},wsi=fsi,Lsi=t=>(rr("data-v-a5383ae2"),t=t(),sr(),t),msi={class:"bimdata-viewer-plan"},ysi={ref:"canvas",class:"bimdata-viewer-plan__viewer__canvas"},vsi={key:"texter",ref:"texter",style:{position:"absolute",top:"0px",left:"0px"}},Csi={class:"bimdata-viewer-plan__header"},Isi={key:"switcher",ref:"switcher",class:"bimdata-viewer-plan__page-switcher"},jsi={class:"page-count flex items-center"},bsi=Lsi(()=>m("div",{class:"separator"},null,-1));function xsi(t,e,i,o,r,n){const s=z("NoModelWindowPlaceHolder"),a=z("Annotations"),l=z("Markers"),c=z("ModelsLoader"),u=z("Help"),d=z("BIMDataStoreySelector"),h=z("BIMDataIconChevron"),A=z("BIMDataButton"),g=z("BIMDataInputOutlined"),p=z("BIMDataIconRotate");return D(),Y("div",msi,[m("canvas",ysi,null,512),!t.model&&!t.loading?(D(),se(s,{key:0})):ve("",!0),m("div",vsi,null,512),t.engine2dCreated?(D(),se(a,{key:1})):ve("",!0),O(l,{ref:"markers"},null,512),m("div",Csi,[t.settings.modelLoader!=="disabled"?St((D(),se(c,{key:0,ref:"header","window-positioning":!1},null,512)),[[Mi,t.modelHeaderShown]]):ve("",!0),t.helpShown?(D(),se(u,{key:1,modal:t.helpModal,name:"Plan"},null,8,["modal"])):ve("",!0)]),St(O(d,{ref:"storeySelector","auto-open":t.storeySelectorAutoOpen},null,8,["auto-open"]),[[Mi,t.storeySelectorShown]]),t.pdfPages.length>0?(D(),Y("div",Isi,[O(A,{ghost:"",rounded:"",icon:"",disabled:t.pdfPageIndex===0,onClick:t.prevPdfPage},{default:W(()=>[O(h,{size:"xs",rotate:180})]),_:1},8,["disabled","onClick"]),m("div",jsi,[O(g,{modelValue:t.displayedPageNumber,"onUpdate:modelValue":e[0]||(e[0]=M=>t.displayedPageNumber=M),margin:"0 6px 0 0",width:"50px",onKeyup:ri(bt(t.goToSelectedPage,["stop"]),["enter"]),onBlur:t.goToSelectedPage},null,8,["modelValue","onKeyup","onBlur"]),At(" / "+re(`${t.pdfPages.length}`),1)]),O(A,{ghost:"",rounded:"",icon:"",disabled:t.pdfPageIndex===t.pdfPages.length-1,onClick:t.nextPdfPage},{default:W(()=>[O(h,{size:"xs"})]),_:1},8,["disabled","onClick"]),bsi,O(A,{color:"default",ghost:"",radius:"",onClick:t.rotate},{default:W(()=>[O(p,{fill:"",color:"default"})]),_:1},8,["onClick"])],512)):ve("",!0)])}const Nsi=K(wsi,[["render",xsi],["__scopeId","data-v-a5383ae2"]]),Dsi="Kartenbetrachter",Ssi={window_label:Dsi},Tsi="Viewer Plan",ksi={loadingMsg:"Generating PDF document...",loadingSubMsg:"( page {page} of {total} )"},Esi={window_label:Tsi,pdfExport:ksi},zsi="Plano de la vista",Psi={window_label:zsi},Bsi="Visionneuse Plan",Osi={loadingMsg:"G\xE9n\xE9ration du document PDF...",loadingSubMsg:"( page {page} sur {total} )"},Rsi={window_label:Bsi,pdfExport:Osi},Usi="Piano del visualizzatore",Ysi={window_label:Usi},Fsi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyNyAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ljg4OTIxIDkuNjI1TDEyLjMyNjcgMi4xODc1VjcuMjcwODFWOS42MjVINC44ODkyMVpNMjQuODI1MyAyLjhDMjQuODI1MyAxLjI2IDIzLjU3OTMgMCAyMi4wMzkzIDBIMTAuODM5M0wyLjQzOTMgOC40VjI1LjJDMi40MzkzIDI2Ljc0IDMuNjk4ODYgMjggNS4yMzkzIDI4SDIyLjA1MzNDMjMuNTkzMyAyOCAyNC44MzkzIDI2Ljc0IDI0LjgzOTMgMjUuMkwyNC44MjUzIDIuOFoiIGZpbGw9IiMyRjM3NEEiLz4KPHJlY3QgeT0iMTQuNTU0MiIgd2lkdGg9IjI2Ljc4MjYiIGhlaWdodD0iMTAuOTU2NSIgcng9IjEiIGZpbGw9IiNGRjk5MDAiLz4KPHBhdGggZD0iTTQuNjAzNTEgMjEuMDU5SDIuODk5OThWMTkuOTM0SDQuNjAzNTFDNC44NjY3NyAxOS45MzQgNS4wODEwNSAxOS44ODkxIDUuMjQ2MzYgMTkuNzk5NEM1LjQxMTY2IDE5LjcwNjQgNS41MzI1NyAxOS41NzgyIDUuNjA5MSAxOS40MTQ4QzUuNjg1NjMgMTkuMjUxMyA1LjcyMzkgMTkuMDY3IDUuNzIzOSAxOC44NjE5QzUuNzIzOSAxOC42NTM2IDUuNjg1NjMgMTguNDU5NiA1LjYwOTEgMTguMjgwMkM1LjUzMjU3IDE4LjEwMDcgNS40MTE2NiAxNy45NTY0IDUuMjQ2MzYgMTcuODQ3NUM1LjA4MTA1IDE3LjczODUgNC44NjY3NyAxNy42ODQgNC42MDM1MSAxNy42ODRIMy4zNzc1MlYyMy41NTQySDJWMTYuNTU0Mkg0LjYwMzUxQzUuMTI2OTcgMTYuNTU0MiA1LjU3NTQzIDE2LjY1MzYgNS45NDg4OSAxNi44NTIzQzYuMzI1NDEgMTcuMDQ3OCA2LjYxMzE2IDE3LjMxODYgNi44MTIxNCAxNy42NjQ4QzcuMDExMTEgMTguMDEwOSA3LjExMDYgMTguNDA2OCA3LjExMDYgMTguODUyM0M3LjExMDYgMTkuMzA0MiA3LjAxMTExIDE5LjY5NTIgNi44MTIxNCAyMC4wMjU0QzYuNjEzMTYgMjAuMzU1NSA2LjMyNTQxIDIwLjYxMDMgNS45NDg4OSAyMC43ODk4QzUuNTc1NDMgMjAuOTY5MyA1LjEyNjk3IDIxLjA1OSA0LjYwMzUxIDIxLjA1OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMi4zNTkgMjIuNDI5MlYyMy41NTQySDguOTkzMjFWMjIuNDI5MkgxMi4zNTlaTTkuNDM4NjEgMTYuNTU0MlYyMy41NTQySDguMDYxMDlWMTYuNTU0Mkg5LjQzODYxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ljk1ODkgMTcuNzUxM0wxNC4xNDA1IDIzLjU1NDJIMTIuNjc1OEwxNS4xNTk5IDE2LjU1NDJIMTYuMDkyTDE1Ljk1ODkgMTcuNzUxM1pNMTcuNDY5NiAyMy41NTQyTDE1LjY0NjYgMTcuNzUxM0wxNS40OTk3IDE2LjU1NDJIMTYuNDQxTDE4LjkzODkgMjMuNTU0MkgxNy40Njk2Wk0xNy4zODY5IDIwLjk0ODRWMjIuMDc4MkgxMy44NTU5VjIwLjk0ODRIMTcuMzg2OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNSAxNi41NTQyVjIzLjU1NDJIMjMuNjIyNUwyMC45MzYzIDE4Ljg2MTlWMjMuNTU0MkgxOS41NTg4VjE2LjU1NDJIMjAuOTM2M0wyMy42MjcxIDIxLjI1MTNWMTYuNTU0MkgyNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",Qsi={name:"plan",isViewer:!0,i18n:{de:Ssi,en:Esi,es:Psi,fr:Rsi,it:Ysi},component:Nsi,window:{name:"plan",label:"plan.window_label",header:!1,plugins:["fullscreen","synchronization"],icon:{imgUri:Fsi},modelTypes:["PDF","METABUILDING","JPEG","PNG"],multiModel:!1}},zj="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyMSAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTIuOTc3NDEgMTIuNTA5NEwxMC4wMDUzIDE2Ljc2MzlMMTcuMTA3MyAxMi40MjkxTDIwLjA0MjMgMTQuMDg0NEwxMC4wMTU3IDIwLjE5NDNMMC4wMzYxMzI4IDE0LjE2MjdMMi45Nzc0MSAxMi41MDk0WiIKICAgIGZpbGw9IiMyRjM3NEEiCiAgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuMDA1MyAyMC44MTcxTDIuOTc3ODYgMTYuNTYyOUwwLjAzNjEzMjggMTguMjE2NEwxMC4wMTU3IDI0LjI0ODFMMjAuMDQyMyAxOC4xMzgxTDE3LjEwNjggMTYuNDgyNUwxMC4wMDUzIDIwLjgxNzFaTTE3LjEyNTYgMTcuNTcyM0wxMC4wMDczIDIxLjkxNzFMMi45NjAzMSAxNy42NTExTDEuOTAyMSAxOC4yNDU5TDEwLjAxMzcgMjMuMTQ4NUwxOC4xODQ0IDE4LjE2OTVMMTcuMTI1NiAxNy41NzIzWiIKICAgIGZpbGw9IiMyRjM3NEEiCiAgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTEzLjk5OTkgNi4xNTA5NkwxMC4xMjU0IDMuOTY1ODJMMC4wMzYxMzI4IDkuNjM3MTFMMTAuMDE1NyAxNS42Njg3TDIwLjA0MjMgOS41NTg3OEwxNy45OTk5IDguNDA2ODhWOS4wMDAwM0gxMy45OTk5VjYuMTUwOTZaIgogICAgZmlsbD0iIzJGMzc0QSIKICAvPgogIDxyZWN0IHg9IjE1IiB3aWR0aD0iMiIgaGVpZ2h0PSI4IiBmaWxsPSIjMkYzNzRBIi8+CiAgPHJlY3QgeD0iMjAiIHk9IjMiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiIHRyYW5zZm9ybT0icm90YXRlKDkwIDIwIDMpIiBmaWxsPSIjMkYzNzRBIi8+Cjwvc3ZnPgo=",Gsi={title:"\uFEFFBuilding Maker",back:"\uFEFFZur\xFCck",list:{text:"\uFEFFErstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"\uFEFFNeues Projekt",updateButton:"\uFEFFUmbenennen",deleteButton:"\uFEFFL\xF6schen"},form:{text:"\uFEFFErstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"\uFEFFName des Geb\xE4udes",error:"\uFEFFUng\xFCltiger Name",createButton:"\uFEFFErstellen",updateButton:"\uFEFFBest\xE4tigen"},storeys:{addStoreyButton:"\uFEFFEtage",addFileButton:"\uFEFFGrundriss",closeButton:"\uFEFFFertigstellen",submitFilesButton:"\uFEFFBest\xE4tigen"},storeyForm:{title:"\uFEFFNeue Etage",input:"\uFEFFName",error:"\uFEFFUng\xFCltiger Name",cancelButton:"\uFEFFAbbrechen",submitButton:"\uFEFFBest\xE4tigen"}},Hsi={BuildingMaker:Gsi},Vsi={title:"\uFEFFBuilding",back:"\uFEFFBack",list:{text:"\uFEFFCreate and edit the layers, then download your PDFs.",createButton:"\uFEFFNew project",updateButton:"\uFEFFRename",deleteButton:"\uFEFFDelete"},form:{text:"\uFEFFCreate and edit the layers, then download your PDFs.",input:"\uFEFFBuilding name",error:"\uFEFFInvalid",createButton:"\uFEFFCreate",updateButton:"\uFEFFConfirm"},storeys:{addStoreyButton:"\uFEFFFloor",addFileButton:"\uFEFFMap",closeButton:"\uFEFFFinish",submitFilesButton:"Validate"},storeyForm:{title:"\uFEFFNew floor",input:"\uFEFFName",error:"\uFEFFInvalid name",cancelButton:"\uFEFFCancel",submitButton:"Validate"}},Zsi={BuildingMaker:Vsi},Jsi={title:"\uFEFFBuilding Maker",back:"\uFEFFVuelta",list:{text:"\uFEFFCree y edite los pisos despu\xE9s cargue los PDF.",createButton:"\uFEFFNuevo proyecto",updateButton:"\uFEFFRenombrar",deleteButton:"\uFEFFSuprimir"},form:{text:"\uFEFFCree y edite los pisos despu\xE9s cargue los PDF.",input:"\uFEFFNombre del edificio",error:"\uFEFFNombre no v\xE1lido",createButton:"\uFEFFCrear",updateButton:"\uFEFFValidar"},storeys:{addStoreyButton:"\uFEFFPiso",addFileButton:"\uFEFFPlano",closeButton:"\uFEFFTerminar",submitFilesButton:"\uFEFFValidar"},storeyForm:{title:"\uFEFFNuevo piso",input:"\uFEFFNombre",error:"\uFEFFNombre no v\xE1lido",cancelButton:"\uFEFFAnular",submitButton:"\uFEFFValidar"}},Wsi={BuildingMaker:Jsi},Ksi={title:"Building Maker",back:"Retour",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",createButton:"Nouveau projet",updateButton:"Renommer",deleteButton:"Supprimer"},form:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",input:"Nom du b\xE2timent",error:"Nom invalide",createButton:"Cr\xE9er",updateButton:"Valider"},storeys:{addStoreyButton:"\xC9tage",addFileButton:"Plan",closeButton:"Terminer",submitFilesButton:"Valider"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide",cancelButton:"Annuler",submitButton:"Valider"}},qsi={BuildingMaker:Ksi},Xsi={title:"\uFEFFBuilding Maker",back:"\uFEFFReso",list:{text:"\uFEFFCrea e modifica i piani e poi scarica i tuoi PDF.",createButton:"\uFEFFNuovo progetto",updateButton:"\uFEFFRinominare",deleteButton:"\uFEFFEliminare"},form:{text:"\uFEFFCrea e modifica i piani e poi scarica i tuoi PDF.",input:"\uFEFFNome della costruzione",error:"\uFEFFNome non corretto",createButton:"\uFEFFCreare",updateButton:"\uFEFFConvalidare"},storeys:{addStoreyButton:"\uFEFFPiano",addFileButton:"\uFEFFProgetto",closeButton:"\uFEFFFinire",submitFilesButton:"\uFEFFConvalidare"},storeyForm:{title:"\uFEFFNuovo piano",input:"\uFEFFNome",error:"\uFEFFNome non corretto",cancelButton:"\uFEFFAnnullare",submitButton:"\uFEFFConvalidare"}},_si={BuildingMaker:Xsi},rd={de:Hsi,en:Zsi,es:Wsi,fr:qsi,it:_si};function $si(t,e,i){const o=e.id,r=i.id,n=t.modelApi;function s(){return n.getModels(o,r,void 0,void 0,"METABUILDING")}function a(f){return n.createMetaBuilding(o,r,f)}function l(f){return n.updateModel(o,f.id,r,f)}function c(f){return n.deleteModel(o,f.id,r)}async function u(f){return n.getStoreys(o,f.id,r)}function d(f,w){return n.createStorey(o,f.id,r,w)}function h(f,w){return n.updateStorey(o,f.id,r,w.uuid,w)}function A(f,w){return n.deleteStorey(o,f.id,r,w.uuid)}function g(f){return Promise.all(f.map(w=>w.model_id?Promise.resolve({id:w.model_id}):n.createModel(o,r,{document_id:w.id})))}function p(f,w,L){return Promise.all(L.map(v=>n.createStoreyPlan(o,f.id,r,w.uuid,{id:v.id})))}function M(f,w,L){return n.deleteStoreyPlan(o,L.plan.id,f.id,r,w.uuid)}return{fetchMetaBuildings:s,createMetaBuilding:a,updateMetaBuilding:l,deleteMetaBuilding:c,fetchStoreys:u,createStorey:d,updateStorey:h,deleteStorey:A,createPlanModels:g,createStoreyPlans:p,deleteStoreyPlan:M}}const eni={i18n:{messages:rd},props:{metaBuilding:{type:Object}},emits:["metaBuilding-created","metaBuilding-updated"],setup(t,{emit:e}){const i=Gt("service"),o=Xe(null),r=Xe(!1),n=Xe("");return ai(n,()=>r.value=!1),Ao(()=>{var s;o.value.focus(),n.value=((s=t.metaBuilding)==null?void 0:s.name)??""}),{hasError:r,icon:zj,metaBuildingName:n,nameInput:o,submit:async()=>{var s;if(!n.value){r.value=!0;return}if(n.value===((s=t.metaBuilding)==null?void 0:s.name))return;let a={name:n.value};t.metaBuilding?(a.id=t.metaBuilding.id,a=await i.updateMetaBuilding(a),e("metaBuilding-updated",a)):(a=await i.createMetaBuilding(a),e("metaBuilding-created",a))}}}},tni={class:"building-form"},ini=["src"],oni={class:"building-form__title"},rni={class:"building-form__text"},sni={class:"building-form__controls"};function nni(t,e,i,o,r,n){const s=z("BIMDataInput"),a=z("BIMDataButton");return D(),Y("div",tni,[m("img",{class:"building-form__icon",src:o.icon},null,8,ini),m("h2",oni,re(t.$t("BuildingMaker.title")),1),m("div",rni,re(t.$t("BuildingMaker.form.text")),1),m("div",sni,[O(s,{ref:"nameInput",placeholder:t.$t("BuildingMaker.form.input"),modelValue:o.metaBuildingName,"onUpdate:modelValue":e[0]||(e[0]=l=>o.metaBuildingName=l),error:o.hasError,errorMessage:t.$t("BuildingMaker.form.error"),onKeyup:ri(bt(o.submit,["stop"]),["enter"])},null,8,["placeholder","modelValue","error","errorMessage","onKeyup"]),O(a,{width:"120px",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(t.$t(`BuildingMaker.form.${i.metaBuilding?"updateButton":"createButton"}`)),1)]),_:1},8,["onClick"])])])}const ani=K(eni,[["render",nni],["__scopeId","data-v-7b4817e2"]]),lni={i18n:{messages:rd},props:{metaBuilding:{type:Object,required:!0}},emits:["manage-storeys","update-metaBuilding","delete-metaBuilding"],setup(){return{isOpenAction:Xe(!1)}}},cni={class:"building-item__name"},uni={class:"building-item__actions__menu"};function dni(t,e,i,o,r,n){const s=z("BIMDataIconBuilding"),a=z("BIMDataTextbox"),l=z("BIMDataIconEllipsis"),c=z("BIMDataButton"),u=Vi("click-away");return D(),Y("div",{class:"building-item",onClick:e[3]||(e[3]=d=>t.$emit("manage-storeys",i.metaBuilding))},[O(s,{size:"m",fill:"",color:"primary"}),m("div",cni,[O(a,{text:i.metaBuilding.name},null,8,["text"])]),St((D(),Y("div",{class:"building-item__actions",onClick:bt(()=>{},["stop"])},[O(c,{ghost:"",rounded:"",icon:"",onClick:e[0]||(e[0]=d=>o.isOpenAction=!o.isOpenAction)},{default:W(()=>[O(l,{size:"l",fill:"",color:"granite-light"})]),_:1}),O(oo,{name:"fade"},{default:W(()=>[St(m("div",uni,[O(c,{ghost:"",square:"",onClick:e[1]||(e[1]=d=>t.$emit("update-metaBuilding",i.metaBuilding))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.updateButton")),1)]),_:1}),O(c,{color:"high",ghost:"",square:"",onClick:e[2]||(e[2]=d=>t.$emit("delete-metaBuilding",i.metaBuilding))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.deleteButton")),1)]),_:1})],512),[[Mi,o.isOpenAction]])]),_:1})])),[[u,()=>o.isOpenAction=!1]])])}const hni=K(lni,[["render",dni],["__scopeId","data-v-fc77684b"]]),Ani={i18n:{messages:rd},components:{BuildingItem:hni},props:{metaBuildings:{type:Array,default:()=>[]}},emits:["create-metaBuilding","update-metaBuilding","delete-metaBuilding","manage-storeys"],setup(){return{icon:zj}}},pni={class:"buildings-list"},gni=["src"],Mni={class:"buildings-list__title"},fni={class:"buildings-list__text"},wni={class:"buildings-list__list"};function Lni(t,e,i,o,r,n){const s=z("BIMDataButton"),a=z("BuildingItem");return D(),Y("div",pni,[m("img",{class:"buildings-list__icon",src:o.icon},null,8,gni),m("h2",Mni,re(t.$t("BuildingMaker.title")),1),m("div",fni,re(t.$t("BuildingMaker.list.text")),1),O(s,{class:"buildings-list__button",width:"120px",color:"primary",fill:"",radius:"",onClick:e[0]||(e[0]=l=>t.$emit("create-metaBuilding"))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.createButton")),1)]),_:1}),m("div",wni,[(D(!0),Y(Mt,null,ei(i.metaBuildings,l=>(D(),se(a,{key:l.id,metaBuilding:l,onManageStoreys:c=>t.$emit("manage-storeys",l),onUpdateMetaBuilding:c=>t.$emit("update-metaBuilding",l),onDeleteMetaBuilding:c=>t.$emit("delete-metaBuilding",l)},null,8,["metaBuilding","onManageStoreys","onUpdateMetaBuilding","onDeleteMetaBuilding"]))),128))])])}const mni=K(Ani,[["render",Lni],["__scopeId","data-v-7e4c6270"]]),yni=Object.freeze(["pdf","peg","jpg","png"]),vni={i18n:{messages:rd},props:{storey:{type:Object}},emits:["close","create-storey","update-storey"],setup(t,{emit:e}){const i=Xe(null),o=Xe(!1),r=Xe("");return ai(r,()=>o.value=!1),Ao(()=>{var n;i.value.focus(),r.value=((n=t.storey)==null?void 0:n.name)??""}),{hasError:o,nameInput:i,storeyName:r,cancel:()=>{o.value=!1,r.value="",e("close")},submit:async()=>{var n;if(!r.value){o.value=!0;return}r.value===((n=t.storey)==null?void 0:n.name)&&e("close"),t.storey?e("update-storey",{...t.storey,name:r.value}):e("create-storey",{name:r.value}),await Ts(),e("close")}}}},Cni={class:"storey-form"},Ini={class:"storey-form__title"},jni={class:"storey-form__input"},bni={class:"storey-form__actions"};function xni(t,e,i,o,r,n){const s=z("BIMDataIconStorey"),a=z("BIMDataInput"),l=z("BIMDataButton");return D(),Y("div",Cni,[m("div",Ini,[O(s,{size:"s"}),m("span",null,re(t.$t("BuildingMaker.storeyForm.title")),1)]),m("div",jni,[O(a,{ref:"nameInput",placeholder:t.$t("BuildingMaker.storeyForm.input"),modelValue:o.storeyName,"onUpdate:modelValue":e[0]||(e[0]=c=>o.storeyName=c),error:o.hasError,errorMessage:t.$t("BuildingMaker.storeyForm.error"),onKeyup:[ri(bt(o.submit,["stop"]),["enter"]),ri(bt(o.cancel,["stop"]),["esc"])]},null,8,["placeholder","modelValue","error","errorMessage","onKeyup"])]),m("div",bni,[O(l,{width:"100px",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(t.$t("BuildingMaker.storeyForm.submitButton")),1)]),_:1},8,["onClick"]),O(l,{width:"100px",fill:"",radius:"",onClick:o.cancel},{default:W(()=>[At(re(t.$t("BuildingMaker.storeyForm.cancelButton")),1)]),_:1},8,["onClick"])])])}const Nni=K(vni,[["render",xni],["__scopeId","data-v-106ec364"]]),Dni={props:{storey:{type:Object}},emits:["delete-plan"],setup(t){const e=Xe(!1),i=vt(()=>{var o;return((o=t.storey)==null?void 0:o.plans)??[]});return{hover:e,plans:i}}},Sni={class:"storey-plans"},Tni={class:"storey-plans__item__name"};function kni(t,e,i,o,r,n){const s=z("BIMDataFileIcon"),a=z("BIMDataTextbox"),l=z("BIMDataIconClose"),c=z("BIMDataButton");return D(),Y("div",Sni,[(D(!0),Y(Mt,null,ei(o.plans,u=>(D(),Y("div",{class:"storey-plans__item",key:u.id,onMouseenter:e[0]||(e[0]=d=>o.hover=!0),onMouseleave:e[1]||(e[1]=d=>o.hover=!1)},[O(s,{size:10,fileName:u.plan.type==="PDF"?".pdf":u.plan.document.file_name},null,8,["fileName"]),m("div",Tni,[O(a,{text:u.plan.type==="PDF"?`${u.plan.name}${u.plan.page_number>1?` (page ${u.plan.page_number})`:""}`:u.plan.document.name},null,8,["text"])]),St(O(c,{class:"storey-plans__item__close-btn",width:"19px",height:"19px",ghost:"",rounded:"",icon:"",onClick:d=>t.$emit("delete-plan",u)},{default:W(()=>[O(l,{customSize:10,fill:"",color:"granite"})]),_:2},1032,["onClick"]),[[Mi,o.hover]])],32))),128))])}const Xee=K(Dni,[["render",kni],["__scopeId","data-v-08f15c63"]]),Eni={i18n:{messages:rd},components:{StoreyPlans:Xee},props:{storey:{type:Object,required:!0}},emits:["update","delete","add-plans","delete-plan"],setup(){return{isOpenAction:Xe(!1)}}},zni={class:"storey-node"},Pni={class:"storey-node__storey"},Bni={class:"storey-node__storey__name"},Oni={class:"storey-node__storey__actions"},Rni={class:"storey-node__plans"};function Uni(t,e,i,o,r,n){const s=z("BIMDataIconStorey"),a=z("BIMDataTextbox"),l=z("BIMDataIcon"),c=z("BIMDataButton"),u=z("BIMDataIconDelete"),d=z("BIMDataIconEdit"),h=z("StoreyPlans"),A=Vi("click-away");return D(),Y("div",zni,[St((D(),Y("div",Pni,[O(s,{size:"xs"}),m("div",Bni,[O(a,{text:i.storey.name},null,8,["text"])]),O(c,{width:"23px",height:"23px",color:o.isOpenAction?"high":"primary",fill:"",radius:"",icon:"",onClick:e[0]||(e[0]=g=>o.isOpenAction=!o.isOpenAction)},{default:W(()=>[O(l,{name:o.isOpenAction?"close":"plus",customSize:9},null,8,["name"])]),_:1},8,["color"]),O(oo,{name:"fade"},{default:W(()=>[St(m("div",Oni,[O(c,{fill:"",radius:"",icon:"",onClick:e[1]||(e[1]=g=>t.$emit("delete",i.storey))},{default:W(()=>[O(u,{size:"xs",fill:"",color:"high"})]),_:1}),O(c,{fill:"",radius:"",icon:"",onClick:e[2]||(e[2]=g=>t.$emit("update",i.storey))},{default:W(()=>[O(d,{size:"xs"})]),_:1}),O(c,{width:"100px",fill:"",radius:"",onClick:e[3]||(e[3]=g=>t.$emit("add-plans",i.storey))},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.addFileButton")),1)]),_:1})],512),[[Mi,o.isOpenAction]])]),_:1})])),[[A,()=>o.isOpenAction=!1]]),m("div",Rni,[O(h,{storey:i.storey,onDeletePlan:e[4]||(e[4]=g=>t.$emit("delete-plan",{storey:i.storey,plan:g}))},null,8,["storey"])])])}const Yni=K(Eni,[["render",Uni],["__scopeId","data-v-01ed9eef"]]),Fni={i18n:{messages:rd},components:{StoreyNode:Yni,StoreyPlans:Xee},props:{metaBuilding:{type:Object,required:!0},storeys:{type:Array,required:!0}},emits:["create","update","delete","add-plans","delete-plan"],setup(){return{isOpenAction:Xe(!1)}}},Qni={class:"storeys-tree"},Gni={class:"storeys-tree__root"},Hni={class:"storeys-tree__leafs"},Vni={class:"storeys-tree__tail"},Zni={key:0,class:"content"},Jni={key:1,class:"content"};function Wni(t,e,i,o,r,n){const s=z("BIMDataIconBuilding"),a=z("BIMDataTextbox"),l=z("StoreyNode"),c=z("BIMDataIconPlus"),u=z("BIMDataButton"),d=z("BIMDataIconClose"),h=Vi("click-away");return D(),Y("div",Qni,[m("div",Gni,[O(s,{size:"s",fill:"",color:"primary"}),O(a,{text:i.metaBuilding.name},null,8,["text"])]),m("div",Hni,[(D(!0),Y(Mt,null,ei(i.storeys,A=>(D(),se(l,{key:A.uuid,storey:A,onUpdate:e[0]||(e[0]=g=>t.$emit("update",g)),onDelete:e[1]||(e[1]=g=>t.$emit("delete",g)),onAddPlans:e[2]||(e[2]=g=>t.$emit("add-plans",g)),onDeletePlan:e[3]||(e[3]=g=>t.$emit("delete-plan",g))},null,8,["storey"]))),128))]),St((D(),Y("div",Vni,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.isOpenAction?(D(),Y("div",Jni,[O(u,{width:"23px",height:"23px",color:"high",fill:"",radius:"",icon:"",onClick:e[5]||(e[5]=A=>o.isOpenAction=!1)},{default:W(()=>[O(d,{customSize:9})]),_:1}),O(u,{width:"100px",fill:"",radius:"",onClick:e[6]||(e[6]=A=>t.$emit("create"))},{default:W(()=>[At(" + "+re(t.$t("BuildingMaker.storeys.addStoreyButton")),1)]),_:1})])):(D(),Y("div",Zni,[O(u,{width:"23px",height:"23px",color:"primary",fill:"",radius:"",icon:"",onClick:e[4]||(e[4]=A=>o.isOpenAction=!0)},{default:W(()=>[O(c,{customSize:9})]),_:1})]))]),_:1})])),[[h,()=>o.isOpenAction=!1]])])}const Kni=K(Fni,[["render",Wni],["__scopeId","data-v-1ac72e2c"]]),qni={i18n:{messages:rd},components:{StoreyForm:Nni,StoreysTree:Kni},props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},metaBuilding:{type:Object,required:!0}},emits:["close"],setup(t){const e=Xe(""),i=Xe(""),o=Gt("service"),r=Gt("loading"),n=Xe(!1),s=Xe(!1),a=Xe([]),l=Xe(null),c=Xe([]),u=async()=>{try{r.value=!0,a.value=await o.fetchStoreys(t.metaBuilding)}finally{r.value=!1}},d=async L=>{await o.createStorey(t.metaBuilding,L),u()},h=async L=>{await o.updateStorey(t.metaBuilding,L),u()},A=async L=>{await o.deleteStorey(t.metaBuilding,L),u()},g=L=>{l.value=L,s.value=!0},p=()=>{l.value=null,s.value=!1},M=L=>{e.value=t.apiClient.config.configuration.basePath,i.value=t.apiClient.accessToken,l.value=L,n.value=!0},f=async()=>{let L=[],v=[];for(const{document:C,pdfPage:b}of c.value)b?v.push(b):L.push(C);const I=(await o.createPlanModels(L)).concat(v);await o.createStoreyPlans(t.metaBuilding,l.value,I),u(),c.value=[],l.value=null,n.value=!1},w=async({storey:L,plan:v})=>{await o.deleteStoreyPlan(t.metaBuilding,L,v),u()};return Ao(()=>{u()}),{accessToken:i,apiUrl:e,currentStorey:l,isOpenDMS:n,isOpenForm:s,PLAN_FILE_EXTENSIONS:yni,selectedFiles:c,storeys:a,createStorey:d,closeFileManager:f,closeForm:p,deleteStorey:A,deleteStoreyPlan:w,openFileManager:M,openForm:g,updateStorey:h}}},Xni={class:"building-storeys"},_ni={key:0,class:"content"},$ni={key:1,class:"content"},eai={class:"building-storeys__tree"};function tai(t,e,i,o,r,n){const s=z("BIMDataFileManager"),a=z("BIMDataButton"),l=z("StoreysTree"),c=z("StoreyForm");return D(),Y("div",Xni,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.isOpenDMS&&o.apiUrl&&o.accessToken&&o.currentStorey?(D(),Y("div",_ni,[O(s,{class:"building-storeys__dms",spaceId:i.space.id,projectId:i.project.id,apiUrl:o.apiUrl,archiveUrl:"",accessToken:o.accessToken,locale:t.$i18n.locale,select:!0,pdfPageSelect:!0,multi:!0,headerButtons:!1,selectableFileTypes:o.PLAN_FILE_EXTENSIONS,onSelectionChange:e[0]||(e[0]=u=>o.selectedFiles=u)},null,8,["spaceId","projectId","apiUrl","accessToken","locale","selectableFileTypes"]),O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:o.closeFileManager},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.submitFilesButton")),1)]),_:1},8,["onClick"])])):(D(),Y("div",$ni,[m("div",eai,[O(l,{metaBuilding:i.metaBuilding,storeys:o.storeys,onCreate:o.openForm,onUpdate:o.openForm,onDelete:o.deleteStorey,onAddPlans:o.openFileManager,onDeletePlan:o.deleteStoreyPlan},null,8,["metaBuilding","storeys","onCreate","onUpdate","onDelete","onAddPlans","onDeletePlan"])]),O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:e[1]||(e[1]=u=>t.$emit("close"))},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.closeButton")),1)]),_:1}),O(oo,{name:"fade"},{default:W(()=>[o.isOpenForm?(D(),se(c,{key:0,class:"building-storeys__form",storey:o.currentStorey,onCreateStorey:o.createStorey,onUpdateStorey:o.updateStorey,onClose:o.closeForm},null,8,["storey","onCreateStorey","onUpdateStorey","onClose"])):ve("",!0)]),_:1})]))]),_:1})])}const iai=K(qni,[["render",tai],["__scopeId","data-v-9339d3e8"]]),m4=Object.freeze({FORM:"form",LIST:"list",STOREYS:"storeys"}),oai={i18n:{messages:rd},components:{BuildingForm:ani,BuildingsList:mni,BuildingStoreys:iai},props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null}},emits:["metaBuilding-created","metaBuilding-updated","metaBuilding-deleted"],setup(t,{emit:e}){const i=$si(t.apiClient,t.space,t.project),o=Xe(!1);fn("service",i),fn("loading",o);const r=Xe(m4.LIST),n=Xe([]),s=Xe(null),a=async()=>{o.value=!0,n.value=await i.fetchMetaBuildings(),o.value=!1},l=async g=>{await i.deleteMetaBuilding(g),a(),e("metaBuilding-deleted")},c=g=>{s.value=g||null,r.value=m4.FORM},u=g=>{s.value=g,r.value=m4.STOREYS},d=async g=>{await a(),u(g),e("metaBuilding-created")},h=()=>{a(),r.value=m4.LIST,e("metaBuilding-updated")},A=()=>{r.value=m4.LIST};return Ao(()=>{a(),t.model&&u(t.model)}),{currentMetaBuilding:s,currentView:r,icon:zj,loading:o,metaBuildings:n,VIEWS:m4,back:A,deleteMetaBuilding:l,loadMetaBuildings:a,onMetaBuildingCreated:d,onMetaBuildingUpdated:h,openForm:c,openStoreys:u}}},rai={class:"bimdata-building-maker"},sai=["src"],nai={class:"bimdata-building-maker__body"},aai={class:"bimdata-building-maker__loader"};function lai(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BuildingForm"),c=z("BuildingStoreys"),u=z("BuildingsList"),d=z("BIMDataSpinner");return D(),Y("div",rai,[m("div",{class:"bimdata-building-maker__header",style:Ie({visibility:o.currentView===o.VIEWS.LIST?"hidden":"visible"})},[O(a,{class:"bimdata-building-maker__header__btn-back",ghost:"",radius:"",disabled:o.loading.value,onClick:o.back},{default:W(()=>[O(s,{size:"xxs",margin:"0 6px 0 0"}),m("span",null,re(t.$t("BuildingMaker.back")),1)]),_:1},8,["disabled","onClick"]),m("img",{src:o.icon},null,8,sai),m("span",null,re(t.$t("BuildingMaker.title")),1)],4),m("div",nai,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.currentView===o.VIEWS.FORM?(D(),se(l,{key:0,metaBuilding:o.currentMetaBuilding,onMetaBuildingCreated:o.onMetaBuildingCreated,onMetaBuildingUpdated:o.onMetaBuildingUpdated},null,8,["metaBuilding","onMetaBuildingCreated","onMetaBuildingUpdated"])):o.currentView===o.VIEWS.STOREYS&&o.currentMetaBuilding?(D(),se(c,{key:1,apiClient:i.apiClient,space:i.space,project:i.project,metaBuilding:o.currentMetaBuilding,onClose:o.back},null,8,["apiClient","space","project","metaBuilding","onClose"])):(D(),se(u,{key:2,metaBuildings:o.metaBuildings,onCreateMetaBuilding:o.openForm,onUpdateMetaBuilding:o.openForm,onDeleteMetaBuilding:o.deleteMetaBuilding,onManageStoreys:o.openStoreys},null,8,["metaBuildings","onCreateMetaBuilding","onUpdateMetaBuilding","onDeleteMetaBuilding","onManageStoreys"]))]),_:1})]),O(oo,{name:"fade"},{default:W(()=>[St(m("div",aai,[O(d)],512),[[Mi,o.loading.value]])]),_:1})])}const _ee=K(oai,[["render",lai],["__scopeId","data-v-cc564283"]]),cai={setup(){const t=Gt("$viewer"),{apiClient:e,cloudId:i,projectId:o}=t.api;return()=>Zi(_ee,{apiClient:e,space:{id:i},project:{id:o}})}},uai={name:"buildingMaker",component:cai,window:{name:"buildingMaker",label:"Building Maker",noModel:!0,icon:{imgUri:zj}}},dai={components:{BIMDataNumericalInput:XW},setup(){const t=Gt("$viewer"),e=Gt("root"),i=Gt("close"),o=vt(()=>e.editedBitmap?e.editedBitmap:{x:0,y:0,scale:0,angle:0,opacity:0}),r=hai(o);return{root:e,bitmap:o,...r,submit:async()=>{try{e.loading=!0,await Promise.all(e.bitmaps.filter(n=>n.edited).map(async n=>{const{x:s,y:a,scale:l,angle:c,opacity:u,plan:d}=n;Object.assign(d,{translation_x:s,translation_y:a,scale:l,rotate_z:c,opacity:u}),await t.state.updatePlan(d),n.edited=!1}))}catch(n){console.error(n)}finally{e.loading=!1,i()}}}}};function hai(t){const e={};return Object.entries({x:i=>i,y:i=>i,scale:i=>i,angle:i=>i<0||i>360?(i%360+360)%360:i,opacity:i=>i<0?0:i>1?1:i}).forEach(([i,o])=>{e[i]=vt({get:()=>t.value[i],set:r=>t.value[i]=o(r)})}),e}const Aai={class:"synchronization__page__edit"},pai={class:"synchronization__page__edit__content"},gai={class:"synchronization__page__edit__content__unit-group"},Mai={class:"synchronization__page__edit__content__unit-group__element"},fai={class:"synchronization__page__edit__content__unit-group__element"},wai={class:"synchronization__page__edit__content__unit-group__element"},Lai={class:"synchronization__page__edit__content__unit"},mai={class:"synchronization__page__edit__content__unit"},yai={class:"synchronization__page__edit__content__img"},vai=["src"],Cai={class:"synchronization__page__edit__validate"};function Iai(t,e,i,o,r,n){const s=z("BIMDataNumericalInput"),a=z("BIMDataSlider"),l=z("BIMDataTextbox"),c=z("BIMDataButton");return D(),Y("div",Aai,[m("div",pai,[m("section",null,[m("span",null,re(t.$t("synchronization.location")),1),m("div",gai,[m("div",Mai,[O(s,{modelValue:t.x,"onUpdate:modelValue":e[0]||(e[0]=u=>t.x=u),label:"X",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),m("div",fai,[O(s,{modelValue:t.y,"onUpdate:modelValue":e[1]||(e[1]=u=>t.y=u),label:"Y",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),m("div",wai,[O(s,{modelValue:t.scale,"onUpdate:modelValue":e[2]||(e[2]=u=>t.scale=u),label:t.$t("synchronization.scale"),step:.01,min:.01,container:t.$viewer.localContext.el},null,8,["modelValue","label","container"])])])]),m("section",null,[m("span",null,re(t.$t("synchronization.rotation")),1),m("div",Lai,[O(s,{modelValue:t.angle,"onUpdate:modelValue":e[3]||(e[3]=u=>t.angle=u),unit:"\xB0",centered:""},null,8,["modelValue"]),O(a,{modelValue:t.angle,"onUpdate:modelValue":e[4]||(e[4]=u=>t.angle=u),min:0,max:360},null,8,["modelValue"])])]),m("section",null,[m("span",null,re(t.$t("synchronization.alpha")),1),m("div",mai,[O(s,{modelValue:t.opacity,"onUpdate:modelValue":e[5]||(e[5]=u=>t.opacity=u),centered:""},null,8,["modelValue"]),O(a,{modelValue:t.opacity,"onUpdate:modelValue":e[6]||(e[6]=u=>t.opacity=u),min:0,max:1,step:.01},null,8,["modelValue"])])]),m("section",null,[m("span",null,re(t.$t("synchronization.preview")),1),m("div",yai,[m("img",{src:o.bitmap.dataUrl,alt:"Background"},null,8,vai),O(l,{text:o.bitmap.name,class:"synchronization__page__edit__content__img__name"},null,8,["text"])])])]),m("div",Cai,[O(c,{width:"100%",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(o.bitmap&&o.bitmap.plan?t.$t("global.save"):t.$t("global.validate")),1)]),_:1},8,["onClick"])])])}const jai=K(dai,[["render",Iai],["__scopeId","data-v-6e4accff"]]),bai={name:"BimdataSynchronization",components:{edit:jai},setup(){const{localContext:t}=Gt("$viewer"),e=Gt("$plugin");let i=t.pluginComponentInstances.get("plan");if(!i)throw new Error("[Synchronization] plugin cannot work without viewerPlan plugin with 2d engine on.");i=vu(i),fn("viewerPlan",i),Cu(()=>{i.bitmaps.length>1&&!e.shown&&e.show(),i.bitmaps.length<=1&&e.shown&&e.hide()}),ai(()=>e.shown,h=>{h&&i.bitmaps<=1&&e.hide()});const o=gn({page:"edit",loading:!1,modalDisplayed:!1,model:null,storeys:[],selectedStorey:null,plans:[],bitmaps:[],editedBitmap:null});fn("root",o);const r=()=>{o.bitmaps.map(h=>(h.edit(!1),h)).filter(h=>h.edited).forEach(h=>h.reset()),o.modalDisplayed=!1,i.storeyRightOffset=0,t.showUI(),document.removeEventListener("keydown",c),o.editedBitmap=null,o.bitmaps=[]},n=()=>{r(),e.close()};fn("close",n);const s=()=>{o.bitmaps.some(h=>h.edited)?o.modalDisplayed=!0:n()},a=()=>{n()},l=h=>{o.editedBitmap=h},c=h=>{o.loading||h.key==="Escape"&&(h.preventDefault(),o.modalDisplayed?o.modalDisplayed=!1:n())},u=t.hub.on("model-loaded",({model:h})=>{o.model=h,o.storeys=h.storeys,o.plans=h.storeys.flatMap(A=>A.plans)},{getLastEvent:!0}),d=t.hub.on("storey-selected",({storey:h})=>{o.selectedStorey=h,(!h||h.plans.length<2)&&n()},{getLastEvent:!0});return Eo(()=>{t.hub.off(u),t.hub.off(d)}),ai(()=>o.editedBitmap,(h,A)=>{A?.edit(!1),h?.edit(!0)},{immediate:!0}),{viewerPlan:i,root:o,onBitmapClick:l,onCloseClick:s,onLeaveClick:a,onKeyDown:c,clean:r}},async onOpen(){var t;this.$viewer.localContext.pluginComponentInstances.forEach(e=>{var i;e!==this&&((i=e.$close)==null||i.call(e))}),this.viewerPlan.storeyRightOffset=380,await this.$viewer.localContext.hideUI({exceptions:[this.$plugin.name]}),document.addEventListener("keydown",this.onKeyDown),this.root.bitmaps=Array.from(this.viewerPlan.bitmaps),this.root.editedBitmap=this.root.bitmaps[0],this.root.bitmaps.filter(e=>!e.visible).forEach(e=>{this.$viewer.localContext.showPlan(e.plan),e.show()}),(t=this.viewerPlan.$refs.storeySelector)==null||t.focus()},onClose(){this.clean()}},xai={class:"bimdata-synchronization"},Nai={class:"bimdata-synchronization__header"},Dai={class:"bimdata-synchronization__header__top"},Sai={class:"bimdata-synchronization__header__top__title"},Tai={class:"bimdata-synchronization__header__top__title__text"},kai={class:"bimdata-synchronization__header__select__header"},Eai={class:"bimdata-info-length bimdata-synchronization__header__select__header__length"},zai={class:"bimdata-synchronization__page"},Pai={key:1,class:"bimdata-synchronization__modal"},Bai={class:"bimdata-synchronization__modal__content"},Oai={class:"bimdata-synchronization__modal__content__symbols"},Rai={class:"bimdata-synchronization__modal__content__buttons"};function Uai(t,e,i,o,r,n){const s=z("BIMDataLoading"),a=z("BIMDataIconSynchro2D"),l=z("BIMDataIconClose"),c=z("BIMDataButton"),u=z("BIMDataTextbox"),d=z("BIMDataDropdownList"),h=z("BIMDataIconWarning");return D(),Y("div",xai,[o.root.loading?(D(),se(s,{key:0})):ve("",!0),m("div",Nai,[m("div",Dai,[m("div",Sai,[O(a,{size:"xs",fill:"",color:"primary"}),m("span",Tai,re(t.$t("synchronization.title")),1)]),O(c,{class:"bimdata-synchronization__header__top__close",width:"25px",height:"25px",ghost:"",radius:"",icon:"",onClick:o.onCloseClick},{default:W(()=>[O(l,{size:"xs",fill:"",color:"granite-light"})]),_:1},8,["onClick"])]),m("div",null,[O(d,{width:"100%",list:o.root.bitmaps,"element-key":"id","per-page":30,"close-on-element-click":!0,class:"bimdata-synchronization__header__select",onElementClick:o.onBitmapClick},{header:W(()=>{var A;return[m("div",kai,[m("div",Eai,[m("span",null,re(o.root.bitmaps.length),1)]),m("div",null,[O(u,{width:"265px",text:(A=o.root.editedBitmap)==null?void 0:A.name},null,8,["text"])])])]}),element:W(({element:A})=>[m("div",{class:be(["bimdata-synchronization__header__select__element",{"bimdata-synchronization__header__select__element--selected":A===o.root.editedBitmap}])},re(A.name),3)]),_:1},8,["list","onElementClick"])])]),m("div",zai,[(D(),se(NC,null,[(D(),se(Ls(o.root.page)))],1024))]),o.root.modalDisplayed?(D(),Y("div",Pai,[m("div",Bai,[m("div",Oai,[O(h,{fill:"",color:"high",size:"l"}),m("div",null,re(t.$t("synchronization.warning")),1)]),m("div",Rai,[O(c,{width:"45%",color:"high",fill:"",radius:"",onClick:o.onLeaveClick},{default:W(()=>[At(re(t.$t("synchronization.leave")),1)]),_:1},8,["onClick"]),O(c,{width:"45%",color:"default",outline:"",radius:"",onClick:e[0]||(e[0]=A=>o.root.modalDisplayed=!1)},{default:W(()=>[At(re(t.$t("synchronization.stay")),1)]),_:1})])])])):ve("",!0)])}const Yai=K(bai,[["render",Uai],["__scopeId","data-v-99651cb1"]]),Fai="2D-Synchronisierung",Qai="2D-Synchronisierung",Gai="Beginnen",Hai="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Vai="Eine Etage ausw\xE4hlen",Zai="Eine Datei importieren",Jai="Position",Wai="Skala",Kai="Rotation",qai="Undurchsichtigkeit",Xai="\xDCbersicht",_ai="Von der EDM des Projekts aus",$ai="Von Ihrem Computer aus",eli="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC und eine Etage aus.",tli="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC aus.",ili="M\xF6chten Sie diese Seite wirklich verlassen? Sie enth\xE4lt m\xF6glicherweise Informationen, die nicht best\xE4tigt sind.",oli="Ja, diese Seite verlassen",rli="Abbrechen, hierbleiben",sli={tooltip:Fai,title:Qai,start:Gai,description:Hai,select_storey:Vai,import_file:Zai,location:Jai,scale:Wai,rotation:Kai,alpha:qai,preview:Xai,import:"Ein Element importieren",from_ged:_ai,from_computer:$ai,no_storey:eli,no_ifc:tli,new:"Neu",warning:ili,leave:oli,stay:rli},nli="2D Synchronization",ali="2D Synchronization",lli="Start",cli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",uli="Select a floor",dli="Import a file",hli="Position",Ali="Scale",pli="Rotation",gli="Opacity",Mli="Preview",fli="From the project's EDM",wli="From your computer",Lli="To add a background, please select an IFC and a floor.",mli="To add a background, please select an IFC.",yli="Are you sure you want to leave this page? There may be some informations that are not validated.",vli="Yes, leave this page",Cli="Cancel, stay here",Ili={tooltip:nli,title:ali,start:lli,description:cli,select_storey:uli,import_file:dli,location:hli,scale:Ali,rotation:pli,alpha:gli,preview:Mli,import:"Import an element",from_ged:fli,from_computer:wli,no_storey:Lli,no_ifc:mli,new:"New",warning:yli,leave:vli,stay:Cli},jli="Sincronizaci\xF3n 2D",bli="Sincronizaci\xF3n 2D",xli="Comenzar",Nli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Dli="Seleccionar una planta",Sli="Importar un fichero",Tli="Posici\xF3n",kli="Escala",Eli="Rotaci\xF3n",zli="Opacidad",Pli="Vista r\xE1pida",Bli="Desde el GED del proyecto",Oli="Desde su ordenador",Rli="Para agregar un fondo seleccione un IFC y una planta.",Uli="Para agregar un fondo seleccione un IFC.",Yli="\xBFEsta usted seguro de que quiere abandonar esta p\xE1gina? Puede haber informaciones no validadas.",Fli="S\xED, abandonar la p\xE1gina",Qli="Cancelar, permanecer aqu\xED",Gli={tooltip:jli,title:bli,start:xli,description:Nli,select_storey:Dli,import_file:Sli,location:Tli,scale:kli,rotation:Eli,alpha:zli,preview:Pli,import:"Importar un elemento",from_ged:Bli,from_computer:Oli,no_storey:Rli,no_ifc:Uli,new:"Nuevo",warning:Yli,leave:Fli,stay:Qli},Hli="Synchronisation 2D",Vli="Synchronisation 2D",Zli="Commencer",Jli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Wli="S\xE9lectionner un \xE9tage",Kli="Importer un fichier",qli="Position",Xli="Echelle",_li="Rotation",$li="Opacit\xE9",eci="Aper\xE7u",tci="Depuis la GED du projet",ici="Depuis votre ordinateur",oci="Pour ajouter un fond, veuillez selectionner un IFC et un \xE9tage.",rci="Pour ajouter un fond, veuillez selectionner un IFC.",sci="\xCAtes-vous s\xFBr de vouloir quitter cette page ? Il y'a peut-\xEAtre des informations non valid\xE9es.",nci="Oui, quitter cette page",aci="Annuler, rester ici",lci={tooltip:Hli,title:Vli,start:Zli,description:Jli,select_storey:Wli,import_file:Kli,location:qli,scale:Xli,rotation:_li,alpha:$li,preview:eci,import:"Importer un \xE9l\xE9ment",from_ged:tci,from_computer:ici,no_storey:oci,no_ifc:rci,new:"Nouveau",warning:sci,leave:nci,stay:aci},cci="Sincronizzazione 2D",uci="Sincronizzazione 2D",dci="Iniziare",hci="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Aci="Selezionare un piano",pci="Importare un file",gci="Posizione",Mci="Scala",fci="Rotazione",wci="Opacit\xE0",Lci="Anteprima",mci="Dal cassetto informatico del progetto",yci="Dal computer",vci="Per aggiungere uno sfondo, selezionare un file IFC e un piano.",Cci="Per aggiungere uno sfondo, selezionare un file IFC.",Ici="Si \xE8 sicuri di voler lasciare questa pagina? \xC8 possibile che alcune informazioni non siano state ancora convalidate.",jci="S\xEC, uscire da questa pagina",bci="Annulla, rimanere a questa pagina",xci={tooltip:cci,title:uci,start:dci,description:hci,select_storey:Aci,import_file:pci,location:gci,scale:Mci,rotation:fci,alpha:wci,preview:Lci,import:"Importare un elemento",from_ged:mci,from_computer:yci,no_storey:vci,no_ifc:Cci,new:"Nuovo",warning:Ici,leave:jci,stay:bci},Nci="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41MjM0NCIgeT0iNC4yNTQ4OCIgd2lkdGg9IjE2LjEwMzkiIGhlaWdodD0iMjEuNzc0NCIgc3Ryb2tlPSIjMkYzNzRBIi8+CjxyZWN0IHg9IjMuMTI2NDYiIHk9IjEzLjAyNjEiIHdpZHRoPSIxNCIgaGVpZ2h0PSIyMC4wNDMiIHRyYW5zZm9ybT0icm90YXRlKC00NSAzLjEyNjQ2IDEzLjAyNjEpIiBmaWxsPSIjMkYzNzRBIi8+CjxtYXNrIGlkPSJwYXRoLTMtb3V0c2lkZS0xXzE4MzhfNTMxIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSItMC40MTQyMTQiIHk9Ii0wLjQxNDIxNiIgd2lkdGg9IjMxLjExMjciIGhlaWdodD0iMzEuMTEyNyIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iLTAuNDE0MjE0IiB5PSItMC40MTQyMTYiIHdpZHRoPSIzMS4xMTI3IiBoZWlnaHQ9IjMxLjExMjciLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjQxNDIxIDEzLjAyMDhMNC4zNTg3NiAxNC45NjU0TDUuMDY1ODYgMTQuMjU4MkwzLjgyODQzIDEzLjAyMDhMNS4xNTQyNSAxMS42OTVMNC40NDcxNSAxMC45ODc5TDIuNDE0MjEgMTMuMDIwOFpNNS42ODQ1OCA5Ljc1MDQ0TDYuMzkxNjkgMTAuNDU3NkwxMC40NTc2IDYuMzkxNjlMOS43NTA0NSA1LjY4NDU4TDUuNjg0NTggOS43NTA0NFpNMTAuOTg3OSA0LjQ0NzE0TDExLjY5NSA1LjE1NDI1TDEzLjAyMDggMy44Mjg0MkwxNC4yNTgzIDUuMDY1ODZMMTQuOTY1NCA0LjM1ODc1TDEzLjAyMDggMi40MTQyMUwxMC45ODc5IDQuNDQ3MTRaTTE2LjAyNiA1LjQxOTQyTDE1LjMxODkgNi4xMjY1MkwxOS4yMDggMTAuMDE1NkwxOS45MTUxIDkuMzA4NUwxNi4wMjYgNS40MTk0MlpNMjAuOTc1OCAxMC4zNjkyTDIwLjI2ODcgMTEuMDc2M0wyNC4xNTc3IDE0Ljk2NTRMMjQuODY0OSAxNC4yNTgyTDIwLjk3NTggMTAuMzY5MlpNMjUuOTI1NSAxNS4zMTg5TDI1LjIxODQgMTYuMDI2TDI2LjQ1NTggMTcuMjYzNUwyNS4xMyAxOC41ODkzTDI1LjgzNzEgMTkuMjk2NEwyNy44NzAxIDE3LjI2MzVMMjUuOTI1NSAxNS4zMTg5Wk0yNC41OTk3IDIwLjUzMzhMMjMuODkyNiAxOS44MjY3TDE5LjgyNjcgMjMuODkyNkwyMC41MzM4IDI0LjU5OTdMMjQuNTk5NyAyMC41MzM4Wk0xOS4yOTY0IDI1LjgzNzFMMTguNTg5MyAyNS4xM0wxNy4yNjM1IDI2LjQ1NThMMTYuMDI2IDI1LjIxODRMMTUuMzE4OSAyNS45MjU1TDE3LjI2MzUgMjcuODcwMUwxOS4yOTY0IDI1LjgzNzFaTTE0LjI1ODMgMjQuODY0OUwxNC45NjU0IDI0LjE1NzdMMTEuMDc2MyAyMC4yNjg3TDEwLjM2OTIgMjAuOTc1OEwxNC4yNTgzIDI0Ljg2NDlaTTkuMzA4NSAxOS45MTUxTDEwLjAxNTYgMTkuMjA4TDYuMTI2NTIgMTUuMzE4OUw1LjQxOTQyIDE2LjAyNkw5LjMwODUgMTkuOTE1MVoiLz4KPHBhdGggZD0iTTEgMTMuMDIwOEwzLjEyMTMyIDEwLjg5OTVMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUwxIDEzLjAyMDhaIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy4xMjEzMiAxMi4zMTM3TDIuNDE0MjEgMTMuMDIwOEwzLjEyMTMyIDEzLjcyNzlMMy44Mjg0MyAxMy4wMjA4TDMuMTIxMzIgMTIuMzEzN1pNMSAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUw1LjI0MjY0IDEzLjAyMDhMMy4xMjEzMiAxMC44OTk1TDEgMTMuMDIwOFoiLz4KPHBhdGggZD0iTTEwLjg5OTUgMy4xMjEzMkwxMy4wMjA4IDAuOTk5OTk4TDE1LjE0MjEgMy4xMjEzMkwxMy4wMjA4IDUuMjQyNjRMMTAuODk5NSAzLjEyMTMyWiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjAyMDggMi40MTQyMUwxMi4zMTM3IDMuMTIxMzJMMTMuMDIwOCAzLjgyODQyTDEzLjcyNzkgMy4xMjEzMkwxMy4wMjA4IDIuNDE0MjFaTTEwLjg5OTUgMy4xMjEzMkwxMy4wMjA4IDUuMjQyNjRMMTUuMTQyMSAzLjEyMTMyTDEzLjAyMDggMC45OTk5OThMMTAuODk5NSAzLjEyMTMyWiIvPgo8cGF0aCBkPSJNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxNS4xNDIxTDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTkuMzg0OEwyNS4wNDE2IDE3LjI2MzVaIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3LjE2MyAxNy45NzA2TDI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M1pNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTUuMTQyMUwyNS4wNDE2IDE3LjI2MzVaIi8+CjxwYXRoIGQ9Ik0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyNS4wNDE2TDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTUuMTQyMSAyNy4xNjI5WiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3LjI2MzUgMjYuNDU1OEwxNi41NTYzIDI3LjE2MjlMMTcuMjYzNSAyNy44NzAxTDE3Ljk3MDYgMjcuMTYyOUwxNy4yNjM1IDI2LjQ1NThaTTE1LjE0MjEgMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTkuMzg0OCAyNy4xNjI5TDE3LjI2MzUgMjUuMDQxNkwxNS4xNDIxIDI3LjE2MjlaIi8+CjwvbWFzaz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjQxNDIxIDEzLjAyMDhMNC4zNTg3NiAxNC45NjU0TDUuMDY1ODYgMTQuMjU4MkwzLjgyODQzIDEzLjAyMDhMNS4xNTQyNSAxMS42OTVMNC40NDcxNSAxMC45ODc5TDIuNDE0MjEgMTMuMDIwOFpNNS42ODQ1OCA5Ljc1MDQ0TDYuMzkxNjkgMTAuNDU3NkwxMC40NTc2IDYuMzkxNjlMOS43NTA0NSA1LjY4NDU4TDUuNjg0NTggOS43NTA0NFpNMTAuOTg3OSA0LjQ0NzE0TDExLjY5NSA1LjE1NDI1TDEzLjAyMDggMy44Mjg0MkwxNC4yNTgzIDUuMDY1ODZMMTQuOTY1NCA0LjM1ODc1TDEzLjAyMDggMi40MTQyMUwxMC45ODc5IDQuNDQ3MTRaTTE2LjAyNiA1LjQxOTQyTDE1LjMxODkgNi4xMjY1MkwxOS4yMDggMTAuMDE1NkwxOS45MTUxIDkuMzA4NUwxNi4wMjYgNS40MTk0MlpNMjAuOTc1OCAxMC4zNjkyTDIwLjI2ODcgMTEuMDc2M0wyNC4xNTc3IDE0Ljk2NTRMMjQuODY0OSAxNC4yNTgyTDIwLjk3NTggMTAuMzY5MlpNMjUuOTI1NSAxNS4zMTg5TDI1LjIxODQgMTYuMDI2TDI2LjQ1NTggMTcuMjYzNUwyNS4xMyAxOC41ODkzTDI1LjgzNzEgMTkuMjk2NEwyNy44NzAxIDE3LjI2MzVMMjUuOTI1NSAxNS4zMTg5Wk0yNC41OTk3IDIwLjUzMzhMMjMuODkyNiAxOS44MjY3TDE5LjgyNjcgMjMuODkyNkwyMC41MzM4IDI0LjU5OTdMMjQuNTk5NyAyMC41MzM4Wk0xOS4yOTY0IDI1LjgzNzFMMTguNTg5MyAyNS4xM0wxNy4yNjM1IDI2LjQ1NThMMTYuMDI2IDI1LjIxODRMMTUuMzE4OSAyNS45MjU1TDE3LjI2MzUgMjcuODcwMUwxOS4yOTY0IDI1LjgzNzFaTTE0LjI1ODMgMjQuODY0OUwxNC45NjU0IDI0LjE1NzdMMTEuMDc2MyAyMC4yNjg3TDEwLjM2OTIgMjAuOTc1OEwxNC4yNTgzIDI0Ljg2NDlaTTkuMzA4NSAxOS45MTUxTDEwLjAxNTYgMTkuMjA4TDYuMTI2NTIgMTUuMzE4OUw1LjQxOTQyIDE2LjAyNkw5LjMwODUgMTkuOTE1MVoiIGZpbGw9IiMyRjM3NEEiLz4KPHBhdGggZD0iTTEgMTMuMDIwOEwzLjEyMTMyIDEwLjg5OTVMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUwxIDEzLjAyMDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuMTIxMzIgMTIuMzEzN0wyLjQxNDIxIDEzLjAyMDhMMy4xMjEzMiAxMy43Mjc5TDMuODI4NDMgMTMuMDIwOEwzLjEyMTMyIDEyLjMxMzdaTTEgMTMuMDIwOEwzLjEyMTMyIDE1LjE0MjFMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTAuODk5NUwxIDEzLjAyMDhaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0xMC44OTk1IDMuMTIxMzJMMTMuMDIwOCAwLjk5OTk5OEwxNS4xNDIxIDMuMTIxMzJMMTMuMDIwOCA1LjI0MjY0TDEwLjg5OTUgMy4xMjEzMloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuMDIwOCAyLjQxNDIxTDEyLjMxMzcgMy4xMjEzMkwxMy4wMjA4IDMuODI4NDJMMTMuNzI3OSAzLjEyMTMyTDEzLjAyMDggMi40MTQyMVpNMTAuODk5NSAzLjEyMTMyTDEzLjAyMDggNS4yNDI2NEwxNS4xNDIxIDMuMTIxMzJMMTMuMDIwOCAwLjk5OTk5OEwxMC44OTk1IDMuMTIxMzJaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0yNS4wNDE2IDE3LjI2MzVMMjcuMTYzIDE1LjE0MjFMMjkuMjg0MyAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI1LjA0MTYgMTcuMjYzNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3LjE2MyAxNy45NzA2TDI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M1pNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTUuMTQyMUwyNS4wNDE2IDE3LjI2MzVaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyNS4wNDE2TDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTUuMTQyMSAyNy4xNjI5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNy4yNjM1IDI2LjQ1NThMMTYuNTU2MyAyNy4xNjI5TDE3LjI2MzUgMjcuODcwMUwxNy45NzA2IDI3LjE2MjlMMTcuMjYzNSAyNi40NTU4Wk0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyOS4yODQzTDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI1LjA0MTZMMTUuMTQyMSAyNy4xNjI5WiIgZmlsbD0iIzJGMzc0QSIvPgo8cGF0aCBkPSJNMSAxMy4wMjA4TDAuNjQ2NDQ3IDEyLjY2NzNMMC4yOTI4OTMgMTMuMDIwOEwwLjY0NjQ0NyAxMy4zNzQ0TDEgMTMuMDIwOFpNMy4xMjEzMiAxMC44OTk1TDMuNDc0ODcgMTAuNTQ1OUwzLjEyMTMyIDEwLjE5MjRMMi43Njc3NyAxMC41NDU5TDMuMTIxMzIgMTAuODk5NVpNNS4yNDI2NCAxMy4wMjA4TDUuNTk2MTkgMTMuMzc0NEw1Ljk0OTc1IDEzLjAyMDhMNS41OTYxOSAxMi42NjczTDUuMjQyNjQgMTMuMDIwOFpNMy4xMjEzMiAxNS4xNDIxTDIuNzY3NzcgMTUuNDk1N0wzLjEyMTMyIDE1Ljg0OTJMMy40NzQ4NyAxNS40OTU3TDMuMTIxMzIgMTUuMTQyMVpNMTAuODk5NSAzLjEyMTMyTDEwLjU0NTkgMi43Njc3NkwxMC4xOTI0IDMuMTIxMzJMMTAuNTQ1OSAzLjQ3NDg3TDEwLjg5OTUgMy4xMjEzMlpNMTMuMDIwOCAwLjk5OTk5OEwxMy4zNzQ0IDAuNjQ2NDQ1TDEzLjAyMDggMC4yOTI4OTFMMTIuNjY3MyAwLjY0NjQ0NUwxMy4wMjA4IDAuOTk5OTk4Wk0xNS4xNDIxIDMuMTIxMzJMMTUuNDk1NyAzLjQ3NDg3TDE1Ljg0OTIgMy4xMjEzMkwxNS40OTU3IDIuNzY3NzZMMTUuMTQyMSAzLjEyMTMyWk0xMy4wMjA4IDUuMjQyNjRMMTIuNjY3MyA1LjU5NjE5TDEzLjAyMDggNS45NDk3NUwxMy4zNzQ0IDUuNTk2MTlMMTMuMDIwOCA1LjI0MjY0Wk0yNS4wNDE2IDE3LjI2MzVMMjQuNjg4MSAxNi45MDk5TDI0LjMzNDUgMTcuMjYzNUwyNC42ODgxIDE3LjYxN0wyNS4wNDE2IDE3LjI2MzVaTTI3LjE2MyAxNS4xNDIxTDI3LjUxNjUgMTQuNzg4NkwyNy4xNjMgMTQuNDM1TDI2LjgwOTQgMTQuNzg4NkwyNy4xNjMgMTUuMTQyMVpNMjkuMjg0MyAxNy4yNjM1TDI5LjYzNzggMTcuNjE3TDI5Ljk5MTQgMTcuMjYzNUwyOS42Mzc4IDE2LjkwOTlMMjkuMjg0MyAxNy4yNjM1Wk0yNy4xNjMgMTkuMzg0OEwyNi44MDk0IDE5LjczODNMMjcuMTYzIDIwLjA5MTlMMjcuNTE2NSAxOS43MzgzTDI3LjE2MyAxOS4zODQ4Wk0xNS4xNDIxIDI3LjE2MjlMMTQuNzg4NiAyNi44MDk0TDE0LjQzNSAyNy4xNjI5TDE0Ljc4ODYgMjcuNTE2NUwxNS4xNDIxIDI3LjE2MjlaTTE3LjI2MzUgMjUuMDQxNkwxNy42MTcgMjQuNjg4MUwxNy4yNjM1IDI0LjMzNDVMMTYuOTA5OSAyNC42ODgxTDE3LjI2MzUgMjUuMDQxNlpNMTkuMzg0OCAyNy4xNjI5TDE5LjczODMgMjcuNTE2NUwyMC4wOTE5IDI3LjE2MjlMMTkuNzM4MyAyNi44MDk0TDE5LjM4NDggMjcuMTYyOVpNMTcuMjYzNSAyOS4yODQzTDE2LjkwOTkgMjkuNjM3OEwxNy4yNjM1IDI5Ljk5MTRMMTcuNjE3IDI5LjYzNzhMMTcuMjYzNSAyOS4yODQzWk0xLjM1MzU1IDEzLjM3NDRMMy40NzQ4NyAxMS4yNTNMMi43Njc3NyAxMC41NDU5TDAuNjQ2NDQ3IDEyLjY2NzNMMS4zNTM1NSAxMy4zNzQ0Wk0yLjc2Nzc3IDExLjI1M0w0Ljg4OTA5IDEzLjM3NDRMNS41OTYxOSAxMi42NjczTDMuNDc0ODcgMTAuNTQ1OUwyLjc2Nzc3IDExLjI1M1pNNC44ODkwOSAxMi42NjczTDIuNzY3NzcgMTQuNzg4NkwzLjQ3NDg3IDE1LjQ5NTdMNS41OTYxOSAxMy4zNzQ0TDQuODg5MDkgMTIuNjY3M1pNMy40NzQ4NyAxNC43ODg2TDEuMzUzNTUgMTIuNjY3M0wwLjY0NjQ0NyAxMy4zNzQ0TDIuNzY3NzcgMTUuNDk1N0wzLjQ3NDg3IDE0Ljc4ODZaTTExLjI1MyAzLjQ3NDg3TDEzLjM3NDQgMS4zNTM1NUwxMi42NjczIDAuNjQ2NDQ1TDEwLjU0NTkgMi43Njc3NkwxMS4yNTMgMy40NzQ4N1pNMTIuNjY3MyAxLjM1MzU1TDE0Ljc4ODYgMy40NzQ4N0wxNS40OTU3IDIuNzY3NzZMMTMuMzc0NCAwLjY0NjQ0NUwxMi42NjczIDEuMzUzNTVaTTE0Ljc4ODYgMi43Njc3NkwxMi42NjczIDQuODg5MDlMMTMuMzc0NCA1LjU5NjE5TDE1LjQ5NTcgMy40NzQ4N0wxNC43ODg2IDIuNzY3NzZaTTEzLjM3NDQgNC44ODkwOUwxMS4yNTMgMi43Njc3NkwxMC41NDU5IDMuNDc0ODdMMTIuNjY3MyA1LjU5NjE5TDEzLjM3NDQgNC44ODkwOVpNMjUuMzk1MiAxNy42MTdMMjcuNTE2NSAxNS40OTU3TDI2LjgwOTQgMTQuNzg4NkwyNC42ODgxIDE2LjkwOTlMMjUuMzk1MiAxNy42MTdaTTI2LjgwOTQgMTUuNDk1N0wyOC45MzA3IDE3LjYxN0wyOS42Mzc4IDE2LjkwOTlMMjcuNTE2NSAxNC43ODg2TDI2LjgwOTQgMTUuNDk1N1pNMjguOTMwNyAxNi45MDk5TDI2LjgwOTQgMTkuMDMxMkwyNy41MTY1IDE5LjczODNMMjkuNjM3OCAxNy42MTdMMjguOTMwNyAxNi45MDk5Wk0yNy41MTY1IDE5LjAzMTJMMjUuMzk1MiAxNi45MDk5TDI0LjY4ODEgMTcuNjE3TDI2LjgwOTQgMTkuNzM4M0wyNy41MTY1IDE5LjAzMTJaTTE1LjQ5NTcgMjcuNTE2NUwxNy42MTcgMjUuMzk1MkwxNi45MDk5IDI0LjY4ODFMMTQuNzg4NiAyNi44MDk0TDE1LjQ5NTcgMjcuNTE2NVpNMTYuOTA5OSAyNS4zOTUyTDE5LjAzMTIgMjcuNTE2NUwxOS43MzgzIDI2LjgwOTRMMTcuNjE3IDI0LjY4ODFMMTYuOTA5OSAyNS4zOTUyWk0xOS4wMzEyIDI2LjgwOTRMMTYuOTA5OSAyOC45MzA3TDE3LjYxNyAyOS42Mzc4TDE5LjczODMgMjcuNTE2NUwxOS4wMzEyIDI2LjgwOTRaTTE3LjYxNyAyOC45MzA3TDE1LjQ5NTcgMjYuODA5NEwxNC43ODg2IDI3LjUxNjVMMTYuOTA5OSAyOS42Mzc4TDE3LjYxNyAyOC45MzA3Wk0yLjQxNDIxIDEzLjAyMDhMMS43MDcxMSAxMi4zMTM3TDEgMTMuMDIwOEwxLjcwNzExIDEzLjcyNzlMMi40MTQyMSAxMy4wMjA4Wk00LjM1ODc2IDE0Ljk2NTRMMy42NTE2NSAxNS42NzI1TDQuMzU4NzYgMTYuMzc5Nkw1LjA2NTg2IDE1LjY3MjVMNC4zNTg3NiAxNC45NjU0Wk01LjA2NTg2IDE0LjI1ODJMNS43NzI5NyAxNC45NjU0TDYuNDgwMDggMTQuMjU4Mkw1Ljc3Mjk3IDEzLjU1MTFMNS4wNjU4NiAxNC4yNTgyWk01LjE1NDI1IDExLjY5NUw1Ljg2MTM2IDEyLjQwMjFMNi41Njg0NyAxMS42OTVMNS44NjEzNiAxMC45ODc5TDUuMTU0MjUgMTEuNjk1Wk00LjQ0NzE1IDEwLjk4NzlMNS4xNTQyNSAxMC4yODA4TDQuNDQ3MTUgOS41NzM2N0wzLjc0MDA0IDEwLjI4MDhMNC40NDcxNSAxMC45ODc5Wk01LjY4NDU4IDkuNzUwNDRMNC45Nzc0OCA5LjA0MzM0TDQuMjcwMzcgOS43NTA0NEw0Ljk3NzQ4IDEwLjQ1NzZMNS42ODQ1OCA5Ljc1MDQ0Wk02LjM5MTY5IDEwLjQ1NzZMNS42ODQ1OCAxMS4xNjQ3TDYuMzkxNjkgMTEuODcxOEw3LjA5ODggMTEuMTY0N0w2LjM5MTY5IDEwLjQ1NzZaTTEwLjQ1NzYgNi4zOTE2OUwxMS4xNjQ3IDcuMDk4NzlMMTEuODcxOCA2LjM5MTY5TDExLjE2NDcgNS42ODQ1OEwxMC40NTc2IDYuMzkxNjlaTTkuNzUwNDUgNS42ODQ1OEwxMC40NTc2IDQuOTc3NDdMOS43NTA0NSA0LjI3MDM3TDkuMDQzMzQgNC45Nzc0N0w5Ljc1MDQ1IDUuNjg0NThaTTEwLjk4NzkgNC40NDcxNEwxMC4yODA4IDMuNzQwMDRMOS41NzM2NyA0LjQ0NzE0TDEwLjI4MDggNS4xNTQyNUwxMC45ODc5IDQuNDQ3MTRaTTExLjY5NSA1LjE1NDI1TDEwLjk4NzkgNS44NjEzNkwxMS42OTUgNi41Njg0NkwxMi40MDIxIDUuODYxMzZMMTEuNjk1IDUuMTU0MjVaTTE0LjI1ODMgNS4wNjU4NkwxMy41NTExIDUuNzcyOTdMMTQuMjU4MyA2LjQ4MDA4TDE0Ljk2NTQgNS43NzI5N0wxNC4yNTgzIDUuMDY1ODZaTTE0Ljk2NTQgNC4zNTg3NUwxNS42NzI1IDUuMDY1ODZMMTYuMzc5NiA0LjM1ODc1TDE1LjY3MjUgMy42NTE2NUwxNC45NjU0IDQuMzU4NzVaTTEzLjAyMDggMi40MTQyMUwxMy43Mjc5IDEuNzA3MUwxMy4wMjA4IDAuOTk5OTk4TDEyLjMxMzcgMS43MDcxTDEzLjAyMDggMi40MTQyMVpNMTYuMDI2IDUuNDE5NDJMMTYuNzMzMSA0LjcxMjMxTDE2LjAyNiA0LjAwNTJMMTUuMzE4OSA0LjcxMjMxTDE2LjAyNiA1LjQxOTQyWk0xNS4zMTg5IDYuMTI2NTJMMTQuNjExOCA1LjQxOTQyTDEzLjkwNDcgNi4xMjY1MkwxNC42MTE4IDYuODMzNjNMMTUuMzE4OSA2LjEyNjUyWk0xOS4yMDggMTAuMDE1NkwxOC41MDA5IDEwLjcyMjdMMTkuMjA4IDExLjQyOThMMTkuOTE1MSAxMC43MjI3TDE5LjIwOCAxMC4wMTU2Wk0xOS45MTUxIDkuMzA4NUwyMC42MjIyIDEwLjAxNTZMMjEuMzI5MyA5LjMwODVMMjAuNjIyMiA4LjYwMTRMMTkuOTE1MSA5LjMwODVaTTIwLjk3NTggMTAuMzY5MkwyMS42ODI5IDkuNjYyMDZMMjAuOTc1OCA4Ljk1NDk1TDIwLjI2ODcgOS42NjIwNkwyMC45NzU4IDEwLjM2OTJaTTIwLjI2ODcgMTEuMDc2M0wxOS41NjE2IDEwLjM2OTJMMTguODU0NCAxMS4wNzYzTDE5LjU2MTYgMTEuNzgzNEwyMC4yNjg3IDExLjA3NjNaTTI0LjE1NzcgMTQuOTY1NEwyMy40NTA2IDE1LjY3MjVMMjQuMTU3NyAxNi4zNzk2TDI0Ljg2NDkgMTUuNjcyNUwyNC4xNTc3IDE0Ljk2NTRaTTI0Ljg2NDkgMTQuMjU4MkwyNS41NzIgMTQuOTY1NEwyNi4yNzkxIDE0LjI1ODJMMjUuNTcyIDEzLjU1MTFMMjQuODY0OSAxNC4yNTgyWk0yNS45MjU1IDE1LjMxODlMMjYuNjMyNiAxNC42MTE4TDI1LjkyNTUgMTMuOTA0N0wyNS4yMTg0IDE0LjYxMThMMjUuOTI1NSAxNS4zMTg5Wk0yNS4yMTg0IDE2LjAyNkwyNC41MTEzIDE1LjMxODlMMjMuODA0MiAxNi4wMjZMMjQuNTExMyAxNi43MzMxTDI1LjIxODQgMTYuMDI2Wk0yNS4xMyAxOC41ODkzTDI0LjQyMjkgMTcuODgyMkwyMy43MTU4IDE4LjU4OTNMMjQuNDIyOSAxOS4yOTY0TDI1LjEzIDE4LjU4OTNaTTI1LjgzNzEgMTkuMjk2NEwyNS4xMyAyMC4wMDM1TDI1LjgzNzEgMjAuNzEwNkwyNi41NDQyIDIwLjAwMzVMMjUuODM3MSAxOS4yOTY0Wk0yNy44NzAxIDE3LjI2MzVMMjguNTc3MiAxNy45NzA2TDI5LjI4NDMgMTcuMjYzNUwyOC41NzcyIDE2LjU1NjNMMjcuODcwMSAxNy4yNjM1Wk0yNC41OTk3IDIwLjUzMzhMMjUuMzA2OCAyMS4yNDA5TDI2LjAxMzkgMjAuNTMzOEwyNS4zMDY4IDE5LjgyNjdMMjQuNTk5NyAyMC41MzM4Wk0yMy44OTI2IDE5LjgyNjdMMjQuNTk5NyAxOS4xMTk2TDIzLjg5MjYgMTguNDEyNUwyMy4xODU1IDE5LjExOTZMMjMuODkyNiAxOS44MjY3Wk0xOS44MjY3IDIzLjg5MjZMMTkuMTE5NiAyMy4xODU1TDE4LjQxMjUgMjMuODkyNkwxOS4xMTk2IDI0LjU5OTdMMTkuODI2NyAyMy44OTI2Wk0yMC41MzM4IDI0LjU5OTdMMTkuODI2NyAyNS4zMDY4TDIwLjUzMzggMjYuMDEzOUwyMS4yNDA5IDI1LjMwNjhMMjAuNTMzOCAyNC41OTk3Wk0xOS4yOTY0IDI1LjgzNzFMMjAuMDAzNSAyNi41NDQyTDIwLjcxMDYgMjUuODM3MUwyMC4wMDM1IDI1LjEzTDE5LjI5NjQgMjUuODM3MVpNMTguNTg5MyAyNS4xM0wxOS4yOTY0IDI0LjQyMjlMMTguNTg5MyAyMy43MTU4TDE3Ljg4MjIgMjQuNDIyOUwxOC41ODkzIDI1LjEzWk0xNi4wMjYgMjUuMjE4NEwxNi43MzMxIDI0LjUxMTNMMTYuMDI2IDIzLjgwNDJMMTUuMzE4OSAyNC41MTEzTDE2LjAyNiAyNS4yMTg0Wk0xNS4zMTg5IDI1LjkyNTVMMTQuNjExOCAyNS4yMTg0TDEzLjkwNDcgMjUuOTI1NUwxNC42MTE4IDI2LjYzMjZMMTUuMzE4OSAyNS45MjU1Wk0xNy4yNjM1IDI3Ljg3MDFMMTYuNTU2MyAyOC41NzcyTDE3LjI2MzUgMjkuMjg0M0wxNy45NzA2IDI4LjU3NzJMMTcuMjYzNSAyNy44NzAxWk0xNC4yNTgzIDI0Ljg2NDlMMTMuNTUxMSAyNS41NzJMMTQuMjU4MyAyNi4yNzkxTDE0Ljk2NTQgMjUuNTcyTDE0LjI1ODMgMjQuODY0OVpNMTQuOTY1NCAyNC4xNTc3TDE1LjY3MjUgMjQuODY0OUwxNi4zNzk2IDI0LjE1NzdMMTUuNjcyNSAyMy40NTA2TDE0Ljk2NTQgMjQuMTU3N1pNMTEuMDc2MyAyMC4yNjg3TDExLjc4MzQgMTkuNTYxNkwxMS4wNzYzIDE4Ljg1NDRMMTAuMzY5MiAxOS41NjE2TDExLjA3NjMgMjAuMjY4N1pNMTAuMzY5MiAyMC45NzU4TDkuNjYyMDYgMjAuMjY4N0w4Ljk1NDk1IDIwLjk3NThMOS42NjIwNiAyMS42ODI5TDEwLjM2OTIgMjAuOTc1OFpNOS4zMDg1IDE5LjkxNTFMOC42MDE0IDIwLjYyMjJMOS4zMDg1IDIxLjMyOTNMMTAuMDE1NiAyMC42MjIyTDkuMzA4NSAxOS45MTUxWk0xMC4wMTU2IDE5LjIwOEwxMC43MjI3IDE5LjkxNTFMMTEuNDI5OCAxOS4yMDhMMTAuNzIyNyAxOC41MDA5TDEwLjAxNTYgMTkuMjA4Wk02LjEyNjUyIDE1LjMxODlMNi44MzM2MyAxNC42MTE4TDYuMTI2NTIgMTMuOTA0N0w1LjQxOTQyIDE0LjYxMThMNi4xMjY1MiAxNS4zMTg5Wk01LjQxOTQyIDE2LjAyNkw0LjcxMjMxIDE1LjMxODlMNC4wMDUyIDE2LjAyNkw0LjcxMjMxIDE2LjczMzFMNS40MTk0MiAxNi4wMjZaTTMuMTIxMzIgMTIuMzEzN0wzLjgyODQzIDExLjYwNjZMMy4xMjEzMiAxMC44OTk1TDIuNDE0MjEgMTEuNjA2NkwzLjEyMTMyIDEyLjMxMzdaTTMuMTIxMzIgMTMuNzI3OUwyLjQxNDIxIDE0LjQzNUwzLjEyMTMyIDE1LjE0MjFMMy44Mjg0MyAxNC40MzVMMy4xMjEzMiAxMy43Mjc5Wk0xMi4zMTM3IDMuMTIxMzJMMTEuNjA2NiAyLjQxNDIxTDEwLjg5OTUgMy4xMjEzMkwxMS42MDY2IDMuODI4NDJMMTIuMzEzNyAzLjEyMTMyWk0xMy43Mjc5IDMuMTIxMzJMMTQuNDM1IDMuODI4NDJMMTUuMTQyMSAzLjEyMTMyTDE0LjQzNSAyLjQxNDIxTDEzLjcyNzkgMy4xMjEzMlpNMjcuMTYzIDE2LjU1NjNMMjcuODcwMSAxNS44NDkyTDI3LjE2MyAxNS4xNDIxTDI2LjQ1NTggMTUuODQ5MkwyNy4xNjMgMTYuNTU2M1pNMjcuMTYzIDE3Ljk3MDZMMjYuNDU1OCAxOC42Nzc3TDI3LjE2MyAxOS4zODQ4TDI3Ljg3MDEgMTguNjc3N0wyNy4xNjMgMTcuOTcwNlpNMTYuNTU2MyAyNy4xNjI5TDE1Ljg0OTIgMjYuNDU1OEwxNS4xNDIxIDI3LjE2MjlMMTUuODQ5MiAyNy44NzAxTDE2LjU1NjMgMjcuMTYyOVpNMTcuOTcwNiAyNy4xNjI5TDE4LjY3NzcgMjcuODcwMUwxOS4zODQ4IDI3LjE2MjlMMTguNjc3NyAyNi40NTU4TDE3Ljk3MDYgMjcuMTYyOVpNNS4wNjU4NiAxNS42NzI1TDUuNzcyOTcgMTQuOTY1NEw0LjM1ODc2IDEzLjU1MTFMMy42NTE2NSAxNC4yNTgyTDUuMDY1ODYgMTUuNjcyNVpNNS44NjEzNiAxMC45ODc5TDUuMTU0MjUgMTAuMjgwOEwzLjc0MDA0IDExLjY5NUw0LjQ0NzE1IDEyLjQwMjFMNS44NjEzNiAxMC45ODc5Wk00Ljk3NzQ4IDEwLjQ1NzZMNS42ODQ1OCAxMS4xNjQ3TDcuMDk4OCA5Ljc1MDQ0TDYuMzkxNjkgOS4wNDMzNEw0Ljk3NzQ4IDEwLjQ1NzZaTTExLjE2NDcgNS42ODQ1OEwxMC40NTc2IDQuOTc3NDdMOS4wNDMzNCA2LjM5MTY5TDkuNzUwNDUgNy4wOTg3OUwxMS4xNjQ3IDUuNjg0NThaTTEwLjI4MDggNS4xNTQyNUwxMC45ODc5IDUuODYxMzZMMTIuNDAyMSA0LjQ0NzE0TDExLjY5NSAzLjc0MDA0TDEwLjI4MDggNS4xNTQyNVpNMTQuOTY1NCA1Ljc3Mjk3TDE1LjY3MjUgNS4wNjU4NkwxNC4yNTgzIDMuNjUxNjVMMTMuNTUxMSA0LjM1ODc1TDE0Ljk2NTQgNS43NzI5N1pNMTUuMzE4OSA0LjcxMjMxTDE0LjYxMTggNS40MTk0MkwxNi4wMjYgNi44MzM2M0wxNi43MzMxIDYuMTI2NTJMMTUuMzE4OSA0LjcxMjMxWk0xOS45MTUxIDEwLjcyMjdMMjAuNjIyMiAxMC4wMTU2TDE5LjIwOCA4LjYwMTRMMTguNTAwOSA5LjMwODVMMTkuOTE1MSAxMC43MjI3Wk0yMC4yNjg3IDkuNjYyMDZMMTkuNTYxNiAxMC4zNjkyTDIwLjk3NTggMTEuNzgzNEwyMS42ODI5IDExLjA3NjNMMjAuMjY4NyA5LjY2MjA2Wk0yNC44NjQ5IDE1LjY3MjVMMjUuNTcyIDE0Ljk2NTRMMjQuMTU3NyAxMy41NTExTDIzLjQ1MDYgMTQuMjU4MkwyNC44NjQ5IDE1LjY3MjVaTTI1LjIxODQgMTQuNjExOEwyNC41MTEzIDE1LjMxODlMMjUuOTI1NSAxNi43MzMxTDI2LjYzMjYgMTYuMDI2TDI1LjIxODQgMTQuNjExOFpNMjQuNDIyOSAxOS4yOTY0TDI1LjEzIDIwLjAwMzVMMjYuNTQ0MiAxOC41ODkzTDI1LjgzNzEgMTcuODgyMkwyNC40MjI5IDE5LjI5NjRaTTI1LjMwNjggMTkuODI2N0wyNC41OTk3IDE5LjExOTZMMjMuMTg1NSAyMC41MzM4TDIzLjg5MjYgMjEuMjQwOUwyNS4zMDY4IDE5LjgyNjdaTTE5LjExOTYgMjQuNTk5N0wxOS44MjY3IDI1LjMwNjhMMjEuMjQwOSAyMy44OTI2TDIwLjUzMzggMjMuMTg1NUwxOS4xMTk2IDI0LjU5OTdaTTIwLjAwMzUgMjUuMTNMMTkuMjk2NCAyNC40MjI5TDE3Ljg4MjIgMjUuODM3MUwxOC41ODkzIDI2LjU0NDJMMjAuMDAzNSAyNS4xM1pNMTUuMzE4OSAyNC41MTEzTDE0LjYxMTggMjUuMjE4NEwxNi4wMjYgMjYuNjMyNkwxNi43MzMxIDI1LjkyNTVMMTUuMzE4OSAyNC41MTEzWk0xNC45NjU0IDI1LjU3MkwxNS42NzI1IDI0Ljg2NDlMMTQuMjU4MyAyMy40NTA2TDEzLjU1MTEgMjQuMTU3N0wxNC45NjU0IDI1LjU3MlpNMTAuMzY5MiAxOS41NjE2TDkuNjYyMDYgMjAuMjY4N0wxMS4wNzYzIDIxLjY4MjlMMTEuNzgzNCAyMC45NzU4TDEwLjM2OTIgMTkuNTYxNlpNMTAuMDE1NiAyMC42MjIyTDEwLjcyMjcgMTkuOTE1MUw5LjMwODUgMTguNTAwOUw4LjYwMTQgMTkuMjA4TDEwLjAxNTYgMjAuNjIyMlpNNS40MTk0MiAxNC42MTE4TDQuNzEyMzEgMTUuMzE4OUw2LjEyNjUyIDE2LjczMzFMNi44MzM2MyAxNi4wMjZMNS40MTk0MiAxNC42MTE4Wk0zLjEyMTMyIDEzLjcyNzlMNS4xNTQyNSAxMS42OTVMMy43NDAwNCAxMC4yODA4TDEuNzA3MTEgMTIuMzEzN0wzLjEyMTMyIDEzLjcyNzlaTTUuMDY1ODYgMTQuMjU4MkwzLjEyMTMyIDEyLjMxMzdMMS43MDcxMSAxMy43Mjc5TDMuNjUxNjUgMTUuNjcyNUw1LjA2NTg2IDE0LjI1ODJaTTUuNzcyOTcgMTMuNTUxMUw0LjUzNTUzIDEyLjMxMzdMMy4xMjEzMiAxMy43Mjc5TDQuMzU4NzYgMTQuOTY1NEw1Ljc3Mjk3IDEzLjU1MTFaTTQuNTM1NTMgMTMuNzI3OUw1Ljg2MTM2IDEyLjQwMjFMNC40NDcxNSAxMC45ODc5TDMuMTIxMzIgMTIuMzEzN0w0LjUzNTUzIDEzLjcyNzlaTTcuMDk4OCAxMS4xNjQ3TDExLjE2NDcgNy4wOTg3OUw5Ljc1MDQ1IDUuNjg0NThMNS42ODQ1OCA5Ljc1MDQ0TDcuMDk4OCAxMS4xNjQ3Wk02LjM5MTY5IDEwLjQ1NzZMMTAuNDU3NiA2LjM5MTY5TDkuMDQzMzQgNC45Nzc0N0w0Ljk3NzQ4IDkuMDQzMzRMNi4zOTE2OSAxMC40NTc2Wk0xMi40MDIxIDUuODYxMzZMMTMuNzI3OSA0LjUzNTUzTDEyLjMxMzcgMy4xMjEzMkwxMC45ODc5IDQuNDQ3MTRMMTIuNDAyMSA1Ljg2MTM2Wk0xMi4zMTM3IDQuNTM1NTNMMTMuNTUxMSA1Ljc3Mjk3TDE0Ljk2NTQgNC4zNTg3NUwxMy43Mjc5IDMuMTIxMzJMMTIuMzEzNyA0LjUzNTUzWk0xMi4zMTM3IDMuMTIxMzJMMTQuMjU4MyA1LjA2NTg2TDE1LjY3MjUgMy42NTE2NUwxMy43Mjc5IDEuNzA3MUwxMi4zMTM3IDMuMTIxMzJaTTExLjY5NSA1LjE1NDI1TDEzLjcyNzkgMy4xMjEzMkwxMi4zMTM3IDEuNzA3MUwxMC4yODA4IDMuNzQwMDRMMTEuNjk1IDUuMTU0MjVaTTE0LjYxMTggNi44MzM2M0wxOC41MDA5IDEwLjcyMjdMMTkuOTE1MSA5LjMwODVMMTYuMDI2IDUuNDE5NDJMMTQuNjExOCA2LjgzMzYzWk0xNS4zMTg5IDYuMTI2NTJMMTkuMjA4IDEwLjAxNTZMMjAuNjIyMiA4LjYwMTRMMTYuNzMzMSA0LjcxMjMxTDE1LjMxODkgNi4xMjY1MlpNMTkuNTYxNiAxMS43ODM0TDIzLjQ1MDYgMTUuNjcyNUwyNC44NjQ5IDE0LjI1ODJMMjAuOTc1OCAxMC4zNjkyTDE5LjU2MTYgMTEuNzgzNFpNMjAuMjY4NyAxMS4wNzYzTDI0LjE1NzcgMTQuOTY1NEwyNS41NzIgMTMuNTUxMUwyMS42ODI5IDkuNjYyMDZMMjAuMjY4NyAxMS4wNzYzWk0yNC41MTEzIDE2LjczMzFMMjUuNzQ4NyAxNy45NzA2TDI3LjE2MyAxNi41NTYzTDI1LjkyNTUgMTUuMzE4OUwyNC41MTEzIDE2LjczMzFaTTI1Ljc0ODcgMTYuNTU2M0wyNC40MjI5IDE3Ljg4MjJMMjUuODM3MSAxOS4yOTY0TDI3LjE2MyAxNy45NzA2TDI1Ljc0ODcgMTYuNTU2M1pNMjcuMTYzIDE2LjU1NjNMMjUuMTMgMTguNTg5M0wyNi41NDQyIDIwLjAwMzVMMjguNTc3MiAxNy45NzA2TDI3LjE2MyAxNi41NTYzWk0yNS4yMTg0IDE2LjAyNkwyNy4xNjMgMTcuOTcwNkwyOC41NzcyIDE2LjU1NjNMMjYuNjMyNiAxNC42MTE4TDI1LjIxODQgMTYuMDI2Wk0yMy4xODU1IDE5LjExOTZMMTkuMTE5NiAyMy4xODU1TDIwLjUzMzggMjQuNTk5N0wyNC41OTk3IDIwLjUzMzhMMjMuMTg1NSAxOS4xMTk2Wk0yMy44OTI2IDE5LjgyNjdMMTkuODI2NyAyMy44OTI2TDIxLjI0MDkgMjUuMzA2OEwyNS4zMDY4IDIxLjI0MDlMMjMuODkyNiAxOS44MjY3Wk0xNy44ODIyIDI0LjQyMjlMMTYuNTU2MyAyNS43NDg3TDE3Ljk3MDYgMjcuMTYyOUwxOS4yOTY0IDI1LjgzNzFMMTcuODgyMiAyNC40MjI5Wk0xNy45NzA2IDI1Ljc0ODdMMTYuNzMzMSAyNC41MTEzTDE1LjMxODkgMjUuOTI1NUwxNi41NTYzIDI3LjE2MjlMMTcuOTcwNiAyNS43NDg3Wk0xNy45NzA2IDI3LjE2MjlMMTYuMDI2IDI1LjIxODRMMTQuNjExOCAyNi42MzI2TDE2LjU1NjMgMjguNTc3MkwxNy45NzA2IDI3LjE2MjlaTTE4LjU4OTMgMjUuMTNMMTYuNTU2MyAyNy4xNjI5TDE3Ljk3MDYgMjguNTc3MkwyMC4wMDM1IDI2LjU0NDJMMTguNTg5MyAyNS4xM1pNMTUuNjcyNSAyMy40NTA2TDExLjc4MzQgMTkuNTYxNkwxMC4zNjkyIDIwLjk3NThMMTQuMjU4MyAyNC44NjQ5TDE1LjY3MjUgMjMuNDUwNlpNMTQuOTY1NCAyNC4xNTc3TDExLjA3NjMgMjAuMjY4N0w5LjY2MjA2IDIxLjY4MjlMMTMuNTUxMSAyNS41NzJMMTQuOTY1NCAyNC4xNTc3Wk0xMC43MjI3IDE4LjUwMDlMNi44MzM2MyAxNC42MTE4TDUuNDE5NDIgMTYuMDI2TDkuMzA4NSAxOS45MTUxTDEwLjcyMjcgMTguNTAwOVpNMTAuMDE1NiAxOS4yMDhMNi4xMjY1MiAxNS4zMTg5TDQuNzEyMzEgMTYuNzMzMUw4LjYwMTQgMjAuNjIyMkwxMC4wMTU2IDE5LjIwOFpNMy4xMjEzMiAxMy43Mjc5TDMuODI4NDMgMTMuMDIwOEwyLjQxNDIxIDExLjYwNjZMMS43MDcxMSAxMi4zMTM3TDMuMTIxMzIgMTMuNzI3OVpNMy44Mjg0MyAxMy4wMjA4TDMuMTIxMzIgMTIuMzEzN0wxLjcwNzExIDEzLjcyNzlMMi40MTQyMSAxNC40MzVMMy44Mjg0MyAxMy4wMjA4Wk0zLjEyMTMyIDEyLjMxMzdMMi40MTQyMSAxMy4wMjA4TDMuODI4NDMgMTQuNDM1TDQuNTM1NTMgMTMuNzI3OUwzLjEyMTMyIDEyLjMxMzdaTTIuNDE0MjEgMTMuMDIwOEwzLjEyMTMyIDEzLjcyNzlMNC41MzU1MyAxMi4zMTM3TDMuODI4NDMgMTEuNjA2NkwyLjQxNDIxIDEzLjAyMDhaTTEzLjAyMDggMy44Mjg0MkwxMy43Mjc5IDMuMTIxMzJMMTIuMzEzNyAxLjcwNzFMMTEuNjA2NiAyLjQxNDIxTDEzLjAyMDggMy44Mjg0MlpNMTMuNzI3OSAzLjEyMTMyTDEzLjAyMDggMi40MTQyMUwxMS42MDY2IDMuODI4NDJMMTIuMzEzNyA0LjUzNTUzTDEzLjcyNzkgMy4xMjEzMlpNMTMuMDIwOCAyLjQxNDIxTDEyLjMxMzcgMy4xMjEzMkwxMy43Mjc5IDQuNTM1NTNMMTQuNDM1IDMuODI4NDJMMTMuMDIwOCAyLjQxNDIxWk0xMi4zMTM3IDMuMTIxMzJMMTMuMDIwOCAzLjgyODQyTDE0LjQzNSAyLjQxNDIxTDEzLjcyNzkgMS43MDcxTDEyLjMxMzcgMy4xMjEzMlpNMjcuMTYzIDE3Ljk3MDZMMjcuODcwMSAxNy4yNjM1TDI2LjQ1NTggMTUuODQ5MkwyNS43NDg3IDE2LjU1NjNMMjcuMTYzIDE3Ljk3MDZaTTI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M0wyNS43NDg3IDE3Ljk3MDZMMjYuNDU1OCAxOC42Nzc3TDI3Ljg3MDEgMTcuMjYzNVpNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3Ljg3MDEgMTguNjc3N0wyOC41NzcyIDE3Ljk3MDZMMjcuMTYzIDE2LjU1NjNaTTI2LjQ1NTggMTcuMjYzNUwyNy4xNjMgMTcuOTcwNkwyOC41NzcyIDE2LjU1NjNMMjcuODcwMSAxNS44NDkyTDI2LjQ1NTggMTcuMjYzNVpNMTcuMjYzNSAyNy44NzAxTDE3Ljk3MDYgMjcuMTYyOUwxNi41NTYzIDI1Ljc0ODdMMTUuODQ5MiAyNi40NTU4TDE3LjI2MzUgMjcuODcwMVpNMTcuOTcwNiAyNy4xNjI5TDE3LjI2MzUgMjYuNDU1OEwxNS44NDkyIDI3Ljg3MDFMMTYuNTU2MyAyOC41NzcyTDE3Ljk3MDYgMjcuMTYyOVpNMTcuMjYzNSAyNi40NTU4TDE2LjU1NjMgMjcuMTYyOUwxNy45NzA2IDI4LjU3NzJMMTguNjc3NyAyNy44NzAxTDE3LjI2MzUgMjYuNDU1OFpNMTYuNTU2MyAyNy4xNjI5TDE3LjI2MzUgMjcuODcwMUwxOC42Nzc3IDI2LjQ1NThMMTcuOTcwNiAyNS43NDg3TDE2LjU1NjMgMjcuMTYyOVoiIGZpbGw9IndoaXRlIiBtYXNrPSJ1cmwoI3BhdGgtMy1vdXRzaWRlLTFfMTgzOF81MzEpIi8+Cjwvc3ZnPgo=",Dci={name:"synchronization",i18n:{de:sli,en:Ili,es:Gli,fr:lci,it:xci},component:Yai,button:{tooltip:"synchronization.tooltip",position:"right",stance:1,content:"free",keepOpen:!0,icon:{imgUri:Nci}}},Sci={setup(){const t=Gt("$viewer"),{localContext:e}=t,i=e.pluginComponentInstances.get("pointCloud"),{xeokit:o}=i,r=pL(),n=new Map;ai(r,()=>{r.value.forEach(u=>{if(!n.has(u)){const{x:d,y:h,z:A}=u,g=new Ec(o.scene,{worldPos:[d,A,h]});g.annotation=u;const p=g.canvasPos,M=Xe(`left: ${p[0]}px; top: ${p[1]}px;`);g.on("canvasPos",([L,v])=>{M.value=`left: ${L}px; top: ${v}px;`}),g.style=M;const f=t.state.hub.on("annotation-updated",({annotation:L})=>{if(L===u){const{x:v,y:I,z:C}=L;g.worldPos=[v,C,I],g._update()}}),w=t.state.hub.on("annotation-removed",({annotation:L})=>{L===u&&(n.delete(u),g.destroy())});g.on("destroyed",()=>{t.state.hub.off(w),t.state.hub.off(f)}),n.set(u,g)}})},{flush:"sync"});const s=u=>n.get(u).style.value,a=(u,d)=>{const{clientX:h,clientY:A}=u,{x:g,y:p}=o.scene.canvas.canvas.getBoundingClientRect(),M=o.scene.pick({pickSurface:!0,canvasPos:[h-g,A-p]});if(M){const[f,w,L]=M.worldPos;d.x=f,d.y=L,d.z=w}},l=u=>Zi("div",{class:"bimdata-point-cloud-annotations__annotation",style:s(u)},[Zi(u.component,{onGrab:d=>a(d,u),...u.props,localContext:e})]),c=Sg(o.scene.canvas.canvas);return()=>Zi("div",{class:"bimdata-point-cloud-annotations",onWheel:c},r.value.map(l))}},Tci=K(Sci,[["__scopeId","data-v-45174af9"]]),kci={name:"PointCloudViewer",components:{Annotations:Tci},data(){const{settings:t}=this.$plugin;return{settings:t,canvasId:null,spinnerCanvasId:null,xeokitCreated:!1,loadedModels:[],tilesets:new Map,sensitivity:50,annotationMode:!1,modelHeaderShown:t.modelLoader!=="hidden",navCubeVisible:t.navCube!==!1,loading:!1}},watch:{sensitivity(t){this.tilesetLoaderPlugin&&(this.tilesetLoaderPlugin.sensitivity=t)}},created(){this.canvasId=`canvas-id-${this.$viewer.localContext.id}`,this.spinnerCanvasId=`spinner-canvas-id-${this.$viewer.localContext.id}`,this.navCubeCanvasId=`nav-cube-canvas-id-${this.$viewer.localContext.id}`,this.xeokitSdk=Lj},mounted(){const t=new wk({canvasId:this.canvasId,transparent:!0,spinnerElementId:this.spinnerCanvasId,backgroundColorFromAmbientLight:!1});t.cameraControl.doublePickFlyTo=!1,t.cameraControl.panRightClick=!1,t.cameraControl.followPointer=!0,t.cameraControl.smartPivot=!0,this.settings.pivotMarker!==!1&&t.cameraControl.enablePivotSphere({size:1,color:[.25,.25,.25]}),t.cameraControl.touchDollyRate=1,t.cameraControl.mouseWheelDollyRate=60,t.cameraControl.keyboardDollyRate=20,t.cameraControl.dragRotationRate=450,t.cameraControl.rotationInertia=0,t.cameraControl.dollyInertia=0,t.camera.perspective.near=1,t.camera.perspective.far=1e5,t.camera.ortho.near=1,t.camera.ortho.far=1e5,this.bcfViewpointsPlugin=new FT(t,{originatingSystem:"BIMDataViewer/v1.0",authoringTool:"BIMData.io"}),this.distanceMeasurementsPlugin=new Gq(t,{defaultAxisVisible:!1,container:this.$el,zIndex:0}),this.angleMeasurementsPlugin=new KS(t,{container:this.$el,zIndex:0}),this.tilesetLoaderPlugin=new cee(t,{sensitivity:this.sensitivity,debugMode:!1}),this.navCubeVisible&&(this.navCube=new s7(t,{canvasId:this.navCubeCanvasId,visible:!1,cameraFly:!0,cameraFitFOV:45,cameraFlyDuration:.5,color:"#FFFFFF"})),this.xeokit=t,this.xeokitCreated=!0,window.xeokitPointCloud=this.xeokit},beforeUnmount(){var t;(t=this.xeokit)==null||t.destroy()},methods:{async loadModels(t){var e;this.loading=!0,this.loadedModels.push(...t.filter(s=>!this.loadedModels.some(a=>a.id===s.id)));const{apiUrl:i,cloudId:o,projectId:r,accessToken:n}=this.$viewer.api;t.forEach(async(s,a)=>{try{this.$viewer.localContext.loadingProcessStart();const l=await(await fetch(`${i}/cloud/${o}/project/${r}/model/${s.id}/tileset?tile_format=xkt`,{headers:new Headers({Authorization:`Bearer ${n}`})})).json();l.name=String(s.id);const c=this.tilesetLoaderPlugin.load(l);this.tilesets.set(s,c);const u={model:s,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-loaded",u),this.$viewer.globalContext.hub.emit("pointcloud-model-loaded",u),a===0&&!this.viewpointPending&&this.xeokit.cameraFlight.flyTo()}catch(l){console.error("Error while loading Tileset ",s.id,"with error: ",l),this.loadedModels=this.loadedModels.filter(c=>c.id!==s.id)}finally{this.$viewer.localContext.loadingProcessEnd(),this.loading=!1}}),this.loadedModels.length>0&&((e=this.navCube)==null||e.setVisible(!0))},unloadModels(t){var e;const i=t.map(o=>this.tilesets.get(o)).filter(Boolean);t.forEach(o=>this.tilesets.delete(o)),i.forEach(o=>o.destroy()),this.loadedModels=this.loadedModels.filter(o=>!t.find(r=>r.id===o.id)),t.forEach(o=>{const r={model:o,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-unloaded",r),this.$viewer.globalContext.hub.emit("pointcloud-model-unloaded",r)}),this.loadedModels.length===0&&((e=this.navCube)==null||e.setVisible(!1))},fitView(){this.xeokit.cameraFlight.flyTo()},async getSnapshot(){return{snapshot_type:"png",snapshot_data:await this.xeokit.getSnapshotWithPlugins({format:"png"})}},getViewpoint(){const t=this.bcfViewpointsPlugin.getViewpoint({snapshot:!1});return t.order=2,t.originating_system="pointCloud",t.models=this.$viewer.localContext.loadedModels.map(e=>e.id),t},async setViewpoint(t,{immediate:e=!1,duration:i=.3}={}){if(this.loading){this.viewpointPending=!0;let o=null;await new Promise(r=>{o=this.$watch("loading",n=>{n||r()},{immediate:!0})}),o(),this.viewpointPending=!1}await new Promise(o=>setTimeout(o,200)),this.bcfViewpointsPlugin.setViewpoint(t,{rayCast:!1,immediate:e,duration:i})},startAnnotationMode(t){if(this.annotationMode)return;this.annotationMode=!0;const e=this.xeokit.scene.canvas.canvas;this.canvasCursor=e.style.cursor,e.style.cursor="copy",this.annotationListener=this.xeokit.scene.input.on("mouseclicked",i=>{const o=this.xeokit.scene.pick({pickSurface:!0,canvasPos:i});if(o){const[r,n,s]=o.worldPos;t({x:r,y:s,z:n,models:this.$viewer.localContext.loadedModels})}})},stopAnnotationMode(){this.annotationMode&&(this.annotationMode=!1,this.xeokit.scene.canvas.canvas.style.cursor=this.canvasCursor,this.xeokit.scene.input.off(this.annotationListener))},showUI(){this.modelHeaderShown=this.settings.modelLoader!=="hidden",this.navCubeVisible=this.settings.navCube!==!1},hideUI(){this.modelHeaderShown=!1,this.navCubeVisible=!1}}},Eci={class:"bimdata-viewer-point-cloud"},zci={ref:"header",class:"bimdata-viewer-point-cloud__header"},Pci=["id"],Bci=["id"],Oci=["id"];function Rci(t,e,i,o,r,n){const s=z("NoModelWindowPlaceHolder"),a=z("ModelsLoader"),l=z("Annotations");return D(),Y("div",Eci,[r.loadedModels.length===0?(D(),se(s,{key:0})):ve("",!0),m("div",zci,[r.settings.modelLoader!=="disabled"?St((D(),se(a,{key:0,"window-positioning":!1,preview:""},null,512)),[[Mi,r.modelHeaderShown]]):ve("",!0)],512),m("canvas",{id:r.canvasId,class:"bimdata-viewer-point-cloud__viewer",onWheel:e[0]||(e[0]=bt(()=>{},["prevent"]))},null,40,Pci),r.xeokitCreated?(D(),se(l,{key:1})):ve("",!0),St(m("canvas",{id:t.navCubeCanvasId,class:"bimdata-viewer-point-cloud__nav-cube"},null,8,Bci),[[Mi,r.navCubeVisible]]),m("div",{id:r.spinnerCanvasId},null,8,Oci)])}const Uci=K(kci,[["render",Rci],["__scopeId","data-v-7c80c1ed"]]),Yci="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjYxNzI1IDkuNjQ0NjlMMTMuMDIxNCAyLjIwNTI4TDEzLjAzIDcuMjgxMjhMMTMuMDM0IDkuNjMyMDhMNS42MTcyNSA5LjY0NDY5Wk0yNS40ODQ3IDIuNzk1ODlDMjUuNDgyMSAxLjI1ODIyIDI0LjIzNzYgMC4wMDIyNDQzMSAyMi43MDIgMC4wMDQ4NTUyOUwxMS41MzQxIDAuMDIzODQ0MkwzLjE3MjQ2IDguNDI1MzVMMy4yMDA5OSAyNS4xOTk5QzMuMjAzNiAyNi43Mzc1IDQuNDYxNjkgMjcuOTkzNSA1Ljk5NzcxIDI3Ljk5MDlMMjIuNzYzNSAyNy45NjI0QzI0LjI5OTEgMjcuOTU5OCAyNS41MzkzIDI2LjY5OTYgMjUuNTM2NyAyNS4xNjE5TDI1LjQ4NDcgMi43OTU4OVoiIGZpbGw9IiMyRjM3NEEiLz4KPHJlY3QgeT0iMTIuMTk1OCIgd2lkdGg9IjI4LjAwMSIgaGVpZ2h0PSIxNC42MDkyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTAuMDk3NDIxIDAgMTIuMTk1OCkiIGZpbGw9IiNFNTQ0RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4xOTMzIDE0LjA2MTVDMTMuMzc4MyAxNC4wNjE1IDEzLjUyODIgMTMuOTExNCAxMy41MjgyIDEzLjcyNjJDMTMuNTI4MiAxMy41NDEgMTMuMzc4MyAxMy4zOTA5IDEzLjE5MzMgMTMuMzkwOUMxMy4wMDgzIDEzLjM5MDkgMTIuODU4NCAxMy41NDEgMTIuODU4NCAxMy43MjYyQzEyLjg1ODQgMTMuOTExNCAxMy4wMDg0IDE0LjA2MTUgMTMuMTkzMyAxNC4wNjE1Wk0xMS44OTExIDE0Ljc2OTVDMTEuODkxMSAxNC45NTQ3IDExLjc0MTEgMTUuMTA0OCAxMS41NTYyIDE1LjEwNDhDMTEuMzcxMiAxNS4xMDQ4IDExLjIyMTMgMTQuOTU0NyAxMS4yMjEzIDE0Ljc2OTVDMTEuMjIxMyAxNC41ODQzIDExLjM3MTIgMTQuNDM0MSAxMS41NTYyIDE0LjQzNDFDMTEuNzQxMSAxNC40MzQxIDExLjg5MTEgMTQuNTg0MyAxMS44OTExIDE0Ljc2OTVaTTE1LjkzNTEgMTQuNDY2NEMxNS43OCAxNC40MTIgMTUuNjEwMSAxNC40OTM4IDE1LjU1NTggMTQuNjQ5MkMxNS41MDE0IDE0LjgwNDUgMTUuNTgzMSAxNC45NzQ2IDE1LjczODIgMTUuMDI5MUwxOC42Nzg2IDE2LjEyMDlMMTQuNDY5MiAxOC40MkwxMS4zOTI1IDE3LjM4MTFDMTEuMjM2NyAxNy4zMjg1IDExLjA2NzggMTcuNDEyMyAxMS4wMTUzIDE3LjU2ODNDMTAuOTYyNyAxNy43MjQzIDExLjA0NjQgMTcuODkzNCAxMS4yMDIyIDE3Ljk0NkwxNC4xOTk3IDE4Ljk1ODJMMTQuMTk5NyAyNC44Mzg3TDExLjQzNjYgMjMuODI5NkMxMS4yODIxIDIzLjc3MzIgMTEuMTExMiAyMy44NTI5IDExLjA1NDkgMjQuMDA3NUMxMC45OTg2IDI0LjE2MjIgMTEuMDc4MSAyNC4zMzMzIDExLjIzMjYgMjQuMzg5N0wxNC4zOTU0IDI1LjU0NDhDMTQuNDc4NiAyNS41NzUyIDE0LjU3MSAyNS41NjY5IDE0LjY0NzQgMjUuNTIyMkwxOS41NTkyIDIyLjY1MzJDMTkuNjUwNiAyMi41OTk3IDE5LjcwNjggMjIuNTAxNyAxOS43MDY4IDIyLjM5NTdMMTkuNzA2OCAxNi4wNjE0QzE5LjcwNjggMTUuOTM0NyAxOS42MjY5IDE1LjgyMTkgMTkuNTA3NiAxNS43ODAxTDE1LjkzNTEgMTQuNDY2NFpNMTQuNzk1MSAxOC45MjExTDE5LjExMTUgMTYuNTYzNUwxOS4xMTE1IDIyLjIyNDVMMTQuNzk1MSAyNC43NDU4TDE0Ljc5NTEgMTguOTIxMVpNMTAuNDM5NyAxNy41NjRDMTAuNjI0NiAxNy41NjQgMTAuNzc0NiAxNy40MTM5IDEwLjc3NDYgMTcuMjI4N0MxMC43NzQ2IDE3LjA0MzUgMTAuNjI0NiAxNi44OTM0IDEwLjQzOTcgMTYuODkzNEMxMC4yNTQ3IDE2Ljg5MzQgMTAuMTA0OCAxNy4wNDM1IDEwLjEwNDggMTcuMjI4N0MxMC4xMDQ4IDE3LjQxMzkgMTAuMjU0NyAxNy41NjQgMTAuNDM5NyAxNy41NjRaTTkuODgxNjkgMTYuOTMwNkM5Ljg4MTcgMTcuMTE1OCA5LjczMTc2IDE3LjI2NTkgOS41NDY4IDE3LjI2NTlDOS4zNjE4NSAxNy4yNjU5IDkuMjExOTEgMTcuMTE1OCA5LjIxMTkxIDE2LjkzMDZDOS4yMTE5MSAxNi43NDU0IDkuMzYxODUgMTYuNTk1MiA5LjU0NjggMTYuNTk1MkM5LjczMTc2IDE2LjU5NTIgOS44ODE2OSAxNi43NDU0IDkuODgxNjkgMTYuOTMwNlpNOC42NTM2NCAxNi44OTMyQzguODM4NiAxNi44OTMyIDguOTg4NTMgMTYuNzQzMSA4Ljk4ODUzIDE2LjU1NzlDOC45ODg1MyAxNi4zNzI3IDguODM4NiAxNi4yMjI1IDguNjUzNjQgMTYuMjIyNUM4LjQ2ODY5IDE2LjIyMjUgOC4zMTg3NSAxNi4zNzI3IDguMzE4NzUgMTYuNTU3OUM4LjMxODc1IDE2Ljc0MzEgOC40Njg2OCAxNi44OTMyIDguNjUzNjQgMTYuODkzMlpNOS45NTU4NSAxNS45NjE5QzkuOTU1ODUgMTYuMTQ3MSA5LjgwNTkyIDE2LjI5NzMgOS42MjA5NiAxNi4yOTczQzkuNDM2MDEgMTYuMjk3MyA5LjI4NjA3IDE2LjE0NzEgOS4yODYwNyAxNS45NjE5QzkuMjg2MDcgMTUuNzc2NyA5LjQzNiAxNS42MjY2IDkuNjIwOTYgMTUuNjI2NkM5LjgwNTkyIDE1LjYyNjYgOS45NTU4NSAxNS43NzY3IDkuOTU1ODUgMTUuOTYxOVpNMTAuNTg4NCAxNS43MDA3QzEwLjc3MzQgMTUuNzAwNyAxMC45MjMzIDE1LjU1MDYgMTAuOTIzMyAxNS4zNjU0QzEwLjkyMzMgMTUuMTgwMiAxMC43NzM0IDE1LjAzIDEwLjU4ODQgMTUuMDNDMTAuNDAzNSAxNS4wMyAxMC4yNTM1IDE1LjE4MDIgMTAuMjUzNSAxNS4zNjU0QzEwLjI1MzUgMTUuNTUwNiAxMC40MDM1IDE1LjcwMDcgMTAuNTg4NCAxNS43MDA3Wk0xNC40NTYgMTQuMDUzMUMxNC40NTYgMTQuMjM4NCAxNC4zMDYgMTQuMzg4NSAxNC4xMjExIDE0LjM4ODVDMTMuOTM2MSAxNC4zODg1IDEzLjc4NjIgMTQuMjM4NCAxMy43ODYyIDE0LjA1MzFDMTMuNzg2MiAxMy44Njc5IDEzLjkzNjEgMTMuNzE3OCAxNC4xMjExIDEzLjcxNzhDMTQuMzA2IDEzLjcxNzggMTQuNDU2IDEzLjg2NzkgMTQuNDU2IDE0LjA1MzFaTTEyLjM3NDggMTQuNTgzMkMxMi41NTk3IDE0LjU4MzIgMTIuNzA5NiAxNC40MzMgMTIuNzA5NiAxNC4yNDc4QzEyLjcwOTYgMTQuMDYyNiAxMi41NTk3IDEzLjkxMjUgMTIuMzc0NyAxMy45MTI1QzEyLjE4OTggMTMuOTEyNSAxMi4wMzk5IDE0LjA2MjYgMTIuMDM5OSAxNC4yNDc4QzEyLjAzOTkgMTQuNDMzIDEyLjE4OTggMTQuNTgzMiAxMi4zNzQ4IDE0LjU4MzJaTTguOTg4NTMgMTcuNjAxMUM4Ljk4ODUzIDE3Ljc4NjMgOC44Mzg1OSAxNy45MzY1IDguNjUzNjQgMTcuOTM2NUM4LjQ2ODY4IDE3LjkzNjUgOC4zMTg3NSAxNy43ODYzIDguMzE4NzUgMTcuNjAxMUM4LjMxODc1IDE3LjQxNTkgOC40Njg2OSAxNy4yNjU4IDguNjUzNjQgMTcuMjY1OEM4LjgzODYgMTcuMjY1OCA4Ljk4ODUzIDE3LjQxNTkgOC45ODg1MyAxNy42MDExWk04LjY1MzY0IDE4Ljk3OTdDOC44Mzg1OSAxOC45Nzk3IDguOTg4NTMgMTguODI5NiA4Ljk4ODUzIDE4LjY0NDRDOC45ODg1MyAxOC40NTkyIDguODM4NiAxOC4zMDkgOC42NTM2NCAxOC4zMDlDOC40Njg2OSAxOC4zMDkgOC4zMTg3NSAxOC40NTkyIDguMzE4NzUgMTguNjQ0NEM4LjMxODc1IDE4LjgyOTYgOC40Njg2OCAxOC45Nzk3IDguNjUzNjQgMTguOTc5N1pNOC45ODg1MyAxOS42ODc2QzguOTg4NTMgMTkuODcyOCA4LjgzODU5IDIwLjAyMyA4LjY1MzY0IDIwLjAyM0M4LjQ2ODY4IDIwLjAyMyA4LjMxODc1IDE5Ljg3MjggOC4zMTg3NSAxOS42ODc2QzguMzE4NzUgMTkuNTAyNCA4LjQ2ODY5IDE5LjM1MjMgOC42NTM2NCAxOS4zNTIzQzguODM4NiAxOS4zNTIzIDguOTg4NTMgMTkuNTAyNCA4Ljk4ODUzIDE5LjY4NzZaTTguNjUzNjQgMjEuMDY2NUM4LjgzODYgMjEuMDY2NSA4Ljk4ODUzIDIwLjkxNjQgOC45ODg1MyAyMC43MzEyQzguOTg4NTMgMjAuNTQ2IDguODM4NiAyMC4zOTU4IDguNjUzNjQgMjAuMzk1OEM4LjQ2ODY5IDIwLjM5NTggOC4zMTg3NSAyMC41NDYgOC4zMTg3NSAyMC43MzEyQzguMzE4NzUgMjAuOTE2NCA4LjQ2ODY4IDIxLjA2NjUgOC42NTM2NCAyMS4wNjY1Wk04Ljk4ODUzIDIxLjc3NDRDOC45ODg1MyAyMS45NTk3IDguODM4NTkgMjIuMTA5OCA4LjY1MzY0IDIyLjEwOThDOC40Njg2OCAyMi4xMDk4IDguMzE4NzUgMjEuOTU5NyA4LjMxODc1IDIxLjc3NDVDOC4zMTg3NSAyMS41ODkyIDguNDY4NjkgMjEuNDM5MSA4LjY1MzY0IDIxLjQzOTFDOC44Mzg2IDIxLjQzOTEgOC45ODg1MyAyMS41ODkyIDguOTg4NTMgMjEuNzc0NFpNOC42NTM2NCAyMy4xNTMxQzguODM4NTkgMjMuMTUzMSA4Ljk4ODUzIDIzLjAwMjkgOC45ODg1MyAyMi44MTc3QzguOTg4NTMgMjIuNjMyNSA4LjgzODYgMjIuNDgyNCA4LjY1MzY0IDIyLjQ4MjRDOC40Njg2OSAyMi40ODI0IDguMzE4NzUgMjIuNjMyNSA4LjMxODc1IDIyLjgxNzdDOC4zMTg3NSAyMy4wMDI5IDguNDY4NjggMjMuMTUzMSA4LjY1MzY0IDIzLjE1MzFaTTkuODgxNjkgMjMuMzM5M0M5Ljg4MTcgMjMuNTI0NSA5LjczMTc2IDIzLjY3NDcgOS41NDY4IDIzLjY3NDdDOS4zNjE4NSAyMy42NzQ3IDkuMjExOTEgMjMuNTI0NSA5LjIxMTkxIDIzLjMzOTNDOS4yMTE5MSAyMy4xNTQxIDkuMzYxODUgMjMuMDA0IDkuNTQ2OCAyMy4wMDRDOS43MzE3NiAyMy4wMDQgOS44ODE2OSAyMy4xNTQxIDkuODgxNjkgMjMuMzM5M1pNMTAuNDM5NyAyMy45NzI4QzEwLjYyNDYgMjMuOTcyOCAxMC43NzQ2IDIzLjgyMjcgMTAuNzc0NiAyMy42Mzc1QzEwLjc3NDYgMjMuNDUyMyAxMC42MjQ2IDIzLjMwMjEgMTAuNDM5NyAyMy4zMDIxQzEwLjI1NDcgMjMuMzAyMSAxMC4xMDQ4IDIzLjQ1MjMgMTAuMTA0OCAyMy42Mzc1QzEwLjEwNDggMjMuODIyNyAxMC4yNTQ3IDIzLjk3MjggMTAuNDM5NyAyMy45NzI4Wk0xMC44NTc1IDE2LjMwMjhDMTAuODU3NSAxNi40ODgxIDEwLjcwNzYgMTYuNjM4MiAxMC41MjI2IDE2LjYzODJDMTAuMzM3NiAxNi42MzgyIDEwLjE4NzcgMTYuNDg4IDEwLjE4NzcgMTYuMzAyOEMxMC4xODc3IDE2LjExNzYgMTAuMzM3NiAxNS45Njc1IDEwLjUyMjYgMTUuOTY3NUMxMC43MDc1IDE1Ljk2NzUgMTAuODU3NSAxNi4xMTc2IDEwLjg1NzUgMTYuMzAyOFpNMTEuNDg5OSAxNi4wNDE3QzExLjY3NDkgMTYuMDQxNyAxMS44MjQ4IDE1Ljg5MTUgMTEuODI0OCAxNS43MDYzQzExLjgyNDggMTUuNTIxMSAxMS42NzQ5IDE1LjM3MSAxMS40ODk5IDE1LjM3MUMxMS4zMDUgMTUuMzcxIDExLjE1NSAxNS41MjExIDExLjE1NSAxNS43MDYzQzExLjE1NSAxNS44OTE1IDExLjMwNSAxNi4wNDE3IDExLjQ4OTkgMTYuMDQxN1pNMTIuNzkyNiAxNS4xMTA0QzEyLjc5MjYgMTUuMjk1NiAxMi42NDI2IDE1LjQ0NTcgMTIuNDU3NyAxNS40NDU3QzEyLjI3MjcgMTUuNDQ1NyAxMi4xMjI4IDE1LjI5NTYgMTIuMTIyOCAxNS4xMTA0QzEyLjEyMjggMTQuOTI1MiAxMi4yNzI3IDE0Ljc3NSAxMi40NTc3IDE0Ljc3NUMxMi42NDI2IDE0Ljc3NSAxMi43OTI2IDE0LjkyNTIgMTIuNzkyNiAxNS4xMTA0Wk0xMy4yNzYyIDE0LjkyNDFDMTMuNDYxMiAxNC45MjQxIDEzLjYxMTEgMTQuNzc0IDEzLjYxMTEgMTQuNTg4N0MxMy42MTExIDE0LjQwMzUgMTMuNDYxMiAxNC4yNTM0IDEzLjI3NjIgMTQuMjUzNEMxMy4wOTEzIDE0LjI1MzQgMTIuOTQxMyAxNC40MDM1IDEyLjk0MTMgMTQuNTg4N0MxMi45NDEzIDE0Ljc3NCAxMy4wOTEzIDE0LjkyNDEgMTMuMjc2MiAxNC45MjQxWk0xMS42Njk1IDE2LjczMkMxMS42Njk1IDE2LjkxNzIgMTEuNTE5NiAxNy4wNjc0IDExLjMzNDYgMTcuMDY3NEMxMS4xNDk3IDE3LjA2NzQgMTAuOTk5NyAxNi45MTcyIDEwLjk5OTcgMTYuNzMyQzEwLjk5OTcgMTYuNTQ2OCAxMS4xNDk3IDE2LjM5NjcgMTEuMzM0NiAxNi4zOTY3QzExLjUxOTYgMTYuMzk2NyAxMS42Njk1IDE2LjU0NjggMTEuNjY5NSAxNi43MzJaTTEyLjMwMjEgMTYuNDcxMUMxMi40ODcgMTYuNDcxMSAxMi42MzcgMTYuMzIxIDEyLjYzNyAxNi4xMzU4QzEyLjYzNyAxNS45NTA2IDEyLjQ4NyAxNS44MDA1IDEyLjMwMjEgMTUuODAwNUMxMi4xMTcxIDE1LjgwMDUgMTEuOTY3MiAxNS45NTA2IDExLjk2NzIgMTYuMTM1OEMxMS45NjcyIDE2LjMyMSAxMi4xMTcxIDE2LjQ3MTEgMTIuMzAyMSAxNi40NzExWk0xMy42MDQ3IDE1LjUzOTlDMTMuNjA0NyAxNS43MjUxIDEzLjQ1NDggMTUuODc1MiAxMy4yNjk4IDE1Ljg3NTJDMTMuMDg0OSAxNS44NzUyIDEyLjkzNSAxNS43MjUxIDEyLjkzNSAxNS41Mzk5QzEyLjkzNSAxNS4zNTQ3IDEzLjA4NDkgMTUuMjA0NSAxMy4yNjk4IDE1LjIwNDVDMTMuNDU0OCAxNS4yMDQ1IDEzLjYwNDcgMTUuMzU0NyAxMy42MDQ3IDE1LjUzOTlaTTE0LjA4ODMgMTUuMzUzM0MxNC4yNzMyIDE1LjM1MzMgMTQuNDIzMSAxNS4yMDMxIDE0LjQyMzEgMTUuMDE3OUMxNC40MjMxIDE0LjgzMjcgMTQuMjczMiAxNC42ODI2IDE0LjA4ODMgMTQuNjgyNkMxMy45MDMzIDE0LjY4MjYgMTMuNzUzNCAxNC44MzI3IDEzLjc1MzQgMTUuMDE3OUMxMy43NTM0IDE1LjIwMzEgMTMuOTAzMyAxNS4zNTMzIDE0LjA4ODMgMTUuMzUzM1pNMTUuMjk5MSAxNC40OTI3QzE1LjI5OTEgMTQuNjc4IDE1LjE0OTEgMTQuODI4MSAxNC45NjQyIDE0LjgyODFDMTQuNzc5MiAxNC44MjgxIDE0LjYyOTMgMTQuNjc4IDE0LjYyOTMgMTQuNDkyN0MxNC42MjkzIDE0LjMwNzUgMTQuNzc5MiAxNC4xNTc0IDE0Ljk2NDIgMTQuMTU3NEMxNS4xNDkxIDE0LjE1NzQgMTUuMjk5MSAxNC4zMDc1IDE1LjI5OTEgMTQuNDkyN1pNOS41Njc2MSAxOC4zNTA4QzkuNzUyNTcgMTguMzUwOCA5LjkwMjUgMTguMjAwNyA5LjkwMjUgMTguMDE1NUM5LjkwMjUgMTcuODMwMiA5Ljc1MjU3IDE3LjY4MDEgOS41Njc2MSAxNy42ODAxQzkuMzgyNjUgMTcuNjgwMSA5LjIzMjcyIDE3LjgzMDIgOS4yMzI3MiAxOC4wMTU1QzkuMjMyNzIgMTguMjAwNyA5LjM4MjY2IDE4LjM1MDggOS41Njc2MSAxOC4zNTA4Wk05LjkwMjUgMTkuMDU4N0M5LjkwMjUgMTkuMjQzOSA5Ljc1MjU3IDE5LjM5NDEgOS41Njc2MSAxOS4zOTQxQzkuMzgyNjYgMTkuMzk0MSA5LjIzMjcyIDE5LjI0MzkgOS4yMzI3MiAxOS4wNTg3QzkuMjMyNzIgMTguODczNSA5LjM4MjY1IDE4LjcyMzQgOS41Njc2MSAxOC43MjM0QzkuNzUyNTcgMTguNzIzNCA5LjkwMjUgMTguODczNSA5LjkwMjUgMTkuMDU4N1pNOS41Njc2MSAyMC40MzczQzkuNzUyNTcgMjAuNDM3MyA5LjkwMjUgMjAuMjg3MiA5LjkwMjUgMjAuMTAyQzkuOTAyNSAxOS45MTY4IDkuNzUyNTcgMTkuNzY2NiA5LjU2NzYxIDE5Ljc2NjZDOS4zODI2NSAxOS43NjY2IDkuMjMyNzIgMTkuOTE2OCA5LjIzMjcyIDIwLjEwMkM5LjIzMjcyIDIwLjI4NzIgOS4zODI2NiAyMC40MzczIDkuNTY3NjEgMjAuNDM3M1pNOS45MDI1IDIxLjE0NTJDOS45MDI1IDIxLjMzMDQgOS43NTI1NyAyMS40ODA2IDkuNTY3NjEgMjEuNDgwNkM5LjM4MjY2IDIxLjQ4MDYgOS4yMzI3MiAyMS4zMzA0IDkuMjMyNzIgMjEuMTQ1MkM5LjIzMjcyIDIwLjk2IDkuMzgyNjUgMjAuODA5OSA5LjU2NzYxIDIwLjgwOTlDOS43NTI1NyAyMC44MDk5IDkuOTAyNSAyMC45NiA5LjkwMjUgMjEuMTQ1MlpNOS41Njc2MSAyMi41MjQxQzkuNzUyNTcgMjIuNTI0MSA5LjkwMjUgMjIuMzc0IDkuOTAyNSAyMi4xODg4QzkuOTAyNSAyMi4wMDM2IDkuNzUyNTcgMjEuODUzNCA5LjU2NzYxIDIxLjg1MzRDOS4zODI2NSAyMS44NTM0IDkuMjMyNzIgMjIuMDAzNiA5LjIzMjcyIDIyLjE4ODhDOS4yMzI3MiAyMi4zNzQgOS4zODI2NiAyMi41MjQxIDkuNTY3NjEgMjIuNTI0MVpNMTAuODE2MyAxOC40NzI5QzEwLjgxNjMgMTguNjU4MSAxMC42NjY0IDE4LjgwODIgMTAuNDgxNCAxOC44MDgyQzEwLjI5NjUgMTguODA4MiAxMC4xNDY1IDE4LjY1ODEgMTAuMTQ2NSAxOC40NzI5QzEwLjE0NjUgMTguMjg3NyAxMC4yOTY1IDE4LjEzNzUgMTAuNDgxNCAxOC4xMzc1QzEwLjY2NjQgMTguMTM3NSAxMC44MTYzIDE4LjI4NzcgMTAuODE2MyAxOC40NzI5Wk0xMC40ODE0IDE5Ljg1MTVDMTAuNjY2NCAxOS44NTE1IDEwLjgxNjMgMTkuNzAxMyAxMC44MTYzIDE5LjUxNjFDMTAuODE2MyAxOS4zMzA5IDEwLjY2NjQgMTkuMTgwOCAxMC40ODE0IDE5LjE4MDhDMTAuMjk2NSAxOS4xODA4IDEwLjE0NjUgMTkuMzMwOSAxMC4xNDY1IDE5LjUxNjFDMTAuMTQ2NSAxOS43MDEzIDEwLjI5NjUgMTkuODUxNSAxMC40ODE0IDE5Ljg1MTVaTTEwLjgxNjMgMjAuNTU5NEMxMC44MTYzIDIwLjc0NDYgMTAuNjY2NCAyMC44OTQ3IDEwLjQ4MTQgMjAuODk0N0MxMC4yOTY1IDIwLjg5NDcgMTAuMTQ2NSAyMC43NDQ2IDEwLjE0NjUgMjAuNTU5NEMxMC4xNDY1IDIwLjM3NDIgMTAuMjk2NSAyMC4yMjQxIDEwLjQ4MTQgMjAuMjI0MUMxMC42NjY0IDIwLjIyNDEgMTAuODE2MyAyMC4zNzQyIDEwLjgxNjMgMjAuNTU5NFpNMTAuNDgxNCAyMS45MzgzQzEwLjY2NjQgMjEuOTM4MyAxMC44MTYzIDIxLjc4ODIgMTAuODE2MyAyMS42MDNDMTAuODE2MyAyMS40MTc4IDEwLjY2NjQgMjEuMjY3NiAxMC40ODE0IDIxLjI2NzZDMTAuMjk2NSAyMS4yNjc2IDEwLjE0NjUgMjEuNDE3NyAxMC4xNDY1IDIxLjYwM0MxMC4xNDY1IDIxLjc4ODIgMTAuMjk2NSAyMS45MzgzIDEwLjQ4MTQgMjEuOTM4M1pNMTAuODE2MyAyMi42NDYyQzEwLjgxNjMgMjIuODMxNCAxMC42NjY0IDIyLjk4MTYgMTAuNDgxNCAyMi45ODE2QzEwLjI5NjUgMjIuOTgxNiAxMC4xNDY1IDIyLjgzMTQgMTAuMTQ2NSAyMi42NDYyQzEwLjE0NjUgMjIuNDYxIDEwLjI5NjUgMjIuMzEwOSAxMC40ODE0IDIyLjMxMDlDMTAuNjY2NCAyMi4zMTA5IDEwLjgxNjMgMjIuNDYxIDEwLjgxNjMgMjIuNjQ2MlpNMTIuNTA1NyAxNy40OTE4QzEyLjY5MDYgMTcuNDkxOCAxMi44NDA2IDE3LjM0MTcgMTIuODQwNiAxNy4xNTY1QzEyLjg0MDYgMTYuOTcxMyAxMi42OTA2IDE2LjgyMTEgMTIuNTA1NyAxNi44MjExQzEyLjMyMDcgMTYuODIxMSAxMi4xNzA4IDE2Ljk3MTMgMTIuMTcwOCAxNy4xNTY1QzEyLjE3MDggMTcuMzQxNyAxMi4zMjA3IDE3LjQ5MTggMTIuNTA1NyAxNy40OTE4Wk0xMy44MDgyIDE2LjU2MDJDMTMuODA4MiAxNi43NDU0IDEzLjY1ODIgMTYuODk1NiAxMy40NzMzIDE2Ljg5NTZDMTMuMjg4MyAxNi44OTU2IDEzLjEzODQgMTYuNzQ1NCAxMy4xMzg0IDE2LjU2MDJDMTMuMTM4NCAxNi4zNzUgMTMuMjg4MyAxNi4yMjQ5IDEzLjQ3MzMgMTYuMjI0OUMxMy42NTgyIDE2LjIyNDkgMTMuODA4MiAxNi4zNzUgMTMuODA4MiAxNi41NjAyWk0xNC40NDExIDE2LjI5OTRDMTQuNjI2IDE2LjI5OTQgMTQuNzc1OSAxNi4xNDkyIDE0Ljc3NTkgMTUuOTY0QzE0Ljc3NTkgMTUuNzc4OCAxNC42MjYgMTUuNjI4NyAxNC40NDExIDE1LjYyODdDMTQuMjU2MSAxNS42Mjg3IDE0LjEwNjIgMTUuNzc4OCAxNC4xMDYyIDE1Ljk2NEMxNC4xMDYyIDE2LjE0OTIgMTQuMjU2MSAxNi4yOTk0IDE0LjQ0MTEgMTYuMjk5NFpNMTUuNTk0NSAxNS40NDI0QzE1LjU5NDUgMTUuNjI3NiAxNS40NDQ2IDE1Ljc3NzcgMTUuMjU5NiAxNS43Nzc3QzE1LjA3NDcgMTUuNzc3NyAxNC45MjQ3IDE1LjYyNzYgMTQuOTI0NyAxNS40NDI0QzE0LjkyNDcgMTUuMjU3MiAxNS4wNzQ3IDE1LjEwNyAxNS4yNTk2IDE1LjEwN0MxNS40NDQ2IDE1LjEwNyAxNS41OTQ1IDE1LjI1NzIgMTUuNTk0NSAxNS40NDI0Wk0xMS40OTY2IDE5LjA5ODZDMTEuNjgxNiAxOS4wOTg2IDExLjgzMTUgMTguOTQ4NSAxMS44MzE1IDE4Ljc2MzNDMTEuODMxNSAxOC41NzgxIDExLjY4MTYgMTguNDI3OSAxMS40OTY2IDE4LjQyNzlDMTEuMzExNiAxOC40Mjc5IDExLjE2MTcgMTguNTc4MSAxMS4xNjE3IDE4Ljc2MzNDMTEuMTYxNyAxOC45NDg1IDExLjMxMTYgMTkuMDk4NiAxMS40OTY2IDE5LjA5ODZaTTExLjgzMTUgMTkuODA2NUMxMS44MzE1IDE5Ljk5MTcgMTEuNjgxNiAyMC4xNDE5IDExLjQ5NjYgMjAuMTQxOUMxMS4zMTE2IDIwLjE0MTkgMTEuMTYxNyAxOS45OTE3IDExLjE2MTcgMTkuODA2NUMxMS4xNjE3IDE5LjYyMTMgMTEuMzExNiAxOS40NzEyIDExLjQ5NjYgMTkuNDcxMkMxMS42ODE2IDE5LjQ3MTIgMTEuODMxNSAxOS42MjEzIDExLjgzMTUgMTkuODA2NVpNMTEuNDk2NiAyMS4xODUxQzExLjY4MTYgMjEuMTg1MSAxMS44MzE1IDIxLjAzNSAxMS44MzE1IDIwLjg0OThDMTEuODMxNSAyMC42NjQ2IDExLjY4MTYgMjAuNTE0NCAxMS40OTY2IDIwLjUxNDRDMTEuMzExNiAyMC41MTQ0IDExLjE2MTcgMjAuNjY0NiAxMS4xNjE3IDIwLjg0OThDMTEuMTYxNyAyMS4wMzUgMTEuMzExNiAyMS4xODUxIDExLjQ5NjYgMjEuMTg1MVpNMTEuODMxNSAyMS44OTMzQzExLjgzMTUgMjIuMDc4NiAxMS42ODE2IDIyLjIyODcgMTEuNDk2NiAyMi4yMjg3QzExLjMxMTYgMjIuMjI4NyAxMS4xNjE3IDIyLjA3ODYgMTEuMTYxNyAyMS44OTMzQzExLjE2MTcgMjEuNzA4MSAxMS4zMTE2IDIxLjU1OCAxMS40OTY2IDIxLjU1OEMxMS42ODE2IDIxLjU1OCAxMS44MzE1IDIxLjcwODEgMTEuODMxNSAyMS44OTMzWk0xMS40OTY2IDIzLjI3MkMxMS42ODE2IDIzLjI3MiAxMS44MzE1IDIzLjEyMTggMTEuODMxNSAyMi45MzY2QzExLjgzMTUgMjIuNzUxNCAxMS42ODE2IDIyLjYwMTMgMTEuNDk2NiAyMi42MDEzQzExLjMxMTYgMjIuNjAxMyAxMS4xNjE3IDIyLjc1MTQgMTEuMTYxNyAyMi45MzY2QzExLjE2MTcgMjMuMTIxOCAxMS4zMTE2IDIzLjI3MiAxMS40OTY2IDIzLjI3MloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",Fci={name:"pointCloud",isViewer:!0,component:Uci,window:{name:"pointCloud",label:"pointCloud.window_label",header:!1,logoAndVersion:!0,plugins:["fullscreen","measure3d"],icon:{imgUri:Yci},modelTypes:["POINT_CLOUD"]},i18n:{en:{window_label:"Point Cloud"},fr:{window_label:"Point Cloud"}}},T7="viewer-point-cloud-parameters_parameters",Qci={computed:{viewer(){const t=this.$viewer.localContext.pluginComponentInstances.get("pointCloud");if(t)return t;{const e="'Viewer Point Cloud Parameters' plugin cannot work without Viewer Point Cloud plugin.";throw console.error(e),new Error(e)}},sensitivity:{get(){return this.viewer.sensitivity},set(t){this.viewer.sensitivity=t,this.saveParameters(t)}}},mounted(){this.subscription=this.$viewer.localContext.hub.on("pointcloud-model-loaded",()=>{this.applySavedParameters()})},unmounted(){this.$viewer.localContext.hub.off(this.subscription)},methods:{getSavedParameters(){let t={};try{const e=localStorage.getItem(T7)||"{}";t=JSON.parse(e)}catch{localStorage.removeItem(T7)}return Object.assign({},this.getDefaultParameters(),t)},applySavedParameters(){const t=this.getSavedParameters();this.viewer.sensitivity=t.sensitivity},getDefaultParameters(){return{sensitivity:50}},saveParameters(t){const e={sensitivity:t};localStorage.setItem(T7,JSON.stringify(e))}}},Gci={class:"viewer-point-cloud-parameters"},Hci={class:"viewer-point-cloud-parameters_header"},Vci={class:"viewer-point-cloud-parameters_content"},Zci={class:"m-b-18"},Jci={class:"viewer-point-cloud-parameters_content__value"};function Wci(t,e,i,o,r,n){const s=z("BIMDataIconParameters"),a=z("BIMDataSlider");return D(),Y("div",Gci,[m("div",Hci,[O(s,{size:"xs",margin:"0 12px 0 0"}),m("span",null,re(t.$t("pointCloudParameters.title")),1)]),m("div",Vci,[m("div",Zci,[m("span",null,re(t.$t("pointCloudParameters.sensitivity")),1),m("span",Jci,re(n.sensitivity),1)]),O(a,{modelValue:n.sensitivity,"onUpdate:modelValue":e[0]||(e[0]=l=>n.sensitivity=l),min:20,max:150},null,8,["modelValue"])])])}const Kci=K(Qci,[["render",Wci]]),qci="Parameters",Xci="Point Cloud Viewer settings",_ci="Sensitivity",$ci={tooltip:qci,title:Xci,sensitivity:_ci},eui="Param\xE8tres",tui="Param\xE8tres de la visionneuse de Tileset",iui="Sensibilit\xE9",oui={tooltip:eui,title:tui,sensitivity:iui},rui={name:"pointCloudParameters",i18n:{en:$ci,fr:oui},addToWindows:["pointCloud"],component:Kci,button:{tooltip:"pointCloudParameters.tooltip",position:"right",content:"simple",icon:{component:"BIMDataIconParameters",options:{size:"m"}}}};class cm{constructor(e,i,o=null,r=!0){this.name=e,this.icon=i,this.group=o,this.label=`drawing-tools.action.${e}`,this.lineStyleComponentDisplayed=r}onActivate(){throw new Error("Not implemented")}onDeactivate(){throw new Error("Not implemented")}}const sui={},nui={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},aui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.176395 0.13889C0.342301 -0.00852533 0.584825 -0.0419546 0.786658 0.0547728L21.6969 10.0759C21.9052 10.1757 22.0251 10.3924 21.9956 10.6155C21.966 10.8386 21.7935 11.019 21.566 11.0647L12.0932 12.9697L9.57365 21.6158C9.51015 21.8337 9.31 21.9881 9.07635 21.9993C8.8427 22.0106 8.6277 21.8763 8.54214 21.6655L0.03777 0.720195C-0.0446022 0.517321 0.0104881 0.286306 0.176395 0.13889Z"},null,-1),lui=[aui];function cui(t,e){return D(),Y("svg",nui,lui)}const uui=K(sui,[["render",cui]]);class dui{constructor(){this._listenersTarget=new Map}on(e,i,o=window,r={}){this._listenersTarget.has(o)||this._listenersTarget.set(o,new Map);const n=this._listenersTarget.get(o);n.has(e)||n.set(e,new Map);let s=i.bind(this);return r!=null&&r.once&&(s=(...a)=>{i.call(this,...a),this.off(e,i,o)}),o.addEventListener(e,s,r),n.get(e).set(i,s),()=>{this.off(e,i,o)}}off(e,i,o=window){if(!this._listenersTarget.has(o))return;const r=this._listenersTarget.get(o);if(!r.has(e))return;const n=r.get(e).get(i);o.removeEventListener(e,n),r.get(e).delete(i),r.get(e).size===0&&r.delete(e),r.size===0&&this._listenersTarget.delete(o)}}const hui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOS42NzQ5IDIuOTI0NTlDMjAuMTA4MSAzLjM1Nzg3IDIwLjEwODEgNC4wNTc3NyAxOS42NzQ5IDQuNDkxMDRMMTcuNjQxOCA2LjUyNDFMMTMuNDc1NyAyLjM1OEwxNS41MDg4IDAuMzI0OTUyQzE1Ljk0MjEgLTAuMTA4MzIyIDE2LjY0MiAtMC4xMDgzMjIgMTcuMDc1MiAwLjMyNDk1MkwxOS42NzQ5IDIuOTI0NTlaTTAgMjAuMDAwMVYxNS44MzRMMTIuMjg3MiAzLjU0NjgzTDE2LjQ1MzMgNy43MTI5Mkw0LjE2NjA5IDIwLjAwMDFIMFoiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",Aui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOC42NzQ5IDIuOTI0NkMxOS4xMDgxIDMuMzU3ODcgMTkuMTA4MSA0LjA1Nzc3IDE4LjY3NDkgNC40OTEwNUwxNi42NDE4IDYuNTI0MUwxMi40NzU3IDIuMzU4MDFMMTQuNTA4OCAwLjMyNDk1NUMxNC45NDIxIC0wLjEwODMxOCAxNS42NDIgLTAuMTA4MzE4IDE2LjA3NTIgMC4zMjQ5NTVMMTguNjc0OSAyLjkyNDZaTTAgMThWMTQuODM0TDExLjI4NzIgMy41NDY4NEwxNS40NTMzIDcuNzEyOTNMNC4xNjYwOSAxOS4wMDAxSDFMMCAxOFoiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",pui=`url(${hui}) 0 20, auto`,gui=`url(${Aui}) 1 23, auto`;class Pj extends dui{constructor(e,{pointerUpCursor:i=pui,pointerDownCursor:o=gui,element:r=e.canvas}={}){super(),this._engine2d=e,this.element=r,this.pointerUpCursor=i,this.pointerDownCursor=o}_getPositions(e){const{clientX:i,clientY:o}=e,{x:r,y:n}=this._engine2d.canvas.getBoundingClientRect();return this._engine2d.camera.getPosition({x:Math.max(i-r,0),y:Math.max(o-n,0)})}_getCanvasPosition(e){const{x:i,y:o}=this.element.getBoundingClientRect();return{x:Math.max(e.clientX-i,0),y:Math.max(e.clientY-o,0)}}_getPositionedCallbackPayload(e){const i=this;return{get position(){return i._getPositions(e)},get canvasPosition(){return i._getCanvasPosition(e)},mouseEvent:e}}onEnabled(){}onMouseDown(){}onDrag(){}onMouseUp(){}onDisabled(){}_onMouseDown(e){this.element.style.cursor=this.pointerDownCursor,this.onMouseDown(this._getPositionedCallbackPayload(e)),this.on("mousemove",this._onMouseMove,window),this.on("mouseup",this._onMouseUp,window,{once:!0})}_onMouseMove(e){e.preventDefault();const i=e.buttons===4;e.shiftKey||i||this.onDrag(this._getPositionedCallbackPayload(e))}_onMouseUp(e){this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.element.style.cursor=this.pointerUpCursor,this.onMouseUp(this._getPositionedCallbackPayload(e))}disable(){this.off("mousedown",this._onMouseDown,this.element),this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.element.style.cursor="",this.onDisabled()}enable(){this.on("mousedown",this._onMouseDown,this.element),this.element.style.cursor=this.pointerUpCursor,this.onEnabled()}}const Mui="data:image/svg+xml;base64,ICA8c3ZnCiAgICB3aWR0aD0iMTgiCiAgICBoZWlnaHQ9IjE4IgogICAgdmlld0JveD0iMCAwIDIyIDIyIgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxwYXRoCiAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICBkPSJNMC4xNzYzOTUgMC4xMzg4OUMwLjM0MjMwMSAtMC4wMDg1MjUzMyAwLjU4NDgyNSAtMC4wNDE5NTQ2IDAuNzg2NjU4IDAuMDU0NzcyOEwyMS42OTY5IDEwLjA3NTlDMjEuOTA1MiAxMC4xNzU3IDIyLjAyNTEgMTAuMzkyNCAyMS45OTU2IDEwLjYxNTVDMjEuOTY2IDEwLjgzODYgMjEuNzkzNSAxMS4wMTkgMjEuNTY2IDExLjA2NDdMMTIuMDkzMiAxMi45Njk3TDkuNTczNjUgMjEuNjE1OEM5LjUxMDE1IDIxLjgzMzcgOS4zMSAyMS45ODgxIDkuMDc2MzUgMjEuOTk5M0M4Ljg0MjcgMjIuMDEwNiA4LjYyNzcgMjEuODc2MyA4LjU0MjE0IDIxLjY2NTVMMC4wMzc3NyAwLjcyMDE5NUMtMC4wNDQ2MDIyIDAuNTE3MzIxIDAuMDEwNDg4MSAwLjI4NjMwNiAwLjE3NjM5NSAwLjEzODg5WiIKICAgIC8+CiAgPC9zdmc+",$ee=`url(${Mui}), auto`;class fui extends cm{constructor({viewer:e},i){super("pointer",uui,"pointers",!1),this._pointerManager=new wui(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class wui extends Pj{constructor(e,i){super(e,{pointerUpCursor:$ee,pointerDownCursor:$ee,element:e.canvas.parentElement}),this._drawer=i,this._currentDrawing=null}onMouseDown(e){this._currentDrawing=this._drawer.pick(e)}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null}onDrag({position:e,mouseEvent:i,canvasPosition:o}){if(!this._currentDrawing)return;const{movementX:r,movementY:n}=i,s={x:o.x-r,y:o.y-n},a=this._engine2d.camera.getPosition(s),l=e.x-a.x,c=e.y-a.y;this._currentDrawing.x+=l,this._currentDrawing.y+=c}}const Lui={},mui={width:"14",height:"16",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg"},yui=m("path",{d:"M6.43587 16C6.09019 16 5.76756 15.9196 5.46797 15.7588C5.16839 15.5979 4.91888 15.3672 4.71944 15.0666L0 7.91354L0.307859 7.60694C0.508253 7.39952 0.745433 7.28253 1.0194 7.25596C1.29337 7.22942 1.54313 7.29881 1.7687 7.46414L4.1836 9.20471V2.14936C4.1836 1.98328 4.2379 1.84407 4.34649 1.73171C4.45509 1.61936 4.58965 1.56318 4.75018 1.56318C4.91071 1.56318 5.04519 1.61936 5.15361 1.73171C5.26203 1.84407 5.31624 1.98328 5.31624 2.14936V7.79331H7.08062V0.586175C7.08062 0.420099 7.13491 0.280884 7.2435 0.168531C7.35209 0.0561769 7.48665 0 7.64718 0C7.80771 0 7.94219 0.0561769 8.05061 0.168531C8.15904 0.280884 8.21325 0.420099 8.21325 0.586175V7.79331H9.97762V1.36777C9.97762 1.20169 10.0319 1.06248 10.1405 0.950122C10.2491 0.837768 10.3837 0.781592 10.5442 0.781592C10.7047 0.781592 10.8392 0.837768 10.9476 0.950122C11.056 1.06248 11.1102 1.20169 11.1102 1.36777V7.79331H12.8674V2.713C12.8674 2.54691 12.9217 2.40769 13.0302 2.29534C13.1388 2.18298 13.2734 2.12681 13.4339 2.12681C13.5945 2.12681 13.7289 2.18298 13.8373 2.29534C13.9458 2.40769 14 2.54691 14 2.713V13.0691C14 13.8787 13.7236 14.5696 13.1708 15.1418C12.6181 15.7139 11.9506 16 11.1683 16H6.43587Z"},null,-1),vui=[yui];function Cui(t,e){return D(),Y("svg",mui,vui)}const Iui=K(Lui,[["render",Cui]]),jui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNDM1ODcgMTZDNi4wOTAxOSAxNiA1Ljc2NzU2IDE1LjkxOTYgNS40Njc5NyAxNS43NTg4QzUuMTY4MzkgMTUuNTk3OSA0LjkxODg4IDE1LjM2NzIgNC43MTk0NCAxNS4wNjY2TDAgNy45MTM1NEwwLjMwNzg1OSA3LjYwNjk0QzAuNTA4MjUyIDcuMzk5NTIgMC43NDU0MzMgNy4yODI1MyAxLjAxOTQgNy4yNTU5NkMxLjI5MzM3IDcuMjI5NDIgMS41NDMxMyA3LjI5ODgxIDEuNzY4NyA3LjQ2NDE0TDQuMTgzNiA5LjIwNDcxVjIuMTQ5MzZDNC4xODM2IDEuOTgzMjggNC4yMzc5IDEuODQ0MDcgNC4zNDY0OSAxLjczMTcxQzQuNDU1MDkgMS42MTkzNiA0LjU4OTY1IDEuNTYzMTggNC43NTAxOCAxLjU2MzE4QzQuOTEwNzEgMS41NjMxOCA1LjA0NTE5IDEuNjE5MzYgNS4xNTM2MSAxLjczMTcxQzUuMjYyMDMgMS44NDQwNyA1LjMxNjI0IDEuOTgzMjggNS4zMTYyNCAyLjE0OTM2VjcuNzkzMzFINy4wODA2MlYwLjU4NjE3NUM3LjA4MDYyIDAuNDIwMDk5IDcuMTM0OTEgMC4yODA4ODQgNy4yNDM1IDAuMTY4NTMxQzcuMzUyMDkgMC4wNTYxNzY5IDcuNDg2NjUgMCA3LjY0NzE4IDBDNy44MDc3MSAwIDcuOTQyMTkgMC4wNTYxNzY5IDguMDUwNjEgMC4xNjg1MzFDOC4xNTkwNCAwLjI4MDg4NCA4LjIxMzI1IDAuNDIwMDk5IDguMjEzMjUgMC41ODYxNzVWNy43OTMzMUg5Ljk3NzYyVjEuMzY3NzdDOS45Nzc2MiAxLjIwMTY5IDEwLjAzMTkgMS4wNjI0OCAxMC4xNDA1IDAuOTUwMTIyQzEwLjI0OTEgMC44Mzc3NjggMTAuMzgzNyAwLjc4MTU5MiAxMC41NDQyIDAuNzgxNTkyQzEwLjcwNDcgMC43ODE1OTIgMTAuODM5MiAwLjgzNzc2OCAxMC45NDc2IDAuOTUwMTIyQzExLjA1NiAxLjA2MjQ4IDExLjExMDIgMS4yMDE2OSAxMS4xMTAyIDEuMzY3NzdWNy43OTMzMUgxMi44Njc0VjIuNzEzQzEyLjg2NzQgMi41NDY5MSAxMi45MjE3IDIuNDA3NjkgMTMuMDMwMiAyLjI5NTM0QzEzLjEzODggMi4xODI5OCAxMy4yNzM0IDIuMTI2ODEgMTMuNDMzOSAyLjEyNjgxQzEzLjU5NDUgMi4xMjY4MSAxMy43Mjg5IDIuMTgyOTggMTMuODM3MyAyLjI5NTM0QzEzLjk0NTggMi40MDc2OSAxNCAyLjU0NjkxIDE0IDIuNzEzVjEzLjA2OTFDMTQgMTMuODc4NyAxMy43MjM2IDE0LjU2OTYgMTMuMTcwOCAxNS4xNDE4QzEyLjYxODEgMTUuNzEzOSAxMS45NTA2IDE2IDExLjE2ODMgMTZINi40MzU4N1oiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",bui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNDM1ODcgMTFDMy4wOTAxOSAxMSAyLjc2NzU2IDEwLjkxOTYgMi40Njc5NyAxMC43NTg4QzIuMTY4MzkgMTAuNTk3OSAxLjkxODg4IDEwLjM2NzIgMS43MTk0NCAxMC4wNjY2TDAgNi45MTM1NEMwLjUgNS41IDAuNzgwMjU0IDUuNTM5MDggMS4xODM2IDUuNVY0LjIwNDcxVjIuMTQ5MzZDMS4xODM2IDEuOTgzMjggMS4yMzc5IDEuODQ0MDcgMS4zNDY0OSAxLjczMTcyQzEuNDU1MDkgMS42MTkzNiAxLjU4OTY1IDEuNTYzMTggMS43NTAxOCAxLjU2MzE4QzEuOTEwNzEgMS41NjMxOCAyLjA0NTE5IDEuNjE5MzYgMi4xNTM2MSAxLjczMTcyQzIuMjYyMDMgMS44NDQwNyAyLjMxNjI0IDEuOTgzMjggMi4zMTYyNCAyLjE0OTM2VjIuNzkzMzFINC4wODA2MlYwLjU4NjE3NUM0LjA4MDYyIDAuNDIwMSA0LjEzNDkxIDAuMjgwODg0IDQuMjQzNSAwLjE2ODUzQzQuMzUyMDkgMC4wNTYxNzY3IDQuNDg2NjUgMCA0LjY0NzE4IDBDNC44MDc3MSAwIDQuOTQyMTkgMC4wNTYxNzY3IDUuMDUwNjEgMC4xNjg1M0M1LjE1OTA0IDAuMjgwODg0IDUuMjEzMjUgMC40MjAxIDUuMjEzMjUgMC41ODYxNzVWMi43OTMzMUg2Ljk3NzYyVjEuMzY3NzdDNi45Nzc2MiAxLjIwMTY5IDcuMDMxOTEgMS4wNjI0OCA3LjE0MDUgMC45NTAxMjJDNy4yNDkwOSAwLjgzNzc2OCA3LjM4MzY1IDAuNzgxNTkxIDcuNTQ0MTggMC43ODE1OTFDNy43MDQ3MSAwLjc4MTU5MSA3LjgzOTE5IDAuODM3NzY4IDcuOTQ3NjIgMC45NTAxMjJDOC4wNTYwNCAxLjA2MjQ4IDguMTEwMjUgMS4yMDE2OSA4LjExMDI1IDEuMzY3NzdWMi43OTMzMUg5Ljg2NzM1VjIuNzEzQzkuODY3MzUgMi41NDY5MSA5LjkyMTY1IDIuNDA3NjkgMTAuMDMwMiAyLjI5NTM0QzEwLjEzODggMi4xODI5OCAxMC4yNzM0IDIuMTI2ODEgMTAuNDMzOSAyLjEyNjgxQzEwLjU5NDUgMi4xMjY4MSAxMC43Mjg5IDIuMTgyOTggMTAuODM3MyAyLjI5NTM0QzEwLjk0NTggMi40MDc2OSAxMSAyLjU0NjkxIDExIDIuNzEzVjguMDY5MDVDMTEgOC44Nzg2OSAxMC43MjM2IDkuNTY5NTkgMTAuMTcwOCAxMC4xNDE4QzkuNjE4MDUgMTAuNzEzOSA4Ljk1MDU1IDExIDguMTY4MzMgMTFIMy40MzU4N1oiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",xui=`url(${jui}) 7 23, auto`,Nui=`url(${bui}) 7 18, auto`;class Dui extends cm{constructor({viewer:e}){super("pan",Iui,"pointers",!1),this._pointerManager=new Sui(e)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Sui extends Pj{constructor(e){super(e,{pointerUpCursor:xui,pointerDownCursor:Nui})}onDrag({mouseEvent:e}){const{movementX:i,movementY:o}=e;this._engine2d.camera.translate(-i*window.devicePixelRatio,-o*window.devicePixelRatio)}}class um extends cm{constructor(e,i,o,r,n,s=o){super(o,r,n),this._pointermanager=new Tui(e,i,s)}onActivate(){this._pointermanager.enable()}onDeactivate(){this._pointermanager.disable()}}class Tui extends Pj{constructor(e,i,o){super(e),this._drawer=i,this._currentDrawing=null,this.shape=o}onMouseDown({position:e}){this._currentDrawing=this._drawer.makeDrawing(this.shape,{p1:e})}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null}onDrag(e){this._currentDrawing.dragTo(e)}}const kui={},Eui={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},zui=m("path",{d:"M1.22223 22V17.6324L17.3486 0.577372C17.5382 0.376633 17.7466 0.230225 17.9738 0.138148C18.201 0.0460498 18.4282 0 18.6554 0C18.8951 0 19.1274 0.0460498 19.3523 0.138148C19.5771 0.230225 19.7742 0.376633 19.9434 0.577372L21.4547 2.17759C21.6443 2.35678 21.7826 2.56541 21.8695 2.80349C21.9565 3.04156 22 3.28752 22 3.54136C22 3.78194 21.9565 4.02251 21.8695 4.26306C21.7826 4.50364 21.6443 4.7243 21.4547 4.92504L5.34718 22H1.22223ZM18.4697 5.35812L20.1667 3.56126L18.6366 1.94115L16.9396 3.73801L18.4697 5.35812ZM12.9979 22C14.4269 22 15.7518 21.63 16.9724 20.89C18.1931 20.1501 18.8034 19.1181 18.8034 17.7941C18.8034 17.0342 18.5884 16.3698 18.1582 15.8007C17.7281 15.2316 17.1244 14.7504 16.3472 14.3572L14.9793 15.8056C15.6045 16.0545 16.0926 16.3477 16.4436 16.6854C16.7946 17.023 16.9701 17.3926 16.9701 17.7941C16.9701 18.4063 16.5729 18.9368 15.7785 19.3856C14.984 19.8344 14.0571 20.0588 12.9979 20.0588C12.7378 20.0588 12.52 20.1518 12.3445 20.3376C12.169 20.5234 12.0812 20.754 12.0812 21.0294C12.0812 21.3048 12.169 21.5354 12.3445 21.7212C12.52 21.9071 12.7378 22 12.9979 22ZM1.94853 12.8591L3.31174 11.4032C2.83381 11.1892 2.46793 10.9677 2.21409 10.7387C1.96024 10.5098 1.83331 10.2733 1.83331 10.0294C1.83331 9.70425 2.03819 9.3832 2.44796 9.06629C2.85772 8.7494 3.67292 8.31305 4.89358 7.75722C6.59216 6.98739 7.72899 6.29098 8.30404 5.66799C8.87912 5.04498 9.16666 4.34193 9.16666 3.55883C9.16666 2.49699 8.74397 1.63839 7.8986 0.983047C7.05323 0.327683 5.94814 0 4.58335 0C3.74502 0 2.97408 0.160117 2.27053 0.480347C1.56695 0.800556 1.04124 1.1921 0.693399 1.65499C0.524161 1.86901 0.454036 2.10502 0.483023 2.363C0.512011 2.62098 0.627572 2.83294 0.829708 2.99887C1.03184 3.16974 1.25278 3.23982 1.49252 3.20913C1.73226 3.17844 1.93674 3.07351 2.10596 2.89433C2.41465 2.56748 2.76957 2.32691 3.17073 2.1726C3.57186 2.0183 4.04273 1.94115 4.58335 1.94115C5.48121 1.94115 6.16402 2.10168 6.63176 2.42273C7.09949 2.74378 7.33335 3.12248 7.33335 3.55883C7.33335 3.93547 7.13161 4.27684 6.72814 4.58294C6.32464 4.88906 5.46947 5.35487 4.16262 5.98036C2.58783 6.71038 1.50036 7.36407 0.90023 7.94144C0.300076 8.51881 0 9.21481 0 10.0294C0 10.6367 0.171193 11.1705 0.513579 11.6309C0.855965 12.0913 1.33428 12.5007 1.94853 12.8591Z"},null,-1),Pui=[zui];function Bui(t,e){return D(),Y("svg",Eui,Pui)}const Oui=K(kui,[["render",Bui]]);class Rui extends um{constructor({viewer:e},i){super(e,i,"pen",Oui,null,"freehand")}}const Uui={},Yui={width:"22",height:"22",viewBox:"0 0 22 23",xmlns:"http://www.w3.org/2000/svg"},Fui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 0.769226C0.447715 0.769226 0 1.21694 0 1.76923V4.32096C0 4.87324 0.447716 5.32096 1 5.32096H1.51723V18.2175H1C0.447715 18.2175 0 18.6652 0 19.2175V21.7692C0 22.3215 0.447716 22.7692 1 22.7692H3.55173C4.10401 22.7692 4.55173 22.3215 4.55173 21.7692V21.252H17.4482V21.7692C17.4482 22.3215 17.896 22.7692 18.4482 22.7692H21C21.5523 22.7692 22 22.3215 22 21.7692V19.2175C22 18.6652 21.5523 18.2175 21 18.2175H20.4828V5.32096H21C21.5523 5.32096 22 4.87324 22 4.32095V1.76923C22 1.21694 21.5523 0.769226 21 0.769226H18.4482C17.896 0.769226 17.4482 1.21694 17.4482 1.76923V2.28643H4.55173V1.76923C4.55173 1.21694 4.10401 0.769226 3.55173 0.769226H1ZM3.03448 5.32096H3.55173C4.10401 5.32096 4.55173 4.87324 4.55173 4.32095V3.80367H17.4482V4.32096C17.4482 4.87324 17.896 5.32096 18.4482 5.32096H18.9655V18.2175H18.4482C17.896 18.2175 17.4482 18.6652 17.4482 19.2175V19.7347H4.55173V19.2175C4.55173 18.6652 4.10401 18.2175 3.55173 18.2175H3.03448V5.32096ZM11.4216 6.83819H11.9202L15.931 17.4589H13.79L12.9878 15.0955H9.00098L8.20266 17.4589H6.06894L10.0578 6.83819H10.549H11.4216ZM9.53565 13.5126H12.4505L10.9896 9.2082L9.53565 13.5126Z"},null,-1),Qui=[Fui];function Gui(t,e){return D(),Y("svg",Yui,Qui)}const Hui=K(Uui,[["render",Gui]]),Vui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMS45NjI5NlY3LjVNNSAxLjk2Mjk2TDMgMUgxTTUgMS45NjI5Nkw3IDFIOU01IDEzLjAzN1Y3LjVNNSAxMy4wMzdMNyAxNEg5TTUgMTMuMDM3TDMgMTRIMU01IDcuNUg3TTUgNy41SDMiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMSA5VjExTTExIDEzVjExTTExIDExSDEzTTExIDExSDkiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",Zui=`url(${Vui}) 5 7, auto`;class Jui extends cm{constructor(e,i){super("text",Hui,null,!1),this._viewerPlanPlugin=e,this._drawer=i,this.canvas=e.$refs.canvas;const o=Xe(!1);this.autoDeactivateCallback=null,this.connector={enabledRef:o,deactivateAction(){var r;(r=this.autoDeactivateCallback)==null||r.call(this)}},this.onClick=r=>{this.autoDeactivateCallback();const{x:n,y:s}=e.viewer.camera.getPosition({x:r.offsetX,y:r.offsetY});i.makeDrawing("text",{x:n,y:s})}}onActivate(e){this.canvas.addEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor=Zui,this.autoDeactivateCallback=e,this.connector.enabledRef.value=!0}onDeactivate(){this.canvas.removeEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor="",this.autoDeactivateCallback=null,this.connector.enabledRef.value=!1}}const Wui={},Kui={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},qui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0H16V16H0V0ZM2 2V14H14V2H2Z"},null,-1),Xui=[qui];function _ui(t,e){return D(),Y("svg",Kui,Xui)}const $ui=K(Wui,[["render",_ui]]);class edi extends um{constructor({viewer:e},i){super(e,i,"rectangle",$ui,"shapes")}}const tdi={},idi={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},odi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16 1.37853L1.37853 16L0 14.6215L14.6215 0L16 1.37853Z"},null,-1),rdi=[odi];function sdi(t,e){return D(),Y("svg",idi,rdi)}const ndi=K(tdi,[["render",sdi]]);class adi extends um{constructor({viewer:e},i){super(e,i,"line",ndi,"shapes")}}const ldi={},cdi={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"},udi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9914 1.88377H10.0848V0H16.207V6.12225H14.3233V3.21594L1.33203 16.2072L0 14.8751L12.9914 1.88377Z"},null,-1),ddi=[udi];function hdi(t,e){return D(),Y("svg",cdi,ddi)}const Adi=K(ldi,[["render",hdi]]);class pdi extends um{constructor({viewer:e},i){super(e,i,"arrow",Adi,"shapes")}}const gdi={},Mdi={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"},fdi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.5 14.875C12.0208 14.875 14.875 12.0208 14.875 8.5C14.875 4.97919 12.0208 2.125 8.5 2.125C4.97919 2.125 2.125 4.97919 2.125 8.5C2.125 12.0208 4.97919 14.875 8.5 14.875ZM8.5 17C13.1944 17 17 13.1944 17 8.5C17 3.80558 13.1944 0 8.5 0C3.80558 0 0 3.80558 0 8.5C0 13.1944 3.80558 17 8.5 17Z"},null,-1),wdi=[fdi];function Ldi(t,e){return D(),Y("svg",Mdi,wdi)}const mdi=K(gdi,[["render",Ldi]]);class ydi extends um{constructor({viewer:e},i){super(e,i,"ellipse",mdi,"shapes")}}const vdi={name:"EraserIcon",props:{color:{type:String,default:"currentColor"}}},Cdi=["fill"],Idi=m("path",{d:"M16.6425 18.2998H22V20H14.9369L16.6425 18.2998ZM2.62548 20L0.613685 17.9946C0.214257 17.5964 0.00980528 17.1125 0.00032939 16.5428C-0.0091465 15.9731 0.18583 15.4798 0.585258 15.0627L12.6123 2.62019C13.0118 2.20312 13.4943 1.9964 14.0599 2.00005C14.6256 2.00367 15.1081 2.20458 15.5075 2.60277L20.6617 7.74061C21.0611 8.13879 21.2627 8.62453 21.2663 9.19783C21.27 9.77112 21.072 10.2569 20.6726 10.655L11.5255 20H2.62548Z"},null,-1),jdi=[Idi];function bdi(t,e,i,o,r,n){return D(),Y("svg",{width:"20",height:"20",viewBox:"0 0 22 22",fill:i.color,xmlns:"http://www.w3.org/2000/svg"},jdi,8,Cdi)}const xdi=K(vdi,[["render",bdi]]),Ndi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMyAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjE2MTQgMC42MDQyMjdDMTMuOTMyMiAtMC4xODY4NzUgMTUuMTk4NCAtMC4yMDMyNzkgMTUuOTg5NSAwLjU2NzU4NUwyMS41NTEgNS45ODY4MUMyMi4zNDIxIDYuNzU3NjggMjIuMzU4NiA4LjAyMzkgMjEuNTg3NyA4LjgxNUw4Ljk5MzkyIDIxLjczOTRDOC4yMjMwNSAyMi41MzA1IDYuOTU2ODMgMjIuNTQ2OSA2LjE2NTczIDIxLjc3NkwwLjYwNDIyOCAxNi4zNTY4Qy0wLjE4Njg3NCAxNS41ODU5IC0wLjIwMzI4IDE0LjMxOTcgMC41Njc1ODUgMTMuNTI4NkwxMy4xNjE0IDAuNjA0MjI3WiIgZmlsbD0iIzJGMzc0QSIvPgo8L3N2Zz4K",Ddi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMiAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNjI1NDggMThMMC42MTM2ODUgMTUuOTk0NkMwLjIxNDI1NyAxNS41OTY0IDAuMDA5ODA1MjggMTUuMTEyNSAwLjAwMDMyOTM5IDE0LjU0MjhDLTAuMDA5MTQ2NSAxMy45NzMxIDAuMTg1ODMgMTMuNDc5OCAwLjU4NTI1OCAxMy4wNjI3TDEyLjYxMjMgMC42MjAxOTRDMTMuMDExOCAwLjIwMzExNiAxMy40OTQzIC0wLjAwMzU5ODc1IDE0LjA1OTkgNC43Mzk4NWUtMDVDMTQuNjI1NiAwLjAwMzY3NDY2IDE1LjEwODEgMC4yMDQ1ODEgMTUuNTA3NSAwLjYwMjc2N0wyMC42NjE3IDUuNzQwNjFDMjEuMDYxMSA2LjEzODc5IDIxLjI2MjcgNi42MjQ1MyAyMS4yNjYzIDcuMTk3ODNDMjEuMjcgNy43NzExMiAyMS4wNzIgOC4yNTY4NiAyMC42NzI2IDguNjU1MDJMMTEuNTI1NSAxOEgyLjYyNTQ4WiIgZmlsbD0iIzJGMzc0QSIvPgo8L3N2Zz4K",Sdi=`url(${Ndi}) 7 23, auto`,Tdi=`url(${Ddi}) 7 18, auto`;class kdi extends cm{constructor({viewer:e},i){super("eraser",xdi,null,!1),this._pointerManager=new Edi(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Edi extends Pj{constructor(e,i){super(e,{element:e.canvas.parentElement,pointerUpCursor:Sdi,pointerDownCursor:Tdi}),this._drawer=i}erase(e){const i=this._drawer.pick(e);i&&this._drawer.deleteDrawing(i.id)}onMouseDown(e){this.erase(e)}onDrag(e){this.erase(e)}}class y4{constructor(e){this.drawingType=e}parse(e){throw new Error("Not implemented")}toString(e){throw new Error("Not implemented")}}class zdi extends y4{constructor(){super("rectangle")}toString(e){const{p1:i,p2:o,p3:r,p4:n,lineColor:s,lineWidth:a}=e;return`<path d="M ${i.x} ${i.y} L ${o.x} ${o.y} L ${r.x} ${r.y} L ${n.x} ${n.y} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),[,n,s,,a,l,,c,u,,d,h]=r.split(" "),A=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),g=o.getAttribute("stroke-width");return{p1:{x:parseFloat(n),y:parseFloat(s)},p2:{x:parseFloat(a),y:parseFloat(l)},p3:{x:parseFloat(c),y:parseFloat(u)},p4:{x:parseFloat(d),y:parseFloat(h)},lineColor:parseInt(A,16),lineWidth:parseFloat(g)}}}class Pdi extends y4{constructor(){super("line")}toString(e){const{p1:i,p2:o,lineWidth:r,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${o.x}" y2="${o.y}" stroke-width="${r}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("line"),r=o.getAttribute("x1"),n=o.getAttribute("y1"),s=o.getAttribute("x2"),a=o.getAttribute("y2"),l=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),c=o.getAttribute("stroke-width");return{p1:{x:parseFloat(r),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}class Bdi extends y4{constructor(){super("arrow")}toString(e){const{p1:i,p2:o,lineWidth:r,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${o.x}" y2="${o.y}" stroke-width="${r}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("line"),r=o.getAttribute("x1"),n=o.getAttribute("y1"),s=o.getAttribute("x2"),a=o.getAttribute("y2"),l=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),c=o.getAttribute("stroke-width");return{p1:{x:parseFloat(r),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}function ete(t){if(t.length===0)return"";const e=t[0];let i=`M ${e.x} ${e.y}`;for(let o=0;o<t.length;o++){const r=t[o];i+=` C ${r.cpX1} ${r.cpY1} ${r.cpX2} ${r.cpY2} ${r.toX} ${r.toY}`}return i}function tte(t){const e=t.split(" "),i=e.shift();if(i!=="M")throw new Error(`svgPathStringToCurves: invalid svg path string. Must start with M, got "${i}"`);let o=parseFloat(e.shift()),r=parseFloat(e.shift());const n=[];for(;e.shift()==="C";){const s=parseFloat(e.shift()),a=parseFloat(e.shift()),l=parseFloat(e.shift()),c=parseFloat(e.shift()),u=parseFloat(e.shift()),d=parseFloat(e.shift());n.push({type:"curve",x:o,y:r,cpX1:s,cpY1:a,cpX2:l,cpY2:c,toX:u,toY:d}),o=u,r=d}return n}class Odi extends y4{constructor(){super("ellipse")}toString(e){const{curve1:i,curve2:o,curve3:r,curve4:n,lineColor:s,lineWidth:a}=e;return`<path d="${ete([i,o,r,n])} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}" />`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),n=tte(r),s=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),a=o.getAttribute("stroke-width");return{curves:n,lineColor:parseInt(s,16),lineWidth:parseFloat(a)}}}class Rdi extends y4{constructor(){super("text")}toString(e){const{x:i,y:o,text:r,size:n,rotation:s}=e;return`<text x="${i}" y="${o}" font-size="${n}px" tranform="rotate(${s})">${r}</text>`}parse(e){var i;const o=e.querySelector("text"),r=o.getAttribute("x"),n=o.getAttribute("y"),s=o.getAttribute("font-size").slice(0,-2),a=((i=o.getAttribute("tranform").match(/rotate\((.*)\)/))==null?void 0:i[1])??0,l=o.textContent==="null"?null:o.textContent;return{x:parseFloat(r),y:parseFloat(n),size:parseFloat(s),rotation:parseFloat(a),text:l}}}class Udi extends y4{constructor(){super("freehand")}toString(e){const{curves:i,lineWidth:o,lineColor:r}=e,n=`stroke-width="${o}" stroke="#${r.toString(16).padStart(6,0)}"`;return`<path d="${ete(i)}" ${n}/>`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),n=tte(r),s=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),a=o.getAttribute("stroke-width");return{curves:n,lineWidth:parseFloat(a),lineColor:parseInt(s,16)}}}class Ydi{constructor(){this.drawingSvgParsers=new Map,[new zdi,new Pdi,new Bdi,new Odi,new Udi,new Rdi].map(e=>this.drawingSvgParsers.set(e.drawingType,e))}parse(e){const i=new DOMParser().parseFromString(e.content,"image/svg+xml"),o=i.querySelector("svg").getAttribute("type"),r=this.drawingSvgParsers.get(o);if(!r)throw new TypeError(`No drawing parser for type ${o}`);try{const n=r.parse(i);return n.apiId=e.id,n.type=o,n}catch(n){console.warn(`[Drawing Tools - Parser] Error parsing drawing ${e.id}, ignored.`,n)}}toString(e){const{type:i}=e,o=this.drawingSvgParsers.get(i);if(!o)throw new TypeError(`No drawing parser for type ${i}`);const r=o.toString(e);return`<svg type="${i}" xmlns="http://www.w3.org/2000/svg">${r}</svg>`}}class Fdi{constructor(e){this._api=e,this._parser=new Ydi,this.queue=G6()}async getDrawingsData(e){const{cloudId:i,projectId:o}=this._api;return(await this._api.apiClient.modelApi.getDrawings(i,e,o)).map(r=>this._parser.parse(r)).filter(Boolean)}save(e,i){const o=this._parser.toString(e);if(!o)return;const{cloudId:r,projectId:n}=this._api,s={content:o};let a;e.apiId?a=async()=>{try{await this._api.apiClient.modelApi.updateDrawing(r,e.apiId,i,n,s)}catch(l){console.error(`Cannot update drawing of type: "${e.type}"`,l)}}:a=async()=>{try{const l=await this._api.apiClient.modelApi.createDrawing(r,i,n,s);e.apiId=l.id}catch(l){console.error(`Cannot create drawing of type: "${e.type}"`,l)}},this.queue.push(a)}async delete(e,i){if(!e.apiId)return;const{cloudId:o,projectId:r}=this._api;try{await this._api.apiClient.modelApi.deleteDrawing(o,e.apiId,i,r)}catch(n){console.error(`Cannot delete drawing of type: "${e.type}"`,n)}}}class ite{constructor(e){this.drawingTypes=e}pick(e,i){throw new Error("Not implemented")}}class Qdi extends ite{constructor(e){super(["rectangle","ellipse","arrow","line","freehand"]),this._engine2d=e}pick(e,i){const{canvasPosition:o}=i,r=this._engine2d.picker.pick(o);if(r)return e.get(r.id)}}class Gdi extends ite{constructor(){super(["text"])}pick(e,i){const{mouseEvent:o}=i,r=o.target;return e.get(r.id)}}let ote=class{constructor(t){if(!t)throw new TypeError("Drawing type is required");this.type=t}destroy(){throw new Error("Method 'destroy' not implemented.")}};class rte{constructor(e){this.drawingTypes=e}create(e,i){throw new Error("Not implemented")}}const Hdi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMS45NjI5NlY3LjVNNSAxLjk2Mjk2TDMgMUgxTTUgMS45NjI5Nkw3IDFIOU01IDEzLjAzN1Y3LjVNNSAxMy4wMzdMNyAxNEg5TTUgMTMuMDM3TDMgMTRIMU01IDcuNUg3TTUgNy41SDMiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",Vdi=`url(${Hdi}) 5 7, auto`,Zdi=4,Jdi=40,ste=4,Wdi=2,Kdi={props:{id:{type:String,required:!0},initText:{type:String,default:""},newMarker:{type:Boolean,default:!1},initSize:{type:Number,default:12},rotation:{type:Number,required:!0},scale:{type:Number,required:!0},textToolEnabled:{type:Boolean,required:!0}},emits:["edit-update","text-update","size-update","delete-marker","delete-drawing"],setup(t,{emit:e}){const i=Xe(t.initText),o=Xe(t.newMarker),r=Xe(null),n=Xe(t.initSize);ai(i,f=>e("text-update",f)),ai(n,f=>e("size-update",f));const s=()=>{var f;(f=r.value)==null||f.focus()},a=()=>{n.value>Zdi&&(n.value-=ste),s()},l=()=>{n.value<Jdi&&(n.value+=ste),s()};ai(o,async f=>{e("edit-update",f),f&&(await Ts(),s())});const c=Xe(null),u=Xe(null),d=Xe(null);async function h(){if(!o.value)return;await Ts();const{width:f}=c.value.getBoundingClientRect();u.value=f+12,d.value=1,await Ts();const{scrollHeight:w}=r.value;d.value=w+2}const A=f=>{f.key==="Escape"&&(o.value=!1)};document.addEventListener("keydown",A),Ao(()=>{var f;h(),(f=r.value)==null||f.focus()}),Eo(()=>{document.removeEventListener("keydown",A)}),ai(()=>o.value+i.value+t.scale+n.value,h);const g=()=>{e("delete-marker"),e("delete-drawing")},p=()=>{t.textToolEnabled&&(o.value=!0)},M=vt(()=>n.value/(Wdi*window.devicePixelRatio));return{textCursor:Vdi,size:M,textarea:r,edit:o,text:i,textEl:c,textAreaWidth:u,textAreaHeight:d,decrementSize:a,incrementSize:l,onDeleteClick:g,onTextClick:p}}},qdi=["id"],Xdi={key:0},_di={class:"bimdata-drawing-tools__text-marker__edit-content__header"};function $di(t,e,i,o,r,n){const s=z("BIMDataIconDelete"),a=Vi("click-away");return D(),Y("div",{class:"bimdata-drawing-tools__text-marker",style:Ie(`font-size:${o.size}px;`)},[m("div",{style:Ie(`cursor: ${i.textToolEnabled?o.textCursor:""}`)},[m("div",{ref:"textEl",class:"bimdata-drawing-tools__text-marker__text",style:Ie(`
1839
+ `,props:{page:Number,total:Number}};await this.$viewer.localContext.hideUI(),this.$viewer.globalContext.loadingProcessStart(),this.$viewer.globalContext.spinner={component:t,props:{total:this.pdfPages.length,page:1}},await this.setPdfPage(0);const{data:e,width:i,height:o}=await YS(this,this.bitmaps[0]),r=new bi({unit:"px",format:[i,o],orientation:i>o?"landscape":"portrait",compress:!0});r.addImage(e,"JPEG",0,0,i,o,void 0,"FAST");for(let n=1;n<this.pdfPages.length;n++){this.$viewer.globalContext.spinner.props.page++,await this.nextPdfPage();const{data:s,width:a,height:l}=await YS(this,this.bitmaps[0]);r.addPage([a,l],a>l?"landscape":"portrait"),r.addImage(s,"JPEG",0,0,a,l,void 0,"FAST")}return await this.setPdfPage(0),this.$viewer.globalContext.spinner=null,this.$viewer.globalContext.loadingProcessEnd(),await this.$viewer.localContext.showUI(),r},drawArea(t,e){return QS(this.viewer,t,e)},displayModelSpaces(t){const e=(o,r=+o.color)=>(o.spaces.forEach(n=>n.color=r),[...o.spaces,...o.zones.flatMap(n=>e(n,r))]),i=t.zones.flatMap(o=>e(o));this.spaces=i.filter(o=>o.geometry).map(o=>{var r;const{color:n,geometry:s,name:a}=o,l=this.drawArea(s,{fill:n,lineColor:n}),c=this.plugins.texter.addText(a,l.object.id),u=((r=s[0])==null?void 0:r.z)??0;return{id:o.id,absoluteElevation:u,destroy(){l.destroy()},show(){l.visible=!0,c.show()},hide(){l.visible=!1,c.hide()}}}),this.manageSpaceVisibilities()},manageSpaceVisibilities(){if(!this.selectedStorey)return this.spaces.forEach(i=>i.hide());const{absoluteElevation:t,absoluteTopElevation:e}=this.selectedStorey;this.spaces.forEach(i=>{i.absoluteElevation>=t&&i.absoluteElevation<e?i.show():i.hide()})}}},wsi=fsi,Lsi=t=>(rr("data-v-a5383ae2"),t=t(),sr(),t),msi={class:"bimdata-viewer-plan"},ysi={ref:"canvas",class:"bimdata-viewer-plan__viewer__canvas"},vsi={key:"texter",ref:"texter",style:{position:"absolute",top:"0px",left:"0px"}},Csi={class:"bimdata-viewer-plan__header"},Isi={key:"switcher",ref:"switcher",class:"bimdata-viewer-plan__page-switcher"},jsi={class:"page-count flex items-center"},bsi=Lsi(()=>m("div",{class:"separator"},null,-1));function xsi(t,e,i,o,r,n){const s=z("NoModelWindowPlaceHolder"),a=z("Annotations"),l=z("Markers"),c=z("ModelsLoader"),u=z("Help"),d=z("BIMDataStoreySelector"),h=z("BIMDataIconChevron"),A=z("BIMDataButton"),g=z("BIMDataInputOutlined"),p=z("BIMDataIconRotate");return D(),Y("div",msi,[m("canvas",ysi,null,512),!t.model&&!t.loading?(D(),se(s,{key:0})):ve("",!0),m("div",vsi,null,512),t.engine2dCreated?(D(),se(a,{key:1})):ve("",!0),O(l,{ref:"markers"},null,512),m("div",Csi,[t.settings.modelLoader!=="disabled"?St((D(),se(c,{key:0,ref:"header","window-positioning":!1},null,512)),[[Mi,t.modelHeaderShown]]):ve("",!0),t.helpShown?(D(),se(u,{key:1,modal:t.helpModal,name:"Plan"},null,8,["modal"])):ve("",!0)]),St(O(d,{ref:"storeySelector","auto-open":t.storeySelectorAutoOpen},null,8,["auto-open"]),[[Mi,t.storeySelectorShown]]),t.pdfPages.length>0?(D(),Y("div",Isi,[O(A,{ghost:"",rounded:"",icon:"",disabled:t.pdfPageIndex===0,onClick:t.prevPdfPage},{default:W(()=>[O(h,{size:"xs",rotate:180})]),_:1},8,["disabled","onClick"]),m("div",jsi,[O(g,{modelValue:t.displayedPageNumber,"onUpdate:modelValue":e[0]||(e[0]=M=>t.displayedPageNumber=M),margin:"0 6px 0 0",width:"50px",onKeyup:ri(bt(t.goToSelectedPage,["stop"]),["enter"]),onBlur:t.goToSelectedPage},null,8,["modelValue","onKeyup","onBlur"]),At(" / "+re(`${t.pdfPages.length}`),1)]),O(A,{ghost:"",rounded:"",icon:"",disabled:t.pdfPageIndex===t.pdfPages.length-1,onClick:t.nextPdfPage},{default:W(()=>[O(h,{size:"xs"})]),_:1},8,["disabled","onClick"]),bsi,O(A,{color:"default",ghost:"",radius:"",onClick:t.rotate},{default:W(()=>[O(p,{fill:"",color:"default"})]),_:1},8,["onClick"])],512)):ve("",!0)])}const Nsi=K(wsi,[["render",xsi],["__scopeId","data-v-a5383ae2"]]),Dsi="Kartenbetrachter",Ssi={window_label:Dsi},Tsi="Viewer Plan",ksi={loadingMsg:"Generating PDF document...",loadingSubMsg:"( page {page} of {total} )"},Esi={window_label:Tsi,pdfExport:ksi},zsi="Plano de la vista",Psi={window_label:zsi},Bsi="Visionneuse Plan",Osi={loadingMsg:"G\xE9n\xE9ration du document PDF...",loadingSubMsg:"( page {page} sur {total} )"},Rsi={window_label:Bsi,pdfExport:Osi},Usi="Piano del visualizzatore",Ysi={window_label:Usi},Fsi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyNyAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ljg4OTIxIDkuNjI1TDEyLjMyNjcgMi4xODc1VjcuMjcwODFWOS42MjVINC44ODkyMVpNMjQuODI1MyAyLjhDMjQuODI1MyAxLjI2IDIzLjU3OTMgMCAyMi4wMzkzIDBIMTAuODM5M0wyLjQzOTMgOC40VjI1LjJDMi40MzkzIDI2Ljc0IDMuNjk4ODYgMjggNS4yMzkzIDI4SDIyLjA1MzNDMjMuNTkzMyAyOCAyNC44MzkzIDI2Ljc0IDI0LjgzOTMgMjUuMkwyNC44MjUzIDIuOFoiIGZpbGw9IiMyRjM3NEEiLz4KPHJlY3QgeT0iMTQuNTU0MiIgd2lkdGg9IjI2Ljc4MjYiIGhlaWdodD0iMTAuOTU2NSIgcng9IjEiIGZpbGw9IiNGRjk5MDAiLz4KPHBhdGggZD0iTTQuNjAzNTEgMjEuMDU5SDIuODk5OThWMTkuOTM0SDQuNjAzNTFDNC44NjY3NyAxOS45MzQgNS4wODEwNSAxOS44ODkxIDUuMjQ2MzYgMTkuNzk5NEM1LjQxMTY2IDE5LjcwNjQgNS41MzI1NyAxOS41NzgyIDUuNjA5MSAxOS40MTQ4QzUuNjg1NjMgMTkuMjUxMyA1LjcyMzkgMTkuMDY3IDUuNzIzOSAxOC44NjE5QzUuNzIzOSAxOC42NTM2IDUuNjg1NjMgMTguNDU5NiA1LjYwOTEgMTguMjgwMkM1LjUzMjU3IDE4LjEwMDcgNS40MTE2NiAxNy45NTY0IDUuMjQ2MzYgMTcuODQ3NUM1LjA4MTA1IDE3LjczODUgNC44NjY3NyAxNy42ODQgNC42MDM1MSAxNy42ODRIMy4zNzc1MlYyMy41NTQySDJWMTYuNTU0Mkg0LjYwMzUxQzUuMTI2OTcgMTYuNTU0MiA1LjU3NTQzIDE2LjY1MzYgNS45NDg4OSAxNi44NTIzQzYuMzI1NDEgMTcuMDQ3OCA2LjYxMzE2IDE3LjMxODYgNi44MTIxNCAxNy42NjQ4QzcuMDExMTEgMTguMDEwOSA3LjExMDYgMTguNDA2OCA3LjExMDYgMTguODUyM0M3LjExMDYgMTkuMzA0MiA3LjAxMTExIDE5LjY5NTIgNi44MTIxNCAyMC4wMjU0QzYuNjEzMTYgMjAuMzU1NSA2LjMyNTQxIDIwLjYxMDMgNS45NDg4OSAyMC43ODk4QzUuNTc1NDMgMjAuOTY5MyA1LjEyNjk3IDIxLjA1OSA0LjYwMzUxIDIxLjA1OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMi4zNTkgMjIuNDI5MlYyMy41NTQySDguOTkzMjFWMjIuNDI5MkgxMi4zNTlaTTkuNDM4NjEgMTYuNTU0MlYyMy41NTQySDguMDYxMDlWMTYuNTU0Mkg5LjQzODYxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1Ljk1ODkgMTcuNzUxM0wxNC4xNDA1IDIzLjU1NDJIMTIuNjc1OEwxNS4xNTk5IDE2LjU1NDJIMTYuMDkyTDE1Ljk1ODkgMTcuNzUxM1pNMTcuNDY5NiAyMy41NTQyTDE1LjY0NjYgMTcuNzUxM0wxNS40OTk3IDE2LjU1NDJIMTYuNDQxTDE4LjkzODkgMjMuNTU0MkgxNy40Njk2Wk0xNy4zODY5IDIwLjk0ODRWMjIuMDc4MkgxMy44NTU5VjIwLjk0ODRIMTcuMzg2OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNSAxNi41NTQyVjIzLjU1NDJIMjMuNjIyNUwyMC45MzYzIDE4Ljg2MTlWMjMuNTU0MkgxOS41NTg4VjE2LjU1NDJIMjAuOTM2M0wyMy42MjcxIDIxLjI1MTNWMTYuNTU0MkgyNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",Qsi={name:"plan",isViewer:!0,i18n:{de:Ssi,en:Esi,es:Psi,fr:Rsi,it:Ysi},component:Nsi,window:{name:"plan",label:"plan.window_label",header:!1,plugins:["fullscreen","synchronization"],icon:{imgUri:Fsi},modelTypes:["PDF","METABUILDING","JPEG","PNG"],multiModel:!1}},zj="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyMSAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTIuOTc3NDEgMTIuNTA5NEwxMC4wMDUzIDE2Ljc2MzlMMTcuMTA3MyAxMi40MjkxTDIwLjA0MjMgMTQuMDg0NEwxMC4wMTU3IDIwLjE5NDNMMC4wMzYxMzI4IDE0LjE2MjdMMi45Nzc0MSAxMi41MDk0WiIKICAgIGZpbGw9IiMyRjM3NEEiCiAgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuMDA1MyAyMC44MTcxTDIuOTc3ODYgMTYuNTYyOUwwLjAzNjEzMjggMTguMjE2NEwxMC4wMTU3IDI0LjI0ODFMMjAuMDQyMyAxOC4xMzgxTDE3LjEwNjggMTYuNDgyNUwxMC4wMDUzIDIwLjgxNzFaTTE3LjEyNTYgMTcuNTcyM0wxMC4wMDczIDIxLjkxNzFMMi45NjAzMSAxNy42NTExTDEuOTAyMSAxOC4yNDU5TDEwLjAxMzcgMjMuMTQ4NUwxOC4xODQ0IDE4LjE2OTVMMTcuMTI1NiAxNy41NzIzWiIKICAgIGZpbGw9IiMyRjM3NEEiCiAgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTEzLjk5OTkgNi4xNTA5NkwxMC4xMjU0IDMuOTY1ODJMMC4wMzYxMzI4IDkuNjM3MTFMMTAuMDE1NyAxNS42Njg3TDIwLjA0MjMgOS41NTg3OEwxNy45OTk5IDguNDA2ODhWOS4wMDAwM0gxMy45OTk5VjYuMTUwOTZaIgogICAgZmlsbD0iIzJGMzc0QSIKICAvPgogIDxyZWN0IHg9IjE1IiB3aWR0aD0iMiIgaGVpZ2h0PSI4IiBmaWxsPSIjMkYzNzRBIi8+CiAgPHJlY3QgeD0iMjAiIHk9IjMiIHdpZHRoPSIyIiBoZWlnaHQ9IjgiIHRyYW5zZm9ybT0icm90YXRlKDkwIDIwIDMpIiBmaWxsPSIjMkYzNzRBIi8+Cjwvc3ZnPgo=",Gsi={title:"\uFEFFBuilding Maker",back:"\uFEFFZur\xFCck",list:{text:"\uFEFFErstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"\uFEFFNeues Projekt",updateButton:"\uFEFFUmbenennen",deleteButton:"\uFEFFL\xF6schen"},form:{text:"\uFEFFErstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"\uFEFFName des Geb\xE4udes",error:"\uFEFFUng\xFCltiger Name",createButton:"\uFEFFErstellen",updateButton:"\uFEFFBest\xE4tigen"},storeys:{addStoreyButton:"\uFEFFEtage",addFileButton:"\uFEFFGrundriss",closeButton:"\uFEFFFertigstellen",submitFilesButton:"\uFEFFBest\xE4tigen"},storeyForm:{title:"\uFEFFNeue Etage",input:"\uFEFFName",error:"\uFEFFUng\xFCltiger Name",cancelButton:"\uFEFFAbbrechen",submitButton:"\uFEFFBest\xE4tigen"}},Hsi={BuildingMaker:Gsi},Vsi={title:"\uFEFFBuilding",back:"\uFEFFBack",list:{text:"\uFEFFCreate and edit the layers, then download your PDFs.",createButton:"\uFEFFNew project",updateButton:"\uFEFFRename",deleteButton:"\uFEFFDelete"},form:{text:"\uFEFFCreate and edit the layers, then download your PDFs.",input:"\uFEFFBuilding name",error:"\uFEFFInvalid",createButton:"\uFEFFCreate",updateButton:"\uFEFFConfirm"},storeys:{addStoreyButton:"\uFEFFFloor",addFileButton:"\uFEFFMap",closeButton:"\uFEFFFinish",submitFilesButton:"Validate"},storeyForm:{title:"\uFEFFNew floor",input:"\uFEFFName",error:"\uFEFFInvalid name",cancelButton:"\uFEFFCancel",submitButton:"Validate"}},Zsi={BuildingMaker:Vsi},Jsi={title:"\uFEFFBuilding Maker",back:"\uFEFFVuelta",list:{text:"\uFEFFCree y edite los pisos despu\xE9s cargue los PDF.",createButton:"\uFEFFNuevo proyecto",updateButton:"\uFEFFRenombrar",deleteButton:"\uFEFFSuprimir"},form:{text:"\uFEFFCree y edite los pisos despu\xE9s cargue los PDF.",input:"\uFEFFNombre del edificio",error:"\uFEFFNombre no v\xE1lido",createButton:"\uFEFFCrear",updateButton:"\uFEFFValidar"},storeys:{addStoreyButton:"\uFEFFPiso",addFileButton:"\uFEFFPlano",closeButton:"\uFEFFTerminar",submitFilesButton:"\uFEFFValidar"},storeyForm:{title:"\uFEFFNuevo piso",input:"\uFEFFNombre",error:"\uFEFFNombre no v\xE1lido",cancelButton:"\uFEFFAnular",submitButton:"\uFEFFValidar"}},Wsi={BuildingMaker:Jsi},Ksi={title:"Building Maker",back:"Retour",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",createButton:"Nouveau projet",updateButton:"Renommer",deleteButton:"Supprimer"},form:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",input:"Nom du b\xE2timent",error:"Nom invalide",createButton:"Cr\xE9er",updateButton:"Valider"},storeys:{addStoreyButton:"\xC9tage",addFileButton:"Plan",closeButton:"Terminer",submitFilesButton:"Valider"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide",cancelButton:"Annuler",submitButton:"Valider"}},qsi={BuildingMaker:Ksi},Xsi={title:"\uFEFFBuilding Maker",back:"\uFEFFReso",list:{text:"\uFEFFCrea e modifica i piani e poi scarica i tuoi PDF.",createButton:"\uFEFFNuovo progetto",updateButton:"\uFEFFRinominare",deleteButton:"\uFEFFEliminare"},form:{text:"\uFEFFCrea e modifica i piani e poi scarica i tuoi PDF.",input:"\uFEFFNome della costruzione",error:"\uFEFFNome non corretto",createButton:"\uFEFFCreare",updateButton:"\uFEFFConvalidare"},storeys:{addStoreyButton:"\uFEFFPiano",addFileButton:"\uFEFFProgetto",closeButton:"\uFEFFFinire",submitFilesButton:"\uFEFFConvalidare"},storeyForm:{title:"\uFEFFNuovo piano",input:"\uFEFFNome",error:"\uFEFFNome non corretto",cancelButton:"\uFEFFAnnullare",submitButton:"\uFEFFConvalidare"}},_si={BuildingMaker:Xsi},rd={de:Hsi,en:Zsi,es:Wsi,fr:qsi,it:_si};function $si(t,e,i){const o=e.id,r=i.id,n=t.modelApi;function s(){return n.getModels(o,r,void 0,void 0,"METABUILDING")}function a(f){return n.createMetaBuilding(o,r,f)}function l(f){return n.updateModel(o,f.id,r,f)}function c(f){return n.deleteModel(o,f.id,r)}async function u(f){return n.getStoreys(o,f.id,r)}function d(f,w){return n.createStorey(o,f.id,r,w)}function h(f,w){return n.updateStorey(o,f.id,r,w.uuid,w)}function A(f,w){return n.deleteStorey(o,f.id,r,w.uuid)}function g(f){return Promise.all(f.map(w=>w.model_id?Promise.resolve({id:w.model_id}):n.createModel(o,r,{document_id:w.id})))}function p(f,w,L){return Promise.all(L.map(v=>n.createStoreyPlan(o,f.id,r,w.uuid,{id:v.id})))}function M(f,w,L){return n.deleteStoreyPlan(o,L.plan.id,f.id,r,w.uuid)}return{fetchMetaBuildings:s,createMetaBuilding:a,updateMetaBuilding:l,deleteMetaBuilding:c,fetchStoreys:u,createStorey:d,updateStorey:h,deleteStorey:A,createPlanModels:g,createStoreyPlans:p,deleteStoreyPlan:M}}const eni={i18n:{messages:rd},props:{metaBuilding:{type:Object}},emits:["metaBuilding-created","metaBuilding-updated"],setup(t,{emit:e}){const i=Gt("service"),o=Xe(null),r=Xe(!1),n=Xe("");return ai(n,()=>r.value=!1),Ao(()=>{var s;o.value.focus(),n.value=((s=t.metaBuilding)==null?void 0:s.name)??""}),{hasError:r,icon:zj,metaBuildingName:n,nameInput:o,submit:async()=>{var s;if(!n.value){r.value=!0;return}if(n.value===((s=t.metaBuilding)==null?void 0:s.name))return;let a={name:n.value};t.metaBuilding?(a.id=t.metaBuilding.id,a=await i.updateMetaBuilding(a),e("metaBuilding-updated",a)):(a=await i.createMetaBuilding(a),e("metaBuilding-created",a))}}}},tni={class:"building-form"},ini=["src"],oni={class:"building-form__title"},rni={class:"building-form__text"},sni={class:"building-form__controls"};function nni(t,e,i,o,r,n){const s=z("BIMDataInput"),a=z("BIMDataButton");return D(),Y("div",tni,[m("img",{class:"building-form__icon",src:o.icon},null,8,ini),m("h2",oni,re(t.$t("BuildingMaker.title")),1),m("div",rni,re(t.$t("BuildingMaker.form.text")),1),m("div",sni,[O(s,{ref:"nameInput",placeholder:t.$t("BuildingMaker.form.input"),modelValue:o.metaBuildingName,"onUpdate:modelValue":e[0]||(e[0]=l=>o.metaBuildingName=l),error:o.hasError,errorMessage:t.$t("BuildingMaker.form.error"),onKeyup:ri(bt(o.submit,["stop"]),["enter"])},null,8,["placeholder","modelValue","error","errorMessage","onKeyup"]),O(a,{width:"120px",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(t.$t(`BuildingMaker.form.${i.metaBuilding?"updateButton":"createButton"}`)),1)]),_:1},8,["onClick"])])])}const ani=K(eni,[["render",nni],["__scopeId","data-v-7b4817e2"]]),lni={i18n:{messages:rd},props:{metaBuilding:{type:Object,required:!0}},emits:["manage-storeys","update-metaBuilding","delete-metaBuilding"],setup(){return{isOpenAction:Xe(!1)}}},cni={class:"building-item__name"},uni={class:"building-item__actions__menu"};function dni(t,e,i,o,r,n){const s=z("BIMDataIconBuilding"),a=z("BIMDataTextbox"),l=z("BIMDataIconEllipsis"),c=z("BIMDataButton"),u=Vi("click-away");return D(),Y("div",{class:"building-item",onClick:e[3]||(e[3]=d=>t.$emit("manage-storeys",i.metaBuilding))},[O(s,{size:"m",fill:"",color:"primary"}),m("div",cni,[O(a,{text:i.metaBuilding.name},null,8,["text"])]),St((D(),Y("div",{class:"building-item__actions",onClick:bt(()=>{},["stop"])},[O(c,{ghost:"",rounded:"",icon:"",onClick:e[0]||(e[0]=d=>o.isOpenAction=!o.isOpenAction)},{default:W(()=>[O(l,{size:"l",fill:"",color:"granite-light"})]),_:1}),O(oo,{name:"fade"},{default:W(()=>[St(m("div",uni,[O(c,{ghost:"",square:"",onClick:e[1]||(e[1]=d=>t.$emit("update-metaBuilding",i.metaBuilding))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.updateButton")),1)]),_:1}),O(c,{color:"high",ghost:"",square:"",onClick:e[2]||(e[2]=d=>t.$emit("delete-metaBuilding",i.metaBuilding))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.deleteButton")),1)]),_:1})],512),[[Mi,o.isOpenAction]])]),_:1})])),[[u,()=>o.isOpenAction=!1]])])}const hni=K(lni,[["render",dni],["__scopeId","data-v-fc77684b"]]),Ani={i18n:{messages:rd},components:{BuildingItem:hni},props:{metaBuildings:{type:Array,default:()=>[]}},emits:["create-metaBuilding","update-metaBuilding","delete-metaBuilding","manage-storeys"],setup(){return{icon:zj}}},pni={class:"buildings-list"},gni=["src"],Mni={class:"buildings-list__title"},fni={class:"buildings-list__text"},wni={class:"buildings-list__list"};function Lni(t,e,i,o,r,n){const s=z("BIMDataButton"),a=z("BuildingItem");return D(),Y("div",pni,[m("img",{class:"buildings-list__icon",src:o.icon},null,8,gni),m("h2",Mni,re(t.$t("BuildingMaker.title")),1),m("div",fni,re(t.$t("BuildingMaker.list.text")),1),O(s,{class:"buildings-list__button",width:"120px",color:"primary",fill:"",radius:"",onClick:e[0]||(e[0]=l=>t.$emit("create-metaBuilding"))},{default:W(()=>[At(re(t.$t("BuildingMaker.list.createButton")),1)]),_:1}),m("div",wni,[(D(!0),Y(Mt,null,ei(i.metaBuildings,l=>(D(),se(a,{key:l.id,metaBuilding:l,onManageStoreys:c=>t.$emit("manage-storeys",l),onUpdateMetaBuilding:c=>t.$emit("update-metaBuilding",l),onDeleteMetaBuilding:c=>t.$emit("delete-metaBuilding",l)},null,8,["metaBuilding","onManageStoreys","onUpdateMetaBuilding","onDeleteMetaBuilding"]))),128))])])}const mni=K(Ani,[["render",Lni],["__scopeId","data-v-7e4c6270"]]),yni=Object.freeze(["pdf","peg","jpg","png"]),vni={i18n:{messages:rd},props:{storey:{type:Object}},emits:["close","create-storey","update-storey"],setup(t,{emit:e}){const i=Xe(null),o=Xe(!1),r=Xe("");return ai(r,()=>o.value=!1),Ao(()=>{var n;i.value.focus(),r.value=((n=t.storey)==null?void 0:n.name)??""}),{hasError:o,nameInput:i,storeyName:r,cancel:()=>{o.value=!1,r.value="",e("close")},submit:async()=>{var n;if(!r.value){o.value=!0;return}r.value===((n=t.storey)==null?void 0:n.name)&&e("close"),t.storey?e("update-storey",{...t.storey,name:r.value}):e("create-storey",{name:r.value}),await Ts(),e("close")}}}},Cni={class:"storey-form"},Ini={class:"storey-form__title"},jni={class:"storey-form__input"},bni={class:"storey-form__actions"};function xni(t,e,i,o,r,n){const s=z("BIMDataIconStorey"),a=z("BIMDataInput"),l=z("BIMDataButton");return D(),Y("div",Cni,[m("div",Ini,[O(s,{size:"s"}),m("span",null,re(t.$t("BuildingMaker.storeyForm.title")),1)]),m("div",jni,[O(a,{ref:"nameInput",placeholder:t.$t("BuildingMaker.storeyForm.input"),modelValue:o.storeyName,"onUpdate:modelValue":e[0]||(e[0]=c=>o.storeyName=c),error:o.hasError,errorMessage:t.$t("BuildingMaker.storeyForm.error"),onKeyup:[ri(bt(o.submit,["stop"]),["enter"]),ri(bt(o.cancel,["stop"]),["esc"])]},null,8,["placeholder","modelValue","error","errorMessage","onKeyup"])]),m("div",bni,[O(l,{width:"100px",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(t.$t("BuildingMaker.storeyForm.submitButton")),1)]),_:1},8,["onClick"]),O(l,{width:"100px",fill:"",radius:"",onClick:o.cancel},{default:W(()=>[At(re(t.$t("BuildingMaker.storeyForm.cancelButton")),1)]),_:1},8,["onClick"])])])}const Nni=K(vni,[["render",xni],["__scopeId","data-v-106ec364"]]),Dni={props:{storey:{type:Object}},emits:["delete-plan"],setup(t){const e=Xe(!1),i=vt(()=>{var o;return((o=t.storey)==null?void 0:o.plans)??[]});return{hover:e,plans:i}}},Sni={class:"storey-plans"},Tni={class:"storey-plans__item__name"};function kni(t,e,i,o,r,n){const s=z("BIMDataFileIcon"),a=z("BIMDataTextbox"),l=z("BIMDataIconClose"),c=z("BIMDataButton");return D(),Y("div",Sni,[(D(!0),Y(Mt,null,ei(o.plans,u=>(D(),Y("div",{class:"storey-plans__item",key:u.id,onMouseenter:e[0]||(e[0]=d=>o.hover=!0),onMouseleave:e[1]||(e[1]=d=>o.hover=!1)},[O(s,{size:10,fileName:u.plan.type==="PDF"?".pdf":u.plan.document.file_name},null,8,["fileName"]),m("div",Tni,[O(a,{text:u.plan.type==="PDF"?`${u.plan.name}${u.plan.page_number>1?` (page ${u.plan.page_number})`:""}`:u.plan.document.name},null,8,["text"])]),St(O(c,{class:"storey-plans__item__close-btn",width:"19px",height:"19px",ghost:"",rounded:"",icon:"",onClick:d=>t.$emit("delete-plan",u)},{default:W(()=>[O(l,{customSize:10,fill:"",color:"granite"})]),_:2},1032,["onClick"]),[[Mi,o.hover]])],32))),128))])}const Xee=K(Dni,[["render",kni],["__scopeId","data-v-08f15c63"]]),Eni={i18n:{messages:rd},components:{StoreyPlans:Xee},props:{storey:{type:Object,required:!0}},emits:["update","delete","add-plans","delete-plan"],setup(){return{isOpenAction:Xe(!1)}}},zni={class:"storey-node"},Pni={class:"storey-node__storey"},Bni={class:"storey-node__storey__name"},Oni={class:"storey-node__storey__actions"},Rni={class:"storey-node__plans"};function Uni(t,e,i,o,r,n){const s=z("BIMDataIconStorey"),a=z("BIMDataTextbox"),l=z("BIMDataIcon"),c=z("BIMDataButton"),u=z("BIMDataIconDelete"),d=z("BIMDataIconEdit"),h=z("StoreyPlans"),A=Vi("click-away");return D(),Y("div",zni,[St((D(),Y("div",Pni,[O(s,{size:"xs"}),m("div",Bni,[O(a,{text:i.storey.name},null,8,["text"])]),O(c,{width:"23px",height:"23px",color:o.isOpenAction?"high":"primary",fill:"",radius:"",icon:"",onClick:e[0]||(e[0]=g=>o.isOpenAction=!o.isOpenAction)},{default:W(()=>[O(l,{name:o.isOpenAction?"close":"plus",customSize:9},null,8,["name"])]),_:1},8,["color"]),O(oo,{name:"fade"},{default:W(()=>[St(m("div",Oni,[O(c,{fill:"",radius:"",icon:"",onClick:e[1]||(e[1]=g=>t.$emit("delete",i.storey))},{default:W(()=>[O(u,{size:"xs",fill:"",color:"high"})]),_:1}),O(c,{fill:"",radius:"",icon:"",onClick:e[2]||(e[2]=g=>t.$emit("update",i.storey))},{default:W(()=>[O(d,{size:"xs"})]),_:1}),O(c,{width:"100px",fill:"",radius:"",onClick:e[3]||(e[3]=g=>t.$emit("add-plans",i.storey))},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.addFileButton")),1)]),_:1})],512),[[Mi,o.isOpenAction]])]),_:1})])),[[A,()=>o.isOpenAction=!1]]),m("div",Rni,[O(h,{storey:i.storey,onDeletePlan:e[4]||(e[4]=g=>t.$emit("delete-plan",{storey:i.storey,plan:g}))},null,8,["storey"])])])}const Yni=K(Eni,[["render",Uni],["__scopeId","data-v-01ed9eef"]]),Fni={i18n:{messages:rd},components:{StoreyNode:Yni,StoreyPlans:Xee},props:{metaBuilding:{type:Object,required:!0},storeys:{type:Array,required:!0}},emits:["create","update","delete","add-plans","delete-plan"],setup(){return{isOpenAction:Xe(!1)}}},Qni={class:"storeys-tree"},Gni={class:"storeys-tree__root"},Hni={class:"storeys-tree__leafs"},Vni={class:"storeys-tree__tail"},Zni={key:0,class:"content"},Jni={key:1,class:"content"};function Wni(t,e,i,o,r,n){const s=z("BIMDataIconBuilding"),a=z("BIMDataTextbox"),l=z("StoreyNode"),c=z("BIMDataIconPlus"),u=z("BIMDataButton"),d=z("BIMDataIconClose"),h=Vi("click-away");return D(),Y("div",Qni,[m("div",Gni,[O(s,{size:"s",fill:"",color:"primary"}),O(a,{text:i.metaBuilding.name},null,8,["text"])]),m("div",Hni,[(D(!0),Y(Mt,null,ei(i.storeys,A=>(D(),se(l,{key:A.uuid,storey:A,onUpdate:e[0]||(e[0]=g=>t.$emit("update",g)),onDelete:e[1]||(e[1]=g=>t.$emit("delete",g)),onAddPlans:e[2]||(e[2]=g=>t.$emit("add-plans",g)),onDeletePlan:e[3]||(e[3]=g=>t.$emit("delete-plan",g))},null,8,["storey"]))),128))]),St((D(),Y("div",Vni,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.isOpenAction?(D(),Y("div",Jni,[O(u,{width:"23px",height:"23px",color:"high",fill:"",radius:"",icon:"",onClick:e[5]||(e[5]=A=>o.isOpenAction=!1)},{default:W(()=>[O(d,{customSize:9})]),_:1}),O(u,{width:"100px",fill:"",radius:"",onClick:e[6]||(e[6]=A=>t.$emit("create"))},{default:W(()=>[At(" + "+re(t.$t("BuildingMaker.storeys.addStoreyButton")),1)]),_:1})])):(D(),Y("div",Zni,[O(u,{width:"23px",height:"23px",color:"primary",fill:"",radius:"",icon:"",onClick:e[4]||(e[4]=A=>o.isOpenAction=!0)},{default:W(()=>[O(c,{customSize:9})]),_:1})]))]),_:1})])),[[h,()=>o.isOpenAction=!1]])])}const Kni=K(Fni,[["render",Wni],["__scopeId","data-v-1ac72e2c"]]),qni={i18n:{messages:rd},components:{StoreyForm:Nni,StoreysTree:Kni},props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},metaBuilding:{type:Object,required:!0}},emits:["close"],setup(t){const e=Xe(""),i=Xe(""),o=Gt("service"),r=Gt("loading"),n=Xe(!1),s=Xe(!1),a=Xe([]),l=Xe(null),c=Xe([]),u=async()=>{try{r.value=!0,a.value=await o.fetchStoreys(t.metaBuilding)}finally{r.value=!1}},d=async L=>{await o.createStorey(t.metaBuilding,L),u()},h=async L=>{await o.updateStorey(t.metaBuilding,L),u()},A=async L=>{await o.deleteStorey(t.metaBuilding,L),u()},g=L=>{l.value=L,s.value=!0},p=()=>{l.value=null,s.value=!1},M=L=>{e.value=t.apiClient.config.configuration.basePath,i.value=t.apiClient.accessToken,l.value=L,n.value=!0},f=async()=>{let L=[],v=[];for(const{document:C,pdfPage:b}of c.value)b?v.push(b):L.push(C);const I=(await o.createPlanModels(L)).concat(v);await o.createStoreyPlans(t.metaBuilding,l.value,I),u(),c.value=[],l.value=null,n.value=!1},w=async({storey:L,plan:v})=>{await o.deleteStoreyPlan(t.metaBuilding,L,v),u()};return Ao(()=>{u()}),{accessToken:i,apiUrl:e,currentStorey:l,isOpenDMS:n,isOpenForm:s,PLAN_FILE_EXTENSIONS:yni,selectedFiles:c,storeys:a,createStorey:d,closeFileManager:f,closeForm:p,deleteStorey:A,deleteStoreyPlan:w,openFileManager:M,openForm:g,updateStorey:h}}},Xni={class:"building-storeys"},_ni={key:0,class:"content"},$ni={key:1,class:"content"},eai={class:"building-storeys__tree"};function tai(t,e,i,o,r,n){const s=z("BIMDataFileManager"),a=z("BIMDataButton"),l=z("StoreysTree"),c=z("StoreyForm");return D(),Y("div",Xni,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.isOpenDMS&&o.apiUrl&&o.accessToken&&o.currentStorey?(D(),Y("div",_ni,[O(s,{class:"building-storeys__dms",spaceId:i.space.id,projectId:i.project.id,apiUrl:o.apiUrl,archiveUrl:"",accessToken:o.accessToken,locale:t.$i18n.locale,select:!0,pdfPageSelect:!0,multi:!0,headerButtons:!1,selectableFileTypes:o.PLAN_FILE_EXTENSIONS,onSelectionChange:e[0]||(e[0]=u=>o.selectedFiles=u)},null,8,["spaceId","projectId","apiUrl","accessToken","locale","selectableFileTypes"]),O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:o.closeFileManager},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.submitFilesButton")),1)]),_:1},8,["onClick"])])):(D(),Y("div",$ni,[m("div",eai,[O(l,{metaBuilding:i.metaBuilding,storeys:o.storeys,onCreate:o.openForm,onUpdate:o.openForm,onDelete:o.deleteStorey,onAddPlans:o.openFileManager,onDeletePlan:o.deleteStoreyPlan},null,8,["metaBuilding","storeys","onCreate","onUpdate","onDelete","onAddPlans","onDeletePlan"])]),O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:e[1]||(e[1]=u=>t.$emit("close"))},{default:W(()=>[At(re(t.$t("BuildingMaker.storeys.closeButton")),1)]),_:1}),O(oo,{name:"fade"},{default:W(()=>[o.isOpenForm?(D(),se(c,{key:0,class:"building-storeys__form",storey:o.currentStorey,onCreateStorey:o.createStorey,onUpdateStorey:o.updateStorey,onClose:o.closeForm},null,8,["storey","onCreateStorey","onUpdateStorey","onClose"])):ve("",!0)]),_:1})]))]),_:1})])}const iai=K(qni,[["render",tai],["__scopeId","data-v-9339d3e8"]]),m4=Object.freeze({FORM:"form",LIST:"list",STOREYS:"storeys"}),oai={i18n:{messages:rd},components:{BuildingForm:ani,BuildingsList:mni,BuildingStoreys:iai},props:{apiClient:{type:Object,required:!0},space:{type:Object,required:!0},project:{type:Object,required:!0},model:{type:Object,default:null}},emits:["metaBuilding-created","metaBuilding-updated","metaBuilding-deleted"],setup(t,{emit:e}){const i=$si(t.apiClient,t.space,t.project),o=Xe(!1);fn("service",i),fn("loading",o);const r=Xe(m4.LIST),n=Xe([]),s=Xe(null),a=async()=>{o.value=!0,n.value=await i.fetchMetaBuildings(),o.value=!1},l=async g=>{await i.deleteMetaBuilding(g),a(),e("metaBuilding-deleted")},c=g=>{s.value=g||null,r.value=m4.FORM},u=g=>{s.value=g,r.value=m4.STOREYS},d=async g=>{await a(),u(g),e("metaBuilding-created")},h=()=>{a(),r.value=m4.LIST,e("metaBuilding-updated")},A=()=>{r.value=m4.LIST};return Ao(()=>{a(),t.model&&u(t.model)}),{currentMetaBuilding:s,currentView:r,icon:zj,loading:o,metaBuildings:n,VIEWS:m4,back:A,deleteMetaBuilding:l,loadMetaBuildings:a,onMetaBuildingCreated:d,onMetaBuildingUpdated:h,openForm:c,openStoreys:u}}},rai={class:"bimdata-building-maker"},sai=["src"],nai={class:"bimdata-building-maker__body"},aai={class:"bimdata-building-maker__loader"};function lai(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BuildingForm"),c=z("BuildingStoreys"),u=z("BuildingsList"),d=z("BIMDataSpinner");return D(),Y("div",rai,[m("div",{class:"bimdata-building-maker__header",style:Ie({visibility:o.currentView===o.VIEWS.LIST?"hidden":"visible"})},[O(a,{class:"bimdata-building-maker__header__btn-back",ghost:"",radius:"",disabled:o.loading.value,onClick:o.back},{default:W(()=>[O(s,{size:"xxs",margin:"0 6px 0 0"}),m("span",null,re(t.$t("BuildingMaker.back")),1)]),_:1},8,["disabled","onClick"]),m("img",{src:o.icon},null,8,sai),m("span",null,re(t.$t("BuildingMaker.title")),1)],4),m("div",nai,[O(oo,{name:"fade",mode:"out-in"},{default:W(()=>[o.currentView===o.VIEWS.FORM?(D(),se(l,{key:0,metaBuilding:o.currentMetaBuilding,onMetaBuildingCreated:o.onMetaBuildingCreated,onMetaBuildingUpdated:o.onMetaBuildingUpdated},null,8,["metaBuilding","onMetaBuildingCreated","onMetaBuildingUpdated"])):o.currentView===o.VIEWS.STOREYS&&o.currentMetaBuilding?(D(),se(c,{key:1,apiClient:i.apiClient,space:i.space,project:i.project,metaBuilding:o.currentMetaBuilding,onClose:o.back},null,8,["apiClient","space","project","metaBuilding","onClose"])):(D(),se(u,{key:2,metaBuildings:o.metaBuildings,onCreateMetaBuilding:o.openForm,onUpdateMetaBuilding:o.openForm,onDeleteMetaBuilding:o.deleteMetaBuilding,onManageStoreys:o.openStoreys},null,8,["metaBuildings","onCreateMetaBuilding","onUpdateMetaBuilding","onDeleteMetaBuilding","onManageStoreys"]))]),_:1})]),O(oo,{name:"fade"},{default:W(()=>[St(m("div",aai,[O(d)],512),[[Mi,o.loading.value]])]),_:1})])}const _ee=K(oai,[["render",lai],["__scopeId","data-v-cc564283"]]),cai={setup(){const t=Gt("$viewer"),{apiClient:e,cloudId:i,projectId:o}=t.api;return()=>Zi(_ee,{apiClient:e,space:{id:i},project:{id:o}})}},uai={name:"buildingMaker",component:cai,window:{name:"buildingMaker",label:"Building Maker",noModel:!0,icon:{imgUri:zj}}},dai={components:{BIMDataNumericalInput:XW},setup(){const t=Gt("$viewer"),e=Gt("root"),i=Gt("close"),o=vt(()=>e.editedBitmap?e.editedBitmap:{x:0,y:0,scale:0,angle:0,opacity:0}),r=hai(o);return{root:e,bitmap:o,...r,submit:async()=>{try{e.loading=!0,await Promise.all(e.bitmaps.filter(n=>n.edited).map(async n=>{const{x:s,y:a,scale:l,angle:c,opacity:u,plan:d}=n;Object.assign(d,{translation_x:s,translation_y:a,scale:l,rotate_z:c,opacity:u}),await t.state.updatePlan(d),n.edited=!1}))}catch(n){console.error(n)}finally{e.loading=!1,i()}}}}};function hai(t){const e={};return Object.entries({x:i=>i,y:i=>i,scale:i=>i,angle:i=>i<0||i>360?(i%360+360)%360:i,opacity:i=>i<0?0:i>1?1:i}).forEach(([i,o])=>{e[i]=vt({get:()=>t.value[i],set:r=>t.value[i]=o(r)})}),e}const Aai={class:"synchronization__page__edit"},pai={class:"synchronization__page__edit__content"},gai={class:"synchronization__page__edit__content__unit-group"},Mai={class:"synchronization__page__edit__content__unit-group__element"},fai={class:"synchronization__page__edit__content__unit-group__element"},wai={class:"synchronization__page__edit__content__unit-group__element"},Lai={class:"synchronization__page__edit__content__unit"},mai={class:"synchronization__page__edit__content__unit"},yai={class:"synchronization__page__edit__content__img"},vai=["src"],Cai={class:"synchronization__page__edit__validate"};function Iai(t,e,i,o,r,n){const s=z("BIMDataNumericalInput"),a=z("BIMDataSlider"),l=z("BIMDataTextbox"),c=z("BIMDataButton");return D(),Y("div",Aai,[m("div",pai,[m("section",null,[m("span",null,re(t.$t("synchronization.location")),1),m("div",gai,[m("div",Mai,[O(s,{modelValue:t.x,"onUpdate:modelValue":e[0]||(e[0]=u=>t.x=u),label:"X",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),m("div",fai,[O(s,{modelValue:t.y,"onUpdate:modelValue":e[1]||(e[1]=u=>t.y=u),label:"Y",container:t.$viewer.localContext.el},null,8,["modelValue","container"])]),m("div",wai,[O(s,{modelValue:t.scale,"onUpdate:modelValue":e[2]||(e[2]=u=>t.scale=u),label:t.$t("synchronization.scale"),step:.01,min:.01,container:t.$viewer.localContext.el},null,8,["modelValue","label","container"])])])]),m("section",null,[m("span",null,re(t.$t("synchronization.rotation")),1),m("div",Lai,[O(s,{modelValue:t.angle,"onUpdate:modelValue":e[3]||(e[3]=u=>t.angle=u),unit:"\xB0",centered:""},null,8,["modelValue"]),O(a,{modelValue:t.angle,"onUpdate:modelValue":e[4]||(e[4]=u=>t.angle=u),min:0,max:360},null,8,["modelValue"])])]),m("section",null,[m("span",null,re(t.$t("synchronization.alpha")),1),m("div",mai,[O(s,{modelValue:t.opacity,"onUpdate:modelValue":e[5]||(e[5]=u=>t.opacity=u),centered:""},null,8,["modelValue"]),O(a,{modelValue:t.opacity,"onUpdate:modelValue":e[6]||(e[6]=u=>t.opacity=u),min:0,max:1,step:.01},null,8,["modelValue"])])]),m("section",null,[m("span",null,re(t.$t("synchronization.preview")),1),m("div",yai,[m("img",{src:o.bitmap.dataUrl,alt:"Background"},null,8,vai),O(l,{text:o.bitmap.name,class:"synchronization__page__edit__content__img__name"},null,8,["text"])])])]),m("div",Cai,[O(c,{width:"100%",color:"primary",fill:"",radius:"",onClick:o.submit},{default:W(()=>[At(re(o.bitmap&&o.bitmap.plan?t.$t("global.save"):t.$t("global.validate")),1)]),_:1},8,["onClick"])])])}const jai=K(dai,[["render",Iai],["__scopeId","data-v-6e4accff"]]),bai={name:"BimdataSynchronization",components:{edit:jai},setup(){const{localContext:t}=Gt("$viewer"),e=Gt("$plugin");let i=t.pluginComponentInstances.get("plan");if(!i)throw new Error("[Synchronization] plugin cannot work without viewerPlan plugin with 2d engine on.");i=vu(i),fn("viewerPlan",i),Cu(()=>{i.bitmaps.length>1&&!e.shown&&e.show(),i.bitmaps.length<=1&&e.shown&&e.hide()}),ai(()=>e.shown,h=>{h&&i.bitmaps<=1&&e.hide()});const o=gn({page:"edit",loading:!1,modalDisplayed:!1,model:null,storeys:[],selectedStorey:null,plans:[],bitmaps:[],editedBitmap:null});fn("root",o);const r=()=>{o.bitmaps.map(h=>(h.edit(!1),h)).filter(h=>h.edited).forEach(h=>h.reset()),o.modalDisplayed=!1,i.storeyRightOffset=0,t.showUI(),document.removeEventListener("keydown",c),o.editedBitmap=null,o.bitmaps=[]},n=()=>{r(),e.close()};fn("close",n);const s=()=>{o.bitmaps.some(h=>h.edited)?o.modalDisplayed=!0:n()},a=()=>{n()},l=h=>{o.editedBitmap=h},c=h=>{o.loading||h.key==="Escape"&&(h.preventDefault(),o.modalDisplayed?o.modalDisplayed=!1:n())},u=t.hub.on("model-loaded",({model:h})=>{o.model=h,o.storeys=h.storeys,o.plans=h.storeys.flatMap(A=>A.plans)},{getLastEvent:!0}),d=t.hub.on("storey-selected",({storey:h})=>{o.selectedStorey=h,(!h||h.plans.length<2)&&n()},{getLastEvent:!0});return Eo(()=>{t.hub.off(u),t.hub.off(d)}),ai(()=>o.editedBitmap,(h,A)=>{A?.edit(!1),h?.edit(!0)},{immediate:!0}),{viewerPlan:i,root:o,onBitmapClick:l,onCloseClick:s,onLeaveClick:a,onKeyDown:c,clean:r}},async onOpen(){var t;this.$viewer.localContext.pluginComponentInstances.forEach(e=>{var i;e!==this&&((i=e.$close)==null||i.call(e))}),this.viewerPlan.storeyRightOffset=380,await this.$viewer.localContext.hideUI({exceptions:[this.$plugin.name]}),document.addEventListener("keydown",this.onKeyDown),this.root.bitmaps=Array.from(this.viewerPlan.bitmaps),this.root.editedBitmap=this.root.bitmaps[0],this.root.bitmaps.filter(e=>!e.visible).forEach(e=>{this.$viewer.localContext.showPlan(e.plan),e.show()}),(t=this.viewerPlan.$refs.storeySelector)==null||t.focus()},onClose(){this.clean()}},xai={class:"bimdata-synchronization"},Nai={class:"bimdata-synchronization__header"},Dai={class:"bimdata-synchronization__header__top"},Sai={class:"bimdata-synchronization__header__top__title"},Tai={class:"bimdata-synchronization__header__top__title__text"},kai={class:"bimdata-synchronization__header__select__header"},Eai={class:"bimdata-info-length bimdata-synchronization__header__select__header__length"},zai={class:"bimdata-synchronization__page"},Pai={key:1,class:"bimdata-synchronization__modal"},Bai={class:"bimdata-synchronization__modal__content"},Oai={class:"bimdata-synchronization__modal__content__symbols"},Rai={class:"bimdata-synchronization__modal__content__buttons"};function Uai(t,e,i,o,r,n){const s=z("BIMDataLoading"),a=z("BIMDataIconSynchro2D"),l=z("BIMDataIconClose"),c=z("BIMDataButton"),u=z("BIMDataTextbox"),d=z("BIMDataDropdownList"),h=z("BIMDataIconWarning");return D(),Y("div",xai,[o.root.loading?(D(),se(s,{key:0})):ve("",!0),m("div",Nai,[m("div",Dai,[m("div",Sai,[O(a,{size:"xs",fill:"",color:"primary"}),m("span",Tai,re(t.$t("synchronization.title")),1)]),O(c,{class:"bimdata-synchronization__header__top__close",width:"25px",height:"25px",ghost:"",radius:"",icon:"",onClick:o.onCloseClick},{default:W(()=>[O(l,{size:"xs",fill:"",color:"granite-light"})]),_:1},8,["onClick"])]),m("div",null,[O(d,{width:"100%",list:o.root.bitmaps,"element-key":"id","per-page":30,"close-on-element-click":!0,class:"bimdata-synchronization__header__select",onElementClick:o.onBitmapClick},{header:W(()=>{var A;return[m("div",kai,[m("div",Eai,[m("span",null,re(o.root.bitmaps.length),1)]),m("div",null,[O(u,{width:"265px",text:(A=o.root.editedBitmap)==null?void 0:A.name},null,8,["text"])])])]}),element:W(({element:A})=>[m("div",{class:be(["bimdata-synchronization__header__select__element",{"bimdata-synchronization__header__select__element--selected":A===o.root.editedBitmap}])},re(A.name),3)]),_:1},8,["list","onElementClick"])])]),m("div",zai,[(D(),se(NC,null,[(D(),se(Ls(o.root.page)))],1024))]),o.root.modalDisplayed?(D(),Y("div",Pai,[m("div",Bai,[m("div",Oai,[O(h,{fill:"",color:"high",size:"l"}),m("div",null,re(t.$t("synchronization.warning")),1)]),m("div",Rai,[O(c,{width:"45%",color:"high",fill:"",radius:"",onClick:o.onLeaveClick},{default:W(()=>[At(re(t.$t("synchronization.leave")),1)]),_:1},8,["onClick"]),O(c,{width:"45%",color:"default",outline:"",radius:"",onClick:e[0]||(e[0]=A=>o.root.modalDisplayed=!1)},{default:W(()=>[At(re(t.$t("synchronization.stay")),1)]),_:1})])])])):ve("",!0)])}const Yai=K(bai,[["render",Uai],["__scopeId","data-v-99651cb1"]]),Fai="2D-Synchronisierung",Qai="2D-Synchronisierung",Gai="Beginnen",Hai="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Vai="Eine Etage ausw\xE4hlen",Zai="Eine Datei importieren",Jai="Position",Wai="Skala",Kai="Rotation",qai="Undurchsichtigkeit",Xai="\xDCbersicht",_ai="Von der EDM des Projekts aus",$ai="Von Ihrem Computer aus",eli="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC und eine Etage aus.",tli="Um einen Hintergrund hinzuzuf\xFCgen, w\xE4hlen Sie bitte eine IFC aus.",ili="M\xF6chten Sie diese Seite wirklich verlassen? Sie enth\xE4lt m\xF6glicherweise Informationen, die nicht best\xE4tigt sind.",oli="Ja, diese Seite verlassen",rli="Abbrechen, hierbleiben",sli={tooltip:Fai,title:Qai,start:Gai,description:Hai,select_storey:Vai,import_file:Zai,location:Jai,scale:Wai,rotation:Kai,alpha:qai,preview:Xai,import:"Ein Element importieren",from_ged:_ai,from_computer:$ai,no_storey:eli,no_ifc:tli,new:"Neu",warning:ili,leave:oli,stay:rli},nli="2D Synchronization",ali="2D Synchronization",lli="Start",cli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",uli="Select a floor",dli="Import a file",hli="Position",Ali="Scale",pli="Rotation",gli="Opacity",Mli="Preview",fli="From the project's EDM",wli="From your computer",Lli="To add a background, please select an IFC and a floor.",mli="To add a background, please select an IFC.",yli="Are you sure you want to leave this page? There may be some informations that are not validated.",vli="Yes, leave this page",Cli="Cancel, stay here",Ili={tooltip:nli,title:ali,start:lli,description:cli,select_storey:uli,import_file:dli,location:hli,scale:Ali,rotation:pli,alpha:gli,preview:Mli,import:"Import an element",from_ged:fli,from_computer:wli,no_storey:Lli,no_ifc:mli,new:"New",warning:yli,leave:vli,stay:Cli},jli="Sincronizaci\xF3n 2D",bli="Sincronizaci\xF3n 2D",xli="Comenzar",Nli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Dli="Seleccionar una planta",Sli="Importar un fichero",Tli="Posici\xF3n",kli="Escala",Eli="Rotaci\xF3n",zli="Opacidad",Pli="Vista r\xE1pida",Bli="Desde el GED del proyecto",Oli="Desde su ordenador",Rli="Para agregar un fondo seleccione un IFC y una planta.",Uli="Para agregar un fondo seleccione un IFC.",Yli="\xBFEsta usted seguro de que quiere abandonar esta p\xE1gina? Puede haber informaciones no validadas.",Fli="S\xED, abandonar la p\xE1gina",Qli="Cancelar, permanecer aqu\xED",Gli={tooltip:jli,title:bli,start:xli,description:Nli,select_storey:Dli,import_file:Sli,location:Tli,scale:kli,rotation:Eli,alpha:zli,preview:Pli,import:"Importar un elemento",from_ged:Bli,from_computer:Oli,no_storey:Rli,no_ifc:Uli,new:"Nuevo",warning:Yli,leave:Fli,stay:Qli},Hli="Synchronisation 2D",Vli="Synchronisation 2D",Zli="Commencer",Jli="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Wli="S\xE9lectionner un \xE9tage",Kli="Importer un fichier",qli="Position",Xli="Echelle",_li="Rotation",$li="Opacit\xE9",eci="Aper\xE7u",tci="Depuis la GED du projet",ici="Depuis votre ordinateur",oci="Pour ajouter un fond, veuillez selectionner un IFC et un \xE9tage.",rci="Pour ajouter un fond, veuillez selectionner un IFC.",sci="\xCAtes-vous s\xFBr de vouloir quitter cette page ? Il y'a peut-\xEAtre des informations non valid\xE9es.",nci="Oui, quitter cette page",aci="Annuler, rester ici",lci={tooltip:Hli,title:Vli,start:Zli,description:Jli,select_storey:Wli,import_file:Kli,location:qli,scale:Xli,rotation:_li,alpha:$li,preview:eci,import:"Importer un \xE9l\xE9ment",from_ged:tci,from_computer:ici,no_storey:oci,no_ifc:rci,new:"Nouveau",warning:sci,leave:nci,stay:aci},cci="Sincronizzazione 2D",uci="Sincronizzazione 2D",dci="Iniziare",hci="Lorem ipsum dolor sit amet, consectetur adipiscing elit.",Aci="Selezionare un piano",pci="Importare un file",gci="Posizione",Mci="Scala",fci="Rotazione",wci="Opacit\xE0",Lci="Anteprima",mci="Dal cassetto informatico del progetto",yci="Dal computer",vci="Per aggiungere uno sfondo, selezionare un file IFC e un piano.",Cci="Per aggiungere uno sfondo, selezionare un file IFC.",Ici="Si \xE8 sicuri di voler lasciare questa pagina? \xC8 possibile che alcune informazioni non siano state ancora convalidate.",jci="S\xEC, uscire da questa pagina",bci="Annulla, rimanere a questa pagina",xci={tooltip:cci,title:uci,start:dci,description:hci,select_storey:Aci,import_file:pci,location:gci,scale:Mci,rotation:fci,alpha:wci,preview:Lci,import:"Importare un elemento",from_ged:mci,from_computer:yci,no_storey:vci,no_ifc:Cci,new:"Nuovo",warning:Ici,leave:jci,stay:bci},Nci="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41MjM0NCIgeT0iNC4yNTQ4OCIgd2lkdGg9IjE2LjEwMzkiIGhlaWdodD0iMjEuNzc0NCIgc3Ryb2tlPSIjMkYzNzRBIi8+CjxyZWN0IHg9IjMuMTI2NDYiIHk9IjEzLjAyNjEiIHdpZHRoPSIxNCIgaGVpZ2h0PSIyMC4wNDMiIHRyYW5zZm9ybT0icm90YXRlKC00NSAzLjEyNjQ2IDEzLjAyNjEpIiBmaWxsPSIjMkYzNzRBIi8+CjxtYXNrIGlkPSJwYXRoLTMtb3V0c2lkZS0xXzE4MzhfNTMxIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSItMC40MTQyMTQiIHk9Ii0wLjQxNDIxNiIgd2lkdGg9IjMxLjExMjciIGhlaWdodD0iMzEuMTEyNyIgZmlsbD0iYmxhY2siPgo8cmVjdCBmaWxsPSJ3aGl0ZSIgeD0iLTAuNDE0MjE0IiB5PSItMC40MTQyMTYiIHdpZHRoPSIzMS4xMTI3IiBoZWlnaHQ9IjMxLjExMjciLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjQxNDIxIDEzLjAyMDhMNC4zNTg3NiAxNC45NjU0TDUuMDY1ODYgMTQuMjU4MkwzLjgyODQzIDEzLjAyMDhMNS4xNTQyNSAxMS42OTVMNC40NDcxNSAxMC45ODc5TDIuNDE0MjEgMTMuMDIwOFpNNS42ODQ1OCA5Ljc1MDQ0TDYuMzkxNjkgMTAuNDU3NkwxMC40NTc2IDYuMzkxNjlMOS43NTA0NSA1LjY4NDU4TDUuNjg0NTggOS43NTA0NFpNMTAuOTg3OSA0LjQ0NzE0TDExLjY5NSA1LjE1NDI1TDEzLjAyMDggMy44Mjg0MkwxNC4yNTgzIDUuMDY1ODZMMTQuOTY1NCA0LjM1ODc1TDEzLjAyMDggMi40MTQyMUwxMC45ODc5IDQuNDQ3MTRaTTE2LjAyNiA1LjQxOTQyTDE1LjMxODkgNi4xMjY1MkwxOS4yMDggMTAuMDE1NkwxOS45MTUxIDkuMzA4NUwxNi4wMjYgNS40MTk0MlpNMjAuOTc1OCAxMC4zNjkyTDIwLjI2ODcgMTEuMDc2M0wyNC4xNTc3IDE0Ljk2NTRMMjQuODY0OSAxNC4yNTgyTDIwLjk3NTggMTAuMzY5MlpNMjUuOTI1NSAxNS4zMTg5TDI1LjIxODQgMTYuMDI2TDI2LjQ1NTggMTcuMjYzNUwyNS4xMyAxOC41ODkzTDI1LjgzNzEgMTkuMjk2NEwyNy44NzAxIDE3LjI2MzVMMjUuOTI1NSAxNS4zMTg5Wk0yNC41OTk3IDIwLjUzMzhMMjMuODkyNiAxOS44MjY3TDE5LjgyNjcgMjMuODkyNkwyMC41MzM4IDI0LjU5OTdMMjQuNTk5NyAyMC41MzM4Wk0xOS4yOTY0IDI1LjgzNzFMMTguNTg5MyAyNS4xM0wxNy4yNjM1IDI2LjQ1NThMMTYuMDI2IDI1LjIxODRMMTUuMzE4OSAyNS45MjU1TDE3LjI2MzUgMjcuODcwMUwxOS4yOTY0IDI1LjgzNzFaTTE0LjI1ODMgMjQuODY0OUwxNC45NjU0IDI0LjE1NzdMMTEuMDc2MyAyMC4yNjg3TDEwLjM2OTIgMjAuOTc1OEwxNC4yNTgzIDI0Ljg2NDlaTTkuMzA4NSAxOS45MTUxTDEwLjAxNTYgMTkuMjA4TDYuMTI2NTIgMTUuMzE4OUw1LjQxOTQyIDE2LjAyNkw5LjMwODUgMTkuOTE1MVoiLz4KPHBhdGggZD0iTTEgMTMuMDIwOEwzLjEyMTMyIDEwLjg5OTVMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUwxIDEzLjAyMDhaIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy4xMjEzMiAxMi4zMTM3TDIuNDE0MjEgMTMuMDIwOEwzLjEyMTMyIDEzLjcyNzlMMy44Mjg0MyAxMy4wMjA4TDMuMTIxMzIgMTIuMzEzN1pNMSAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUw1LjI0MjY0IDEzLjAyMDhMMy4xMjEzMiAxMC44OTk1TDEgMTMuMDIwOFoiLz4KPHBhdGggZD0iTTEwLjg5OTUgMy4xMjEzMkwxMy4wMjA4IDAuOTk5OTk4TDE1LjE0MjEgMy4xMjEzMkwxMy4wMjA4IDUuMjQyNjRMMTAuODk5NSAzLjEyMTMyWiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjAyMDggMi40MTQyMUwxMi4zMTM3IDMuMTIxMzJMMTMuMDIwOCAzLjgyODQyTDEzLjcyNzkgMy4xMjEzMkwxMy4wMjA4IDIuNDE0MjFaTTEwLjg5OTUgMy4xMjEzMkwxMy4wMjA4IDUuMjQyNjRMMTUuMTQyMSAzLjEyMTMyTDEzLjAyMDggMC45OTk5OThMMTAuODk5NSAzLjEyMTMyWiIvPgo8cGF0aCBkPSJNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxNS4xNDIxTDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTkuMzg0OEwyNS4wNDE2IDE3LjI2MzVaIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3LjE2MyAxNy45NzA2TDI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M1pNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTUuMTQyMUwyNS4wNDE2IDE3LjI2MzVaIi8+CjxwYXRoIGQ9Ik0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyNS4wNDE2TDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTUuMTQyMSAyNy4xNjI5WiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3LjI2MzUgMjYuNDU1OEwxNi41NTYzIDI3LjE2MjlMMTcuMjYzNSAyNy44NzAxTDE3Ljk3MDYgMjcuMTYyOUwxNy4yNjM1IDI2LjQ1NThaTTE1LjE0MjEgMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTkuMzg0OCAyNy4xNjI5TDE3LjI2MzUgMjUuMDQxNkwxNS4xNDIxIDI3LjE2MjlaIi8+CjwvbWFzaz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjQxNDIxIDEzLjAyMDhMNC4zNTg3NiAxNC45NjU0TDUuMDY1ODYgMTQuMjU4MkwzLjgyODQzIDEzLjAyMDhMNS4xNTQyNSAxMS42OTVMNC40NDcxNSAxMC45ODc5TDIuNDE0MjEgMTMuMDIwOFpNNS42ODQ1OCA5Ljc1MDQ0TDYuMzkxNjkgMTAuNDU3NkwxMC40NTc2IDYuMzkxNjlMOS43NTA0NSA1LjY4NDU4TDUuNjg0NTggOS43NTA0NFpNMTAuOTg3OSA0LjQ0NzE0TDExLjY5NSA1LjE1NDI1TDEzLjAyMDggMy44Mjg0MkwxNC4yNTgzIDUuMDY1ODZMMTQuOTY1NCA0LjM1ODc1TDEzLjAyMDggMi40MTQyMUwxMC45ODc5IDQuNDQ3MTRaTTE2LjAyNiA1LjQxOTQyTDE1LjMxODkgNi4xMjY1MkwxOS4yMDggMTAuMDE1NkwxOS45MTUxIDkuMzA4NUwxNi4wMjYgNS40MTk0MlpNMjAuOTc1OCAxMC4zNjkyTDIwLjI2ODcgMTEuMDc2M0wyNC4xNTc3IDE0Ljk2NTRMMjQuODY0OSAxNC4yNTgyTDIwLjk3NTggMTAuMzY5MlpNMjUuOTI1NSAxNS4zMTg5TDI1LjIxODQgMTYuMDI2TDI2LjQ1NTggMTcuMjYzNUwyNS4xMyAxOC41ODkzTDI1LjgzNzEgMTkuMjk2NEwyNy44NzAxIDE3LjI2MzVMMjUuOTI1NSAxNS4zMTg5Wk0yNC41OTk3IDIwLjUzMzhMMjMuODkyNiAxOS44MjY3TDE5LjgyNjcgMjMuODkyNkwyMC41MzM4IDI0LjU5OTdMMjQuNTk5NyAyMC41MzM4Wk0xOS4yOTY0IDI1LjgzNzFMMTguNTg5MyAyNS4xM0wxNy4yNjM1IDI2LjQ1NThMMTYuMDI2IDI1LjIxODRMMTUuMzE4OSAyNS45MjU1TDE3LjI2MzUgMjcuODcwMUwxOS4yOTY0IDI1LjgzNzFaTTE0LjI1ODMgMjQuODY0OUwxNC45NjU0IDI0LjE1NzdMMTEuMDc2MyAyMC4yNjg3TDEwLjM2OTIgMjAuOTc1OEwxNC4yNTgzIDI0Ljg2NDlaTTkuMzA4NSAxOS45MTUxTDEwLjAxNTYgMTkuMjA4TDYuMTI2NTIgMTUuMzE4OUw1LjQxOTQyIDE2LjAyNkw5LjMwODUgMTkuOTE1MVoiIGZpbGw9IiMyRjM3NEEiLz4KPHBhdGggZD0iTTEgMTMuMDIwOEwzLjEyMTMyIDEwLjg5OTVMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTUuMTQyMUwxIDEzLjAyMDhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuMTIxMzIgMTIuMzEzN0wyLjQxNDIxIDEzLjAyMDhMMy4xMjEzMiAxMy43Mjc5TDMuODI4NDMgMTMuMDIwOEwzLjEyMTMyIDEyLjMxMzdaTTEgMTMuMDIwOEwzLjEyMTMyIDE1LjE0MjFMNS4yNDI2NCAxMy4wMjA4TDMuMTIxMzIgMTAuODk5NUwxIDEzLjAyMDhaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0xMC44OTk1IDMuMTIxMzJMMTMuMDIwOCAwLjk5OTk5OEwxNS4xNDIxIDMuMTIxMzJMMTMuMDIwOCA1LjI0MjY0TDEwLjg5OTUgMy4xMjEzMloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuMDIwOCAyLjQxNDIxTDEyLjMxMzcgMy4xMjEzMkwxMy4wMjA4IDMuODI4NDJMMTMuNzI3OSAzLjEyMTMyTDEzLjAyMDggMi40MTQyMVpNMTAuODk5NSAzLjEyMTMyTDEzLjAyMDggNS4yNDI2NEwxNS4xNDIxIDMuMTIxMzJMMTMuMDIwOCAwLjk5OTk5OEwxMC44OTk1IDMuMTIxMzJaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0yNS4wNDE2IDE3LjI2MzVMMjcuMTYzIDE1LjE0MjFMMjkuMjg0MyAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI1LjA0MTYgMTcuMjYzNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3LjE2MyAxNy45NzA2TDI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M1pNMjUuMDQxNiAxNy4yNjM1TDI3LjE2MyAxOS4zODQ4TDI5LjI4NDMgMTcuMjYzNUwyNy4xNjMgMTUuMTQyMUwyNS4wNDE2IDE3LjI2MzVaIiBmaWxsPSIjMkYzNzRBIi8+CjxwYXRoIGQ9Ik0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyNS4wNDE2TDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI5LjI4NDNMMTUuMTQyMSAyNy4xNjI5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNy4yNjM1IDI2LjQ1NThMMTYuNTU2MyAyNy4xNjI5TDE3LjI2MzUgMjcuODcwMUwxNy45NzA2IDI3LjE2MjlMMTcuMjYzNSAyNi40NTU4Wk0xNS4xNDIxIDI3LjE2MjlMMTcuMjYzNSAyOS4yODQzTDE5LjM4NDggMjcuMTYyOUwxNy4yNjM1IDI1LjA0MTZMMTUuMTQyMSAyNy4xNjI5WiIgZmlsbD0iIzJGMzc0QSIvPgo8cGF0aCBkPSJNMSAxMy4wMjA4TDAuNjQ2NDQ3IDEyLjY2NzNMMC4yOTI4OTMgMTMuMDIwOEwwLjY0NjQ0NyAxMy4zNzQ0TDEgMTMuMDIwOFpNMy4xMjEzMiAxMC44OTk1TDMuNDc0ODcgMTAuNTQ1OUwzLjEyMTMyIDEwLjE5MjRMMi43Njc3NyAxMC41NDU5TDMuMTIxMzIgMTAuODk5NVpNNS4yNDI2NCAxMy4wMjA4TDUuNTk2MTkgMTMuMzc0NEw1Ljk0OTc1IDEzLjAyMDhMNS41OTYxOSAxMi42NjczTDUuMjQyNjQgMTMuMDIwOFpNMy4xMjEzMiAxNS4xNDIxTDIuNzY3NzcgMTUuNDk1N0wzLjEyMTMyIDE1Ljg0OTJMMy40NzQ4NyAxNS40OTU3TDMuMTIxMzIgMTUuMTQyMVpNMTAuODk5NSAzLjEyMTMyTDEwLjU0NTkgMi43Njc3NkwxMC4xOTI0IDMuMTIxMzJMMTAuNTQ1OSAzLjQ3NDg3TDEwLjg5OTUgMy4xMjEzMlpNMTMuMDIwOCAwLjk5OTk5OEwxMy4zNzQ0IDAuNjQ2NDQ1TDEzLjAyMDggMC4yOTI4OTFMMTIuNjY3MyAwLjY0NjQ0NUwxMy4wMjA4IDAuOTk5OTk4Wk0xNS4xNDIxIDMuMTIxMzJMMTUuNDk1NyAzLjQ3NDg3TDE1Ljg0OTIgMy4xMjEzMkwxNS40OTU3IDIuNzY3NzZMMTUuMTQyMSAzLjEyMTMyWk0xMy4wMjA4IDUuMjQyNjRMMTIuNjY3MyA1LjU5NjE5TDEzLjAyMDggNS45NDk3NUwxMy4zNzQ0IDUuNTk2MTlMMTMuMDIwOCA1LjI0MjY0Wk0yNS4wNDE2IDE3LjI2MzVMMjQuNjg4MSAxNi45MDk5TDI0LjMzNDUgMTcuMjYzNUwyNC42ODgxIDE3LjYxN0wyNS4wNDE2IDE3LjI2MzVaTTI3LjE2MyAxNS4xNDIxTDI3LjUxNjUgMTQuNzg4NkwyNy4xNjMgMTQuNDM1TDI2LjgwOTQgMTQuNzg4NkwyNy4xNjMgMTUuMTQyMVpNMjkuMjg0MyAxNy4yNjM1TDI5LjYzNzggMTcuNjE3TDI5Ljk5MTQgMTcuMjYzNUwyOS42Mzc4IDE2LjkwOTlMMjkuMjg0MyAxNy4yNjM1Wk0yNy4xNjMgMTkuMzg0OEwyNi44MDk0IDE5LjczODNMMjcuMTYzIDIwLjA5MTlMMjcuNTE2NSAxOS43MzgzTDI3LjE2MyAxOS4zODQ4Wk0xNS4xNDIxIDI3LjE2MjlMMTQuNzg4NiAyNi44MDk0TDE0LjQzNSAyNy4xNjI5TDE0Ljc4ODYgMjcuNTE2NUwxNS4xNDIxIDI3LjE2MjlaTTE3LjI2MzUgMjUuMDQxNkwxNy42MTcgMjQuNjg4MUwxNy4yNjM1IDI0LjMzNDVMMTYuOTA5OSAyNC42ODgxTDE3LjI2MzUgMjUuMDQxNlpNMTkuMzg0OCAyNy4xNjI5TDE5LjczODMgMjcuNTE2NUwyMC4wOTE5IDI3LjE2MjlMMTkuNzM4MyAyNi44MDk0TDE5LjM4NDggMjcuMTYyOVpNMTcuMjYzNSAyOS4yODQzTDE2LjkwOTkgMjkuNjM3OEwxNy4yNjM1IDI5Ljk5MTRMMTcuNjE3IDI5LjYzNzhMMTcuMjYzNSAyOS4yODQzWk0xLjM1MzU1IDEzLjM3NDRMMy40NzQ4NyAxMS4yNTNMMi43Njc3NyAxMC41NDU5TDAuNjQ2NDQ3IDEyLjY2NzNMMS4zNTM1NSAxMy4zNzQ0Wk0yLjc2Nzc3IDExLjI1M0w0Ljg4OTA5IDEzLjM3NDRMNS41OTYxOSAxMi42NjczTDMuNDc0ODcgMTAuNTQ1OUwyLjc2Nzc3IDExLjI1M1pNNC44ODkwOSAxMi42NjczTDIuNzY3NzcgMTQuNzg4NkwzLjQ3NDg3IDE1LjQ5NTdMNS41OTYxOSAxMy4zNzQ0TDQuODg5MDkgMTIuNjY3M1pNMy40NzQ4NyAxNC43ODg2TDEuMzUzNTUgMTIuNjY3M0wwLjY0NjQ0NyAxMy4zNzQ0TDIuNzY3NzcgMTUuNDk1N0wzLjQ3NDg3IDE0Ljc4ODZaTTExLjI1MyAzLjQ3NDg3TDEzLjM3NDQgMS4zNTM1NUwxMi42NjczIDAuNjQ2NDQ1TDEwLjU0NTkgMi43Njc3NkwxMS4yNTMgMy40NzQ4N1pNMTIuNjY3MyAxLjM1MzU1TDE0Ljc4ODYgMy40NzQ4N0wxNS40OTU3IDIuNzY3NzZMMTMuMzc0NCAwLjY0NjQ0NUwxMi42NjczIDEuMzUzNTVaTTE0Ljc4ODYgMi43Njc3NkwxMi42NjczIDQuODg5MDlMMTMuMzc0NCA1LjU5NjE5TDE1LjQ5NTcgMy40NzQ4N0wxNC43ODg2IDIuNzY3NzZaTTEzLjM3NDQgNC44ODkwOUwxMS4yNTMgMi43Njc3NkwxMC41NDU5IDMuNDc0ODdMMTIuNjY3MyA1LjU5NjE5TDEzLjM3NDQgNC44ODkwOVpNMjUuMzk1MiAxNy42MTdMMjcuNTE2NSAxNS40OTU3TDI2LjgwOTQgMTQuNzg4NkwyNC42ODgxIDE2LjkwOTlMMjUuMzk1MiAxNy42MTdaTTI2LjgwOTQgMTUuNDk1N0wyOC45MzA3IDE3LjYxN0wyOS42Mzc4IDE2LjkwOTlMMjcuNTE2NSAxNC43ODg2TDI2LjgwOTQgMTUuNDk1N1pNMjguOTMwNyAxNi45MDk5TDI2LjgwOTQgMTkuMDMxMkwyNy41MTY1IDE5LjczODNMMjkuNjM3OCAxNy42MTdMMjguOTMwNyAxNi45MDk5Wk0yNy41MTY1IDE5LjAzMTJMMjUuMzk1MiAxNi45MDk5TDI0LjY4ODEgMTcuNjE3TDI2LjgwOTQgMTkuNzM4M0wyNy41MTY1IDE5LjAzMTJaTTE1LjQ5NTcgMjcuNTE2NUwxNy42MTcgMjUuMzk1MkwxNi45MDk5IDI0LjY4ODFMMTQuNzg4NiAyNi44MDk0TDE1LjQ5NTcgMjcuNTE2NVpNMTYuOTA5OSAyNS4zOTUyTDE5LjAzMTIgMjcuNTE2NUwxOS43MzgzIDI2LjgwOTRMMTcuNjE3IDI0LjY4ODFMMTYuOTA5OSAyNS4zOTUyWk0xOS4wMzEyIDI2LjgwOTRMMTYuOTA5OSAyOC45MzA3TDE3LjYxNyAyOS42Mzc4TDE5LjczODMgMjcuNTE2NUwxOS4wMzEyIDI2LjgwOTRaTTE3LjYxNyAyOC45MzA3TDE1LjQ5NTcgMjYuODA5NEwxNC43ODg2IDI3LjUxNjVMMTYuOTA5OSAyOS42Mzc4TDE3LjYxNyAyOC45MzA3Wk0yLjQxNDIxIDEzLjAyMDhMMS43MDcxMSAxMi4zMTM3TDEgMTMuMDIwOEwxLjcwNzExIDEzLjcyNzlMMi40MTQyMSAxMy4wMjA4Wk00LjM1ODc2IDE0Ljk2NTRMMy42NTE2NSAxNS42NzI1TDQuMzU4NzYgMTYuMzc5Nkw1LjA2NTg2IDE1LjY3MjVMNC4zNTg3NiAxNC45NjU0Wk01LjA2NTg2IDE0LjI1ODJMNS43NzI5NyAxNC45NjU0TDYuNDgwMDggMTQuMjU4Mkw1Ljc3Mjk3IDEzLjU1MTFMNS4wNjU4NiAxNC4yNTgyWk01LjE1NDI1IDExLjY5NUw1Ljg2MTM2IDEyLjQwMjFMNi41Njg0NyAxMS42OTVMNS44NjEzNiAxMC45ODc5TDUuMTU0MjUgMTEuNjk1Wk00LjQ0NzE1IDEwLjk4NzlMNS4xNTQyNSAxMC4yODA4TDQuNDQ3MTUgOS41NzM2N0wzLjc0MDA0IDEwLjI4MDhMNC40NDcxNSAxMC45ODc5Wk01LjY4NDU4IDkuNzUwNDRMNC45Nzc0OCA5LjA0MzM0TDQuMjcwMzcgOS43NTA0NEw0Ljk3NzQ4IDEwLjQ1NzZMNS42ODQ1OCA5Ljc1MDQ0Wk02LjM5MTY5IDEwLjQ1NzZMNS42ODQ1OCAxMS4xNjQ3TDYuMzkxNjkgMTEuODcxOEw3LjA5ODggMTEuMTY0N0w2LjM5MTY5IDEwLjQ1NzZaTTEwLjQ1NzYgNi4zOTE2OUwxMS4xNjQ3IDcuMDk4NzlMMTEuODcxOCA2LjM5MTY5TDExLjE2NDcgNS42ODQ1OEwxMC40NTc2IDYuMzkxNjlaTTkuNzUwNDUgNS42ODQ1OEwxMC40NTc2IDQuOTc3NDdMOS43NTA0NSA0LjI3MDM3TDkuMDQzMzQgNC45Nzc0N0w5Ljc1MDQ1IDUuNjg0NThaTTEwLjk4NzkgNC40NDcxNEwxMC4yODA4IDMuNzQwMDRMOS41NzM2NyA0LjQ0NzE0TDEwLjI4MDggNS4xNTQyNUwxMC45ODc5IDQuNDQ3MTRaTTExLjY5NSA1LjE1NDI1TDEwLjk4NzkgNS44NjEzNkwxMS42OTUgNi41Njg0NkwxMi40MDIxIDUuODYxMzZMMTEuNjk1IDUuMTU0MjVaTTE0LjI1ODMgNS4wNjU4NkwxMy41NTExIDUuNzcyOTdMMTQuMjU4MyA2LjQ4MDA4TDE0Ljk2NTQgNS43NzI5N0wxNC4yNTgzIDUuMDY1ODZaTTE0Ljk2NTQgNC4zNTg3NUwxNS42NzI1IDUuMDY1ODZMMTYuMzc5NiA0LjM1ODc1TDE1LjY3MjUgMy42NTE2NUwxNC45NjU0IDQuMzU4NzVaTTEzLjAyMDggMi40MTQyMUwxMy43Mjc5IDEuNzA3MUwxMy4wMjA4IDAuOTk5OTk4TDEyLjMxMzcgMS43MDcxTDEzLjAyMDggMi40MTQyMVpNMTYuMDI2IDUuNDE5NDJMMTYuNzMzMSA0LjcxMjMxTDE2LjAyNiA0LjAwNTJMMTUuMzE4OSA0LjcxMjMxTDE2LjAyNiA1LjQxOTQyWk0xNS4zMTg5IDYuMTI2NTJMMTQuNjExOCA1LjQxOTQyTDEzLjkwNDcgNi4xMjY1MkwxNC42MTE4IDYuODMzNjNMMTUuMzE4OSA2LjEyNjUyWk0xOS4yMDggMTAuMDE1NkwxOC41MDA5IDEwLjcyMjdMMTkuMjA4IDExLjQyOThMMTkuOTE1MSAxMC43MjI3TDE5LjIwOCAxMC4wMTU2Wk0xOS45MTUxIDkuMzA4NUwyMC42MjIyIDEwLjAxNTZMMjEuMzI5MyA5LjMwODVMMjAuNjIyMiA4LjYwMTRMMTkuOTE1MSA5LjMwODVaTTIwLjk3NTggMTAuMzY5MkwyMS42ODI5IDkuNjYyMDZMMjAuOTc1OCA4Ljk1NDk1TDIwLjI2ODcgOS42NjIwNkwyMC45NzU4IDEwLjM2OTJaTTIwLjI2ODcgMTEuMDc2M0wxOS41NjE2IDEwLjM2OTJMMTguODU0NCAxMS4wNzYzTDE5LjU2MTYgMTEuNzgzNEwyMC4yNjg3IDExLjA3NjNaTTI0LjE1NzcgMTQuOTY1NEwyMy40NTA2IDE1LjY3MjVMMjQuMTU3NyAxNi4zNzk2TDI0Ljg2NDkgMTUuNjcyNUwyNC4xNTc3IDE0Ljk2NTRaTTI0Ljg2NDkgMTQuMjU4MkwyNS41NzIgMTQuOTY1NEwyNi4yNzkxIDE0LjI1ODJMMjUuNTcyIDEzLjU1MTFMMjQuODY0OSAxNC4yNTgyWk0yNS45MjU1IDE1LjMxODlMMjYuNjMyNiAxNC42MTE4TDI1LjkyNTUgMTMuOTA0N0wyNS4yMTg0IDE0LjYxMThMMjUuOTI1NSAxNS4zMTg5Wk0yNS4yMTg0IDE2LjAyNkwyNC41MTEzIDE1LjMxODlMMjMuODA0MiAxNi4wMjZMMjQuNTExMyAxNi43MzMxTDI1LjIxODQgMTYuMDI2Wk0yNS4xMyAxOC41ODkzTDI0LjQyMjkgMTcuODgyMkwyMy43MTU4IDE4LjU4OTNMMjQuNDIyOSAxOS4yOTY0TDI1LjEzIDE4LjU4OTNaTTI1LjgzNzEgMTkuMjk2NEwyNS4xMyAyMC4wMDM1TDI1LjgzNzEgMjAuNzEwNkwyNi41NDQyIDIwLjAwMzVMMjUuODM3MSAxOS4yOTY0Wk0yNy44NzAxIDE3LjI2MzVMMjguNTc3MiAxNy45NzA2TDI5LjI4NDMgMTcuMjYzNUwyOC41NzcyIDE2LjU1NjNMMjcuODcwMSAxNy4yNjM1Wk0yNC41OTk3IDIwLjUzMzhMMjUuMzA2OCAyMS4yNDA5TDI2LjAxMzkgMjAuNTMzOEwyNS4zMDY4IDE5LjgyNjdMMjQuNTk5NyAyMC41MzM4Wk0yMy44OTI2IDE5LjgyNjdMMjQuNTk5NyAxOS4xMTk2TDIzLjg5MjYgMTguNDEyNUwyMy4xODU1IDE5LjExOTZMMjMuODkyNiAxOS44MjY3Wk0xOS44MjY3IDIzLjg5MjZMMTkuMTE5NiAyMy4xODU1TDE4LjQxMjUgMjMuODkyNkwxOS4xMTk2IDI0LjU5OTdMMTkuODI2NyAyMy44OTI2Wk0yMC41MzM4IDI0LjU5OTdMMTkuODI2NyAyNS4zMDY4TDIwLjUzMzggMjYuMDEzOUwyMS4yNDA5IDI1LjMwNjhMMjAuNTMzOCAyNC41OTk3Wk0xOS4yOTY0IDI1LjgzNzFMMjAuMDAzNSAyNi41NDQyTDIwLjcxMDYgMjUuODM3MUwyMC4wMDM1IDI1LjEzTDE5LjI5NjQgMjUuODM3MVpNMTguNTg5MyAyNS4xM0wxOS4yOTY0IDI0LjQyMjlMMTguNTg5MyAyMy43MTU4TDE3Ljg4MjIgMjQuNDIyOUwxOC41ODkzIDI1LjEzWk0xNi4wMjYgMjUuMjE4NEwxNi43MzMxIDI0LjUxMTNMMTYuMDI2IDIzLjgwNDJMMTUuMzE4OSAyNC41MTEzTDE2LjAyNiAyNS4yMTg0Wk0xNS4zMTg5IDI1LjkyNTVMMTQuNjExOCAyNS4yMTg0TDEzLjkwNDcgMjUuOTI1NUwxNC42MTE4IDI2LjYzMjZMMTUuMzE4OSAyNS45MjU1Wk0xNy4yNjM1IDI3Ljg3MDFMMTYuNTU2MyAyOC41NzcyTDE3LjI2MzUgMjkuMjg0M0wxNy45NzA2IDI4LjU3NzJMMTcuMjYzNSAyNy44NzAxWk0xNC4yNTgzIDI0Ljg2NDlMMTMuNTUxMSAyNS41NzJMMTQuMjU4MyAyNi4yNzkxTDE0Ljk2NTQgMjUuNTcyTDE0LjI1ODMgMjQuODY0OVpNMTQuOTY1NCAyNC4xNTc3TDE1LjY3MjUgMjQuODY0OUwxNi4zNzk2IDI0LjE1NzdMMTUuNjcyNSAyMy40NTA2TDE0Ljk2NTQgMjQuMTU3N1pNMTEuMDc2MyAyMC4yNjg3TDExLjc4MzQgMTkuNTYxNkwxMS4wNzYzIDE4Ljg1NDRMMTAuMzY5MiAxOS41NjE2TDExLjA3NjMgMjAuMjY4N1pNMTAuMzY5MiAyMC45NzU4TDkuNjYyMDYgMjAuMjY4N0w4Ljk1NDk1IDIwLjk3NThMOS42NjIwNiAyMS42ODI5TDEwLjM2OTIgMjAuOTc1OFpNOS4zMDg1IDE5LjkxNTFMOC42MDE0IDIwLjYyMjJMOS4zMDg1IDIxLjMyOTNMMTAuMDE1NiAyMC42MjIyTDkuMzA4NSAxOS45MTUxWk0xMC4wMTU2IDE5LjIwOEwxMC43MjI3IDE5LjkxNTFMMTEuNDI5OCAxOS4yMDhMMTAuNzIyNyAxOC41MDA5TDEwLjAxNTYgMTkuMjA4Wk02LjEyNjUyIDE1LjMxODlMNi44MzM2MyAxNC42MTE4TDYuMTI2NTIgMTMuOTA0N0w1LjQxOTQyIDE0LjYxMThMNi4xMjY1MiAxNS4zMTg5Wk01LjQxOTQyIDE2LjAyNkw0LjcxMjMxIDE1LjMxODlMNC4wMDUyIDE2LjAyNkw0LjcxMjMxIDE2LjczMzFMNS40MTk0MiAxNi4wMjZaTTMuMTIxMzIgMTIuMzEzN0wzLjgyODQzIDExLjYwNjZMMy4xMjEzMiAxMC44OTk1TDIuNDE0MjEgMTEuNjA2NkwzLjEyMTMyIDEyLjMxMzdaTTMuMTIxMzIgMTMuNzI3OUwyLjQxNDIxIDE0LjQzNUwzLjEyMTMyIDE1LjE0MjFMMy44Mjg0MyAxNC40MzVMMy4xMjEzMiAxMy43Mjc5Wk0xMi4zMTM3IDMuMTIxMzJMMTEuNjA2NiAyLjQxNDIxTDEwLjg5OTUgMy4xMjEzMkwxMS42MDY2IDMuODI4NDJMMTIuMzEzNyAzLjEyMTMyWk0xMy43Mjc5IDMuMTIxMzJMMTQuNDM1IDMuODI4NDJMMTUuMTQyMSAzLjEyMTMyTDE0LjQzNSAyLjQxNDIxTDEzLjcyNzkgMy4xMjEzMlpNMjcuMTYzIDE2LjU1NjNMMjcuODcwMSAxNS44NDkyTDI3LjE2MyAxNS4xNDIxTDI2LjQ1NTggMTUuODQ5MkwyNy4xNjMgMTYuNTU2M1pNMjcuMTYzIDE3Ljk3MDZMMjYuNDU1OCAxOC42Nzc3TDI3LjE2MyAxOS4zODQ4TDI3Ljg3MDEgMTguNjc3N0wyNy4xNjMgMTcuOTcwNlpNMTYuNTU2MyAyNy4xNjI5TDE1Ljg0OTIgMjYuNDU1OEwxNS4xNDIxIDI3LjE2MjlMMTUuODQ5MiAyNy44NzAxTDE2LjU1NjMgMjcuMTYyOVpNMTcuOTcwNiAyNy4xNjI5TDE4LjY3NzcgMjcuODcwMUwxOS4zODQ4IDI3LjE2MjlMMTguNjc3NyAyNi40NTU4TDE3Ljk3MDYgMjcuMTYyOVpNNS4wNjU4NiAxNS42NzI1TDUuNzcyOTcgMTQuOTY1NEw0LjM1ODc2IDEzLjU1MTFMMy42NTE2NSAxNC4yNTgyTDUuMDY1ODYgMTUuNjcyNVpNNS44NjEzNiAxMC45ODc5TDUuMTU0MjUgMTAuMjgwOEwzLjc0MDA0IDExLjY5NUw0LjQ0NzE1IDEyLjQwMjFMNS44NjEzNiAxMC45ODc5Wk00Ljk3NzQ4IDEwLjQ1NzZMNS42ODQ1OCAxMS4xNjQ3TDcuMDk4OCA5Ljc1MDQ0TDYuMzkxNjkgOS4wNDMzNEw0Ljk3NzQ4IDEwLjQ1NzZaTTExLjE2NDcgNS42ODQ1OEwxMC40NTc2IDQuOTc3NDdMOS4wNDMzNCA2LjM5MTY5TDkuNzUwNDUgNy4wOTg3OUwxMS4xNjQ3IDUuNjg0NThaTTEwLjI4MDggNS4xNTQyNUwxMC45ODc5IDUuODYxMzZMMTIuNDAyMSA0LjQ0NzE0TDExLjY5NSAzLjc0MDA0TDEwLjI4MDggNS4xNTQyNVpNMTQuOTY1NCA1Ljc3Mjk3TDE1LjY3MjUgNS4wNjU4NkwxNC4yNTgzIDMuNjUxNjVMMTMuNTUxMSA0LjM1ODc1TDE0Ljk2NTQgNS43NzI5N1pNMTUuMzE4OSA0LjcxMjMxTDE0LjYxMTggNS40MTk0MkwxNi4wMjYgNi44MzM2M0wxNi43MzMxIDYuMTI2NTJMMTUuMzE4OSA0LjcxMjMxWk0xOS45MTUxIDEwLjcyMjdMMjAuNjIyMiAxMC4wMTU2TDE5LjIwOCA4LjYwMTRMMTguNTAwOSA5LjMwODVMMTkuOTE1MSAxMC43MjI3Wk0yMC4yNjg3IDkuNjYyMDZMMTkuNTYxNiAxMC4zNjkyTDIwLjk3NTggMTEuNzgzNEwyMS42ODI5IDExLjA3NjNMMjAuMjY4NyA5LjY2MjA2Wk0yNC44NjQ5IDE1LjY3MjVMMjUuNTcyIDE0Ljk2NTRMMjQuMTU3NyAxMy41NTExTDIzLjQ1MDYgMTQuMjU4MkwyNC44NjQ5IDE1LjY3MjVaTTI1LjIxODQgMTQuNjExOEwyNC41MTEzIDE1LjMxODlMMjUuOTI1NSAxNi43MzMxTDI2LjYzMjYgMTYuMDI2TDI1LjIxODQgMTQuNjExOFpNMjQuNDIyOSAxOS4yOTY0TDI1LjEzIDIwLjAwMzVMMjYuNTQ0MiAxOC41ODkzTDI1LjgzNzEgMTcuODgyMkwyNC40MjI5IDE5LjI5NjRaTTI1LjMwNjggMTkuODI2N0wyNC41OTk3IDE5LjExOTZMMjMuMTg1NSAyMC41MzM4TDIzLjg5MjYgMjEuMjQwOUwyNS4zMDY4IDE5LjgyNjdaTTE5LjExOTYgMjQuNTk5N0wxOS44MjY3IDI1LjMwNjhMMjEuMjQwOSAyMy44OTI2TDIwLjUzMzggMjMuMTg1NUwxOS4xMTk2IDI0LjU5OTdaTTIwLjAwMzUgMjUuMTNMMTkuMjk2NCAyNC40MjI5TDE3Ljg4MjIgMjUuODM3MUwxOC41ODkzIDI2LjU0NDJMMjAuMDAzNSAyNS4xM1pNMTUuMzE4OSAyNC41MTEzTDE0LjYxMTggMjUuMjE4NEwxNi4wMjYgMjYuNjMyNkwxNi43MzMxIDI1LjkyNTVMMTUuMzE4OSAyNC41MTEzWk0xNC45NjU0IDI1LjU3MkwxNS42NzI1IDI0Ljg2NDlMMTQuMjU4MyAyMy40NTA2TDEzLjU1MTEgMjQuMTU3N0wxNC45NjU0IDI1LjU3MlpNMTAuMzY5MiAxOS41NjE2TDkuNjYyMDYgMjAuMjY4N0wxMS4wNzYzIDIxLjY4MjlMMTEuNzgzNCAyMC45NzU4TDEwLjM2OTIgMTkuNTYxNlpNMTAuMDE1NiAyMC42MjIyTDEwLjcyMjcgMTkuOTE1MUw5LjMwODUgMTguNTAwOUw4LjYwMTQgMTkuMjA4TDEwLjAxNTYgMjAuNjIyMlpNNS40MTk0MiAxNC42MTE4TDQuNzEyMzEgMTUuMzE4OUw2LjEyNjUyIDE2LjczMzFMNi44MzM2MyAxNi4wMjZMNS40MTk0MiAxNC42MTE4Wk0zLjEyMTMyIDEzLjcyNzlMNS4xNTQyNSAxMS42OTVMMy43NDAwNCAxMC4yODA4TDEuNzA3MTEgMTIuMzEzN0wzLjEyMTMyIDEzLjcyNzlaTTUuMDY1ODYgMTQuMjU4MkwzLjEyMTMyIDEyLjMxMzdMMS43MDcxMSAxMy43Mjc5TDMuNjUxNjUgMTUuNjcyNUw1LjA2NTg2IDE0LjI1ODJaTTUuNzcyOTcgMTMuNTUxMUw0LjUzNTUzIDEyLjMxMzdMMy4xMjEzMiAxMy43Mjc5TDQuMzU4NzYgMTQuOTY1NEw1Ljc3Mjk3IDEzLjU1MTFaTTQuNTM1NTMgMTMuNzI3OUw1Ljg2MTM2IDEyLjQwMjFMNC40NDcxNSAxMC45ODc5TDMuMTIxMzIgMTIuMzEzN0w0LjUzNTUzIDEzLjcyNzlaTTcuMDk4OCAxMS4xNjQ3TDExLjE2NDcgNy4wOTg3OUw5Ljc1MDQ1IDUuNjg0NThMNS42ODQ1OCA5Ljc1MDQ0TDcuMDk4OCAxMS4xNjQ3Wk02LjM5MTY5IDEwLjQ1NzZMMTAuNDU3NiA2LjM5MTY5TDkuMDQzMzQgNC45Nzc0N0w0Ljk3NzQ4IDkuMDQzMzRMNi4zOTE2OSAxMC40NTc2Wk0xMi40MDIxIDUuODYxMzZMMTMuNzI3OSA0LjUzNTUzTDEyLjMxMzcgMy4xMjEzMkwxMC45ODc5IDQuNDQ3MTRMMTIuNDAyMSA1Ljg2MTM2Wk0xMi4zMTM3IDQuNTM1NTNMMTMuNTUxMSA1Ljc3Mjk3TDE0Ljk2NTQgNC4zNTg3NUwxMy43Mjc5IDMuMTIxMzJMMTIuMzEzNyA0LjUzNTUzWk0xMi4zMTM3IDMuMTIxMzJMMTQuMjU4MyA1LjA2NTg2TDE1LjY3MjUgMy42NTE2NUwxMy43Mjc5IDEuNzA3MUwxMi4zMTM3IDMuMTIxMzJaTTExLjY5NSA1LjE1NDI1TDEzLjcyNzkgMy4xMjEzMkwxMi4zMTM3IDEuNzA3MUwxMC4yODA4IDMuNzQwMDRMMTEuNjk1IDUuMTU0MjVaTTE0LjYxMTggNi44MzM2M0wxOC41MDA5IDEwLjcyMjdMMTkuOTE1MSA5LjMwODVMMTYuMDI2IDUuNDE5NDJMMTQuNjExOCA2LjgzMzYzWk0xNS4zMTg5IDYuMTI2NTJMMTkuMjA4IDEwLjAxNTZMMjAuNjIyMiA4LjYwMTRMMTYuNzMzMSA0LjcxMjMxTDE1LjMxODkgNi4xMjY1MlpNMTkuNTYxNiAxMS43ODM0TDIzLjQ1MDYgMTUuNjcyNUwyNC44NjQ5IDE0LjI1ODJMMjAuOTc1OCAxMC4zNjkyTDE5LjU2MTYgMTEuNzgzNFpNMjAuMjY4NyAxMS4wNzYzTDI0LjE1NzcgMTQuOTY1NEwyNS41NzIgMTMuNTUxMUwyMS42ODI5IDkuNjYyMDZMMjAuMjY4NyAxMS4wNzYzWk0yNC41MTEzIDE2LjczMzFMMjUuNzQ4NyAxNy45NzA2TDI3LjE2MyAxNi41NTYzTDI1LjkyNTUgMTUuMzE4OUwyNC41MTEzIDE2LjczMzFaTTI1Ljc0ODcgMTYuNTU2M0wyNC40MjI5IDE3Ljg4MjJMMjUuODM3MSAxOS4yOTY0TDI3LjE2MyAxNy45NzA2TDI1Ljc0ODcgMTYuNTU2M1pNMjcuMTYzIDE2LjU1NjNMMjUuMTMgMTguNTg5M0wyNi41NDQyIDIwLjAwMzVMMjguNTc3MiAxNy45NzA2TDI3LjE2MyAxNi41NTYzWk0yNS4yMTg0IDE2LjAyNkwyNy4xNjMgMTcuOTcwNkwyOC41NzcyIDE2LjU1NjNMMjYuNjMyNiAxNC42MTE4TDI1LjIxODQgMTYuMDI2Wk0yMy4xODU1IDE5LjExOTZMMTkuMTE5NiAyMy4xODU1TDIwLjUzMzggMjQuNTk5N0wyNC41OTk3IDIwLjUzMzhMMjMuMTg1NSAxOS4xMTk2Wk0yMy44OTI2IDE5LjgyNjdMMTkuODI2NyAyMy44OTI2TDIxLjI0MDkgMjUuMzA2OEwyNS4zMDY4IDIxLjI0MDlMMjMuODkyNiAxOS44MjY3Wk0xNy44ODIyIDI0LjQyMjlMMTYuNTU2MyAyNS43NDg3TDE3Ljk3MDYgMjcuMTYyOUwxOS4yOTY0IDI1LjgzNzFMMTcuODgyMiAyNC40MjI5Wk0xNy45NzA2IDI1Ljc0ODdMMTYuNzMzMSAyNC41MTEzTDE1LjMxODkgMjUuOTI1NUwxNi41NTYzIDI3LjE2MjlMMTcuOTcwNiAyNS43NDg3Wk0xNy45NzA2IDI3LjE2MjlMMTYuMDI2IDI1LjIxODRMMTQuNjExOCAyNi42MzI2TDE2LjU1NjMgMjguNTc3MkwxNy45NzA2IDI3LjE2MjlaTTE4LjU4OTMgMjUuMTNMMTYuNTU2MyAyNy4xNjI5TDE3Ljk3MDYgMjguNTc3MkwyMC4wMDM1IDI2LjU0NDJMMTguNTg5MyAyNS4xM1pNMTUuNjcyNSAyMy40NTA2TDExLjc4MzQgMTkuNTYxNkwxMC4zNjkyIDIwLjk3NThMMTQuMjU4MyAyNC44NjQ5TDE1LjY3MjUgMjMuNDUwNlpNMTQuOTY1NCAyNC4xNTc3TDExLjA3NjMgMjAuMjY4N0w5LjY2MjA2IDIxLjY4MjlMMTMuNTUxMSAyNS41NzJMMTQuOTY1NCAyNC4xNTc3Wk0xMC43MjI3IDE4LjUwMDlMNi44MzM2MyAxNC42MTE4TDUuNDE5NDIgMTYuMDI2TDkuMzA4NSAxOS45MTUxTDEwLjcyMjcgMTguNTAwOVpNMTAuMDE1NiAxOS4yMDhMNi4xMjY1MiAxNS4zMTg5TDQuNzEyMzEgMTYuNzMzMUw4LjYwMTQgMjAuNjIyMkwxMC4wMTU2IDE5LjIwOFpNMy4xMjEzMiAxMy43Mjc5TDMuODI4NDMgMTMuMDIwOEwyLjQxNDIxIDExLjYwNjZMMS43MDcxMSAxMi4zMTM3TDMuMTIxMzIgMTMuNzI3OVpNMy44Mjg0MyAxMy4wMjA4TDMuMTIxMzIgMTIuMzEzN0wxLjcwNzExIDEzLjcyNzlMMi40MTQyMSAxNC40MzVMMy44Mjg0MyAxMy4wMjA4Wk0zLjEyMTMyIDEyLjMxMzdMMi40MTQyMSAxMy4wMjA4TDMuODI4NDMgMTQuNDM1TDQuNTM1NTMgMTMuNzI3OUwzLjEyMTMyIDEyLjMxMzdaTTIuNDE0MjEgMTMuMDIwOEwzLjEyMTMyIDEzLjcyNzlMNC41MzU1MyAxMi4zMTM3TDMuODI4NDMgMTEuNjA2NkwyLjQxNDIxIDEzLjAyMDhaTTEzLjAyMDggMy44Mjg0MkwxMy43Mjc5IDMuMTIxMzJMMTIuMzEzNyAxLjcwNzFMMTEuNjA2NiAyLjQxNDIxTDEzLjAyMDggMy44Mjg0MlpNMTMuNzI3OSAzLjEyMTMyTDEzLjAyMDggMi40MTQyMUwxMS42MDY2IDMuODI4NDJMMTIuMzEzNyA0LjUzNTUzTDEzLjcyNzkgMy4xMjEzMlpNMTMuMDIwOCAyLjQxNDIxTDEyLjMxMzcgMy4xMjEzMkwxMy43Mjc5IDQuNTM1NTNMMTQuNDM1IDMuODI4NDJMMTMuMDIwOCAyLjQxNDIxWk0xMi4zMTM3IDMuMTIxMzJMMTMuMDIwOCAzLjgyODQyTDE0LjQzNSAyLjQxNDIxTDEzLjcyNzkgMS43MDcxTDEyLjMxMzcgMy4xMjEzMlpNMjcuMTYzIDE3Ljk3MDZMMjcuODcwMSAxNy4yNjM1TDI2LjQ1NTggMTUuODQ5MkwyNS43NDg3IDE2LjU1NjNMMjcuMTYzIDE3Ljk3MDZaTTI3Ljg3MDEgMTcuMjYzNUwyNy4xNjMgMTYuNTU2M0wyNS43NDg3IDE3Ljk3MDZMMjYuNDU1OCAxOC42Nzc3TDI3Ljg3MDEgMTcuMjYzNVpNMjcuMTYzIDE2LjU1NjNMMjYuNDU1OCAxNy4yNjM1TDI3Ljg3MDEgMTguNjc3N0wyOC41NzcyIDE3Ljk3MDZMMjcuMTYzIDE2LjU1NjNaTTI2LjQ1NTggMTcuMjYzNUwyNy4xNjMgMTcuOTcwNkwyOC41NzcyIDE2LjU1NjNMMjcuODcwMSAxNS44NDkyTDI2LjQ1NTggMTcuMjYzNVpNMTcuMjYzNSAyNy44NzAxTDE3Ljk3MDYgMjcuMTYyOUwxNi41NTYzIDI1Ljc0ODdMMTUuODQ5MiAyNi40NTU4TDE3LjI2MzUgMjcuODcwMVpNMTcuOTcwNiAyNy4xNjI5TDE3LjI2MzUgMjYuNDU1OEwxNS44NDkyIDI3Ljg3MDFMMTYuNTU2MyAyOC41NzcyTDE3Ljk3MDYgMjcuMTYyOVpNMTcuMjYzNSAyNi40NTU4TDE2LjU1NjMgMjcuMTYyOUwxNy45NzA2IDI4LjU3NzJMMTguNjc3NyAyNy44NzAxTDE3LjI2MzUgMjYuNDU1OFpNMTYuNTU2MyAyNy4xNjI5TDE3LjI2MzUgMjcuODcwMUwxOC42Nzc3IDI2LjQ1NThMMTcuOTcwNiAyNS43NDg3TDE2LjU1NjMgMjcuMTYyOVoiIGZpbGw9IndoaXRlIiBtYXNrPSJ1cmwoI3BhdGgtMy1vdXRzaWRlLTFfMTgzOF81MzEpIi8+Cjwvc3ZnPgo=",Dci={name:"synchronization",i18n:{de:sli,en:Ili,es:Gli,fr:lci,it:xci},component:Yai,button:{tooltip:"synchronization.tooltip",position:"right",stance:1,content:"free",keepOpen:!0,icon:{imgUri:Nci}}},Sci={setup(){const t=Gt("$viewer"),{localContext:e}=t,i=e.pluginComponentInstances.get("pointCloud"),{xeokit:o}=i,r=pL(),n=new Map;ai(r,()=>{r.value.forEach(u=>{if(!n.has(u)){const{x:d,y:h,z:A}=u,g=new Ec(o.scene,{worldPos:[d,A,h]});g.annotation=u;const p=g.canvasPos,M=Xe(`left: ${p[0]}px; top: ${p[1]}px;`);g.on("canvasPos",([L,v])=>{M.value=`left: ${L}px; top: ${v}px;`}),g.style=M;const f=t.state.hub.on("annotation-updated",({annotation:L})=>{if(L===u){const{x:v,y:I,z:C}=L;g.worldPos=[v,C,I],g._update()}}),w=t.state.hub.on("annotation-removed",({annotation:L})=>{L===u&&(n.delete(u),g.destroy())});g.on("destroyed",()=>{t.state.hub.off(w),t.state.hub.off(f)}),n.set(u,g)}})},{flush:"sync"});const s=u=>n.get(u).style.value,a=(u,d)=>{const{clientX:h,clientY:A}=u,{x:g,y:p}=o.scene.canvas.canvas.getBoundingClientRect(),M=o.scene.pick({pickSurface:!0,canvasPos:[h-g,A-p]});if(M){const[f,w,L]=M.worldPos;d.x=f,d.y=L,d.z=w}},l=u=>Zi("div",{class:"bimdata-point-cloud-annotations__annotation",style:s(u)},[Zi(u.component,{onGrab:d=>a(d,u),...u.props,localContext:e})]),c=Sg(o.scene.canvas.canvas);return()=>Zi("div",{class:"bimdata-point-cloud-annotations",onWheel:c},r.value.map(l))}},Tci=K(Sci,[["__scopeId","data-v-45174af9"]]),kci={name:"PointCloudViewer",components:{Annotations:Tci},data(){const{settings:t}=this.$plugin;return{settings:t,canvasId:null,spinnerCanvasId:null,xeokitCreated:!1,loadedModels:[],tilesets:new Map,sensitivity:50,annotationMode:!1,modelHeaderShown:t.modelLoader!=="hidden",navCubeVisible:t.navCube!==!1,loading:!1}},watch:{sensitivity(t){this.tilesetLoaderPlugin&&(this.tilesetLoaderPlugin.sensitivity=t)}},created(){this.canvasId=`canvas-id-${this.$viewer.localContext.id}`,this.spinnerCanvasId=`spinner-canvas-id-${this.$viewer.localContext.id}`,this.navCubeCanvasId=`nav-cube-canvas-id-${this.$viewer.localContext.id}`,this.xeokitSdk=Lj},mounted(){const t=new wk({canvasId:this.canvasId,transparent:!0,spinnerElementId:this.spinnerCanvasId,backgroundColorFromAmbientLight:!1});t.cameraControl.doublePickFlyTo=!1,t.cameraControl.panRightClick=!1,t.cameraControl.followPointer=!0,t.cameraControl.smartPivot=!0,this.settings.pivotMarker!==!1&&t.cameraControl.enablePivotSphere({size:1,color:[.25,.25,.25]}),t.cameraControl.touchDollyRate=1,t.cameraControl.mouseWheelDollyRate=60,t.cameraControl.keyboardDollyRate=20,t.cameraControl.dragRotationRate=450,t.cameraControl.rotationInertia=0,t.cameraControl.dollyInertia=0,t.camera.perspective.near=1,t.camera.perspective.far=1e5,t.camera.ortho.near=1,t.camera.ortho.far=1e5,this.bcfViewpointsPlugin=new FT(t,{originatingSystem:"BIMDataViewer/v1.0",authoringTool:"BIMData.io"}),this.distanceMeasurementsPlugin=new Gq(t,{defaultAxisVisible:!1,container:this.$el,zIndex:0}),this.angleMeasurementsPlugin=new KS(t,{container:this.$el,zIndex:0}),this.tilesetLoaderPlugin=new cee(t,{sensitivity:this.sensitivity,debugMode:!1}),this.navCubeVisible&&(this.navCube=new s7(t,{canvasId:this.navCubeCanvasId,visible:!1,cameraFly:!0,cameraFitFOV:45,cameraFlyDuration:.5,color:"#FFFFFF"})),this.xeokit=t,this.xeokitCreated=!0,window.xeokitPointCloud=this.xeokit},beforeUnmount(){var t;(t=this.xeokit)==null||t.destroy()},methods:{async loadModels(t){var e;this.loading=!0,this.loadedModels.push(...t.filter(s=>!this.loadedModels.some(a=>a.id===s.id)));const{apiUrl:i,cloudId:o,projectId:r,accessToken:n}=this.$viewer.api;t.forEach(async(s,a)=>{try{this.$viewer.localContext.loadingProcessStart();const l=await(await fetch(`${i}/cloud/${o}/project/${r}/model/${s.id}/tileset?tile_format=xkt`,{headers:new Headers({Authorization:`Bearer ${n}`})})).json();l.name=String(s.id);const c=this.tilesetLoaderPlugin.load(l);this.tilesets.set(s,c);const u={model:s,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-loaded",u),this.$viewer.globalContext.hub.emit("pointcloud-model-loaded",u),a===0&&!this.viewpointPending&&this.xeokit.cameraFlight.flyTo()}catch(l){console.error("Error while loading Tileset ",s.id,"with error: ",l),this.loadedModels=this.loadedModels.filter(c=>c.id!==s.id)}finally{this.$viewer.localContext.loadingProcessEnd(),this.loading=!1}}),this.loadedModels.length>0&&((e=this.navCube)==null||e.setVisible(!0))},unloadModels(t){var e;const i=t.map(o=>this.tilesets.get(o)).filter(Boolean);t.forEach(o=>this.tilesets.delete(o)),i.forEach(o=>o.destroy()),this.loadedModels=this.loadedModels.filter(o=>!t.find(r=>r.id===o.id)),t.forEach(o=>{const r={model:o,plugin:this};this.$viewer.localContext.hub.emit("pointcloud-model-unloaded",r),this.$viewer.globalContext.hub.emit("pointcloud-model-unloaded",r)}),this.loadedModels.length===0&&((e=this.navCube)==null||e.setVisible(!1))},fitView(){this.xeokit.cameraFlight.flyTo()},async getSnapshot(){return{snapshot_type:"png",snapshot_data:await this.xeokit.getSnapshotWithPlugins({format:"png"})}},getViewpoint(){const t=this.bcfViewpointsPlugin.getViewpoint({snapshot:!1});return t.order=2,t.originating_system="pointCloud",t.models=this.$viewer.localContext.loadedModels.map(e=>e.id),t},async setViewpoint(t,{immediate:e=!1,duration:i=.3}={}){if(this.loading){this.viewpointPending=!0;let o=null;await new Promise(r=>{o=this.$watch("loading",n=>{n||r()},{immediate:!0})}),o(),this.viewpointPending=!1}await new Promise(o=>setTimeout(o,200)),this.bcfViewpointsPlugin.setViewpoint(t,{rayCast:!1,immediate:e,duration:i})},startAnnotationMode(t){if(this.annotationMode)return;this.annotationMode=!0;const e=this.xeokit.scene.canvas.canvas;this.canvasCursor=e.style.cursor,e.style.cursor="copy",this.annotationListener=this.xeokit.scene.input.on("mouseclicked",i=>{const o=this.xeokit.scene.pick({pickSurface:!0,canvasPos:i});if(o){const[r,n,s]=o.worldPos;t({x:r,y:s,z:n,models:this.$viewer.localContext.loadedModels})}})},stopAnnotationMode(){this.annotationMode&&(this.annotationMode=!1,this.xeokit.scene.canvas.canvas.style.cursor=this.canvasCursor,this.xeokit.scene.input.off(this.annotationListener))},showUI(){this.modelHeaderShown=this.settings.modelLoader!=="hidden",this.navCubeVisible=this.settings.navCube!==!1},hideUI(){this.modelHeaderShown=!1,this.navCubeVisible=!1}}},Eci={class:"bimdata-viewer-point-cloud"},zci={ref:"header",class:"bimdata-viewer-point-cloud__header"},Pci=["id"],Bci=["id"],Oci=["id"];function Rci(t,e,i,o,r,n){const s=z("NoModelWindowPlaceHolder"),a=z("ModelsLoader"),l=z("Annotations");return D(),Y("div",Eci,[r.loadedModels.length===0?(D(),se(s,{key:0})):ve("",!0),m("div",zci,[r.settings.modelLoader!=="disabled"?St((D(),se(a,{key:0,"window-positioning":!1,preview:""},null,512)),[[Mi,r.modelHeaderShown]]):ve("",!0)],512),m("canvas",{id:r.canvasId,class:"bimdata-viewer-point-cloud__viewer",onWheel:e[0]||(e[0]=bt(()=>{},["prevent"]))},null,40,Pci),r.xeokitCreated?(D(),se(l,{key:1})):ve("",!0),St(m("canvas",{id:t.navCubeCanvasId,class:"bimdata-viewer-point-cloud__nav-cube"},null,8,Bci),[[Mi,r.navCubeVisible]]),m("div",{id:r.spinnerCanvasId},null,8,Oci)])}const Uci=K(kci,[["render",Rci],["__scopeId","data-v-7c80c1ed"]]),Yci="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOSAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjYxNzI1IDkuNjQ0NjlMMTMuMDIxNCAyLjIwNTI4TDEzLjAzIDcuMjgxMjhMMTMuMDM0IDkuNjMyMDhMNS42MTcyNSA5LjY0NDY5Wk0yNS40ODQ3IDIuNzk1ODlDMjUuNDgyMSAxLjI1ODIyIDI0LjIzNzYgMC4wMDIyNDQzMSAyMi43MDIgMC4wMDQ4NTUyOUwxMS41MzQxIDAuMDIzODQ0MkwzLjE3MjQ2IDguNDI1MzVMMy4yMDA5OSAyNS4xOTk5QzMuMjAzNiAyNi43Mzc1IDQuNDYxNjkgMjcuOTkzNSA1Ljk5NzcxIDI3Ljk5MDlMMjIuNzYzNSAyNy45NjI0QzI0LjI5OTEgMjcuOTU5OCAyNS41MzkzIDI2LjY5OTYgMjUuNTM2NyAyNS4xNjE5TDI1LjQ4NDcgMi43OTU4OVoiIGZpbGw9IiMyRjM3NEEiLz4KPHJlY3QgeT0iMTIuMTk1OCIgd2lkdGg9IjI4LjAwMSIgaGVpZ2h0PSIxNC42MDkyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTAuMDk3NDIxIDAgMTIuMTk1OCkiIGZpbGw9IiNFNTQ0RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4xOTMzIDE0LjA2MTVDMTMuMzc4MyAxNC4wNjE1IDEzLjUyODIgMTMuOTExNCAxMy41MjgyIDEzLjcyNjJDMTMuNTI4MiAxMy41NDEgMTMuMzc4MyAxMy4zOTA5IDEzLjE5MzMgMTMuMzkwOUMxMy4wMDgzIDEzLjM5MDkgMTIuODU4NCAxMy41NDEgMTIuODU4NCAxMy43MjYyQzEyLjg1ODQgMTMuOTExNCAxMy4wMDg0IDE0LjA2MTUgMTMuMTkzMyAxNC4wNjE1Wk0xMS44OTExIDE0Ljc2OTVDMTEuODkxMSAxNC45NTQ3IDExLjc0MTEgMTUuMTA0OCAxMS41NTYyIDE1LjEwNDhDMTEuMzcxMiAxNS4xMDQ4IDExLjIyMTMgMTQuOTU0NyAxMS4yMjEzIDE0Ljc2OTVDMTEuMjIxMyAxNC41ODQzIDExLjM3MTIgMTQuNDM0MSAxMS41NTYyIDE0LjQzNDFDMTEuNzQxMSAxNC40MzQxIDExLjg5MTEgMTQuNTg0MyAxMS44OTExIDE0Ljc2OTVaTTE1LjkzNTEgMTQuNDY2NEMxNS43OCAxNC40MTIgMTUuNjEwMSAxNC40OTM4IDE1LjU1NTggMTQuNjQ5MkMxNS41MDE0IDE0LjgwNDUgMTUuNTgzMSAxNC45NzQ2IDE1LjczODIgMTUuMDI5MUwxOC42Nzg2IDE2LjEyMDlMMTQuNDY5MiAxOC40MkwxMS4zOTI1IDE3LjM4MTFDMTEuMjM2NyAxNy4zMjg1IDExLjA2NzggMTcuNDEyMyAxMS4wMTUzIDE3LjU2ODNDMTAuOTYyNyAxNy43MjQzIDExLjA0NjQgMTcuODkzNCAxMS4yMDIyIDE3Ljk0NkwxNC4xOTk3IDE4Ljk1ODJMMTQuMTk5NyAyNC44Mzg3TDExLjQzNjYgMjMuODI5NkMxMS4yODIxIDIzLjc3MzIgMTEuMTExMiAyMy44NTI5IDExLjA1NDkgMjQuMDA3NUMxMC45OTg2IDI0LjE2MjIgMTEuMDc4MSAyNC4zMzMzIDExLjIzMjYgMjQuMzg5N0wxNC4zOTU0IDI1LjU0NDhDMTQuNDc4NiAyNS41NzUyIDE0LjU3MSAyNS41NjY5IDE0LjY0NzQgMjUuNTIyMkwxOS41NTkyIDIyLjY1MzJDMTkuNjUwNiAyMi41OTk3IDE5LjcwNjggMjIuNTAxNyAxOS43MDY4IDIyLjM5NTdMMTkuNzA2OCAxNi4wNjE0QzE5LjcwNjggMTUuOTM0NyAxOS42MjY5IDE1LjgyMTkgMTkuNTA3NiAxNS43ODAxTDE1LjkzNTEgMTQuNDY2NFpNMTQuNzk1MSAxOC45MjExTDE5LjExMTUgMTYuNTYzNUwxOS4xMTE1IDIyLjIyNDVMMTQuNzk1MSAyNC43NDU4TDE0Ljc5NTEgMTguOTIxMVpNMTAuNDM5NyAxNy41NjRDMTAuNjI0NiAxNy41NjQgMTAuNzc0NiAxNy40MTM5IDEwLjc3NDYgMTcuMjI4N0MxMC43NzQ2IDE3LjA0MzUgMTAuNjI0NiAxNi44OTM0IDEwLjQzOTcgMTYuODkzNEMxMC4yNTQ3IDE2Ljg5MzQgMTAuMTA0OCAxNy4wNDM1IDEwLjEwNDggMTcuMjI4N0MxMC4xMDQ4IDE3LjQxMzkgMTAuMjU0NyAxNy41NjQgMTAuNDM5NyAxNy41NjRaTTkuODgxNjkgMTYuOTMwNkM5Ljg4MTcgMTcuMTE1OCA5LjczMTc2IDE3LjI2NTkgOS41NDY4IDE3LjI2NTlDOS4zNjE4NSAxNy4yNjU5IDkuMjExOTEgMTcuMTE1OCA5LjIxMTkxIDE2LjkzMDZDOS4yMTE5MSAxNi43NDU0IDkuMzYxODUgMTYuNTk1MiA5LjU0NjggMTYuNTk1MkM5LjczMTc2IDE2LjU5NTIgOS44ODE2OSAxNi43NDU0IDkuODgxNjkgMTYuOTMwNlpNOC42NTM2NCAxNi44OTMyQzguODM4NiAxNi44OTMyIDguOTg4NTMgMTYuNzQzMSA4Ljk4ODUzIDE2LjU1NzlDOC45ODg1MyAxNi4zNzI3IDguODM4NiAxNi4yMjI1IDguNjUzNjQgMTYuMjIyNUM4LjQ2ODY5IDE2LjIyMjUgOC4zMTg3NSAxNi4zNzI3IDguMzE4NzUgMTYuNTU3OUM4LjMxODc1IDE2Ljc0MzEgOC40Njg2OCAxNi44OTMyIDguNjUzNjQgMTYuODkzMlpNOS45NTU4NSAxNS45NjE5QzkuOTU1ODUgMTYuMTQ3MSA5LjgwNTkyIDE2LjI5NzMgOS42MjA5NiAxNi4yOTczQzkuNDM2MDEgMTYuMjk3MyA5LjI4NjA3IDE2LjE0NzEgOS4yODYwNyAxNS45NjE5QzkuMjg2MDcgMTUuNzc2NyA5LjQzNiAxNS42MjY2IDkuNjIwOTYgMTUuNjI2NkM5LjgwNTkyIDE1LjYyNjYgOS45NTU4NSAxNS43NzY3IDkuOTU1ODUgMTUuOTYxOVpNMTAuNTg4NCAxNS43MDA3QzEwLjc3MzQgMTUuNzAwNyAxMC45MjMzIDE1LjU1MDYgMTAuOTIzMyAxNS4zNjU0QzEwLjkyMzMgMTUuMTgwMiAxMC43NzM0IDE1LjAzIDEwLjU4ODQgMTUuMDNDMTAuNDAzNSAxNS4wMyAxMC4yNTM1IDE1LjE4MDIgMTAuMjUzNSAxNS4zNjU0QzEwLjI1MzUgMTUuNTUwNiAxMC40MDM1IDE1LjcwMDcgMTAuNTg4NCAxNS43MDA3Wk0xNC40NTYgMTQuMDUzMUMxNC40NTYgMTQuMjM4NCAxNC4zMDYgMTQuMzg4NSAxNC4xMjExIDE0LjM4ODVDMTMuOTM2MSAxNC4zODg1IDEzLjc4NjIgMTQuMjM4NCAxMy43ODYyIDE0LjA1MzFDMTMuNzg2MiAxMy44Njc5IDEzLjkzNjEgMTMuNzE3OCAxNC4xMjExIDEzLjcxNzhDMTQuMzA2IDEzLjcxNzggMTQuNDU2IDEzLjg2NzkgMTQuNDU2IDE0LjA1MzFaTTEyLjM3NDggMTQuNTgzMkMxMi41NTk3IDE0LjU4MzIgMTIuNzA5NiAxNC40MzMgMTIuNzA5NiAxNC4yNDc4QzEyLjcwOTYgMTQuMDYyNiAxMi41NTk3IDEzLjkxMjUgMTIuMzc0NyAxMy45MTI1QzEyLjE4OTggMTMuOTEyNSAxMi4wMzk5IDE0LjA2MjYgMTIuMDM5OSAxNC4yNDc4QzEyLjAzOTkgMTQuNDMzIDEyLjE4OTggMTQuNTgzMiAxMi4zNzQ4IDE0LjU4MzJaTTguOTg4NTMgMTcuNjAxMUM4Ljk4ODUzIDE3Ljc4NjMgOC44Mzg1OSAxNy45MzY1IDguNjUzNjQgMTcuOTM2NUM4LjQ2ODY4IDE3LjkzNjUgOC4zMTg3NSAxNy43ODYzIDguMzE4NzUgMTcuNjAxMUM4LjMxODc1IDE3LjQxNTkgOC40Njg2OSAxNy4yNjU4IDguNjUzNjQgMTcuMjY1OEM4LjgzODYgMTcuMjY1OCA4Ljk4ODUzIDE3LjQxNTkgOC45ODg1MyAxNy42MDExWk04LjY1MzY0IDE4Ljk3OTdDOC44Mzg1OSAxOC45Nzk3IDguOTg4NTMgMTguODI5NiA4Ljk4ODUzIDE4LjY0NDRDOC45ODg1MyAxOC40NTkyIDguODM4NiAxOC4zMDkgOC42NTM2NCAxOC4zMDlDOC40Njg2OSAxOC4zMDkgOC4zMTg3NSAxOC40NTkyIDguMzE4NzUgMTguNjQ0NEM4LjMxODc1IDE4LjgyOTYgOC40Njg2OCAxOC45Nzk3IDguNjUzNjQgMTguOTc5N1pNOC45ODg1MyAxOS42ODc2QzguOTg4NTMgMTkuODcyOCA4LjgzODU5IDIwLjAyMyA4LjY1MzY0IDIwLjAyM0M4LjQ2ODY4IDIwLjAyMyA4LjMxODc1IDE5Ljg3MjggOC4zMTg3NSAxOS42ODc2QzguMzE4NzUgMTkuNTAyNCA4LjQ2ODY5IDE5LjM1MjMgOC42NTM2NCAxOS4zNTIzQzguODM4NiAxOS4zNTIzIDguOTg4NTMgMTkuNTAyNCA4Ljk4ODUzIDE5LjY4NzZaTTguNjUzNjQgMjEuMDY2NUM4LjgzODYgMjEuMDY2NSA4Ljk4ODUzIDIwLjkxNjQgOC45ODg1MyAyMC43MzEyQzguOTg4NTMgMjAuNTQ2IDguODM4NiAyMC4zOTU4IDguNjUzNjQgMjAuMzk1OEM4LjQ2ODY5IDIwLjM5NTggOC4zMTg3NSAyMC41NDYgOC4zMTg3NSAyMC43MzEyQzguMzE4NzUgMjAuOTE2NCA4LjQ2ODY4IDIxLjA2NjUgOC42NTM2NCAyMS4wNjY1Wk04Ljk4ODUzIDIxLjc3NDRDOC45ODg1MyAyMS45NTk3IDguODM4NTkgMjIuMTA5OCA4LjY1MzY0IDIyLjEwOThDOC40Njg2OCAyMi4xMDk4IDguMzE4NzUgMjEuOTU5NyA4LjMxODc1IDIxLjc3NDVDOC4zMTg3NSAyMS41ODkyIDguNDY4NjkgMjEuNDM5MSA4LjY1MzY0IDIxLjQzOTFDOC44Mzg2IDIxLjQzOTEgOC45ODg1MyAyMS41ODkyIDguOTg4NTMgMjEuNzc0NFpNOC42NTM2NCAyMy4xNTMxQzguODM4NTkgMjMuMTUzMSA4Ljk4ODUzIDIzLjAwMjkgOC45ODg1MyAyMi44MTc3QzguOTg4NTMgMjIuNjMyNSA4LjgzODYgMjIuNDgyNCA4LjY1MzY0IDIyLjQ4MjRDOC40Njg2OSAyMi40ODI0IDguMzE4NzUgMjIuNjMyNSA4LjMxODc1IDIyLjgxNzdDOC4zMTg3NSAyMy4wMDI5IDguNDY4NjggMjMuMTUzMSA4LjY1MzY0IDIzLjE1MzFaTTkuODgxNjkgMjMuMzM5M0M5Ljg4MTcgMjMuNTI0NSA5LjczMTc2IDIzLjY3NDcgOS41NDY4IDIzLjY3NDdDOS4zNjE4NSAyMy42NzQ3IDkuMjExOTEgMjMuNTI0NSA5LjIxMTkxIDIzLjMzOTNDOS4yMTE5MSAyMy4xNTQxIDkuMzYxODUgMjMuMDA0IDkuNTQ2OCAyMy4wMDRDOS43MzE3NiAyMy4wMDQgOS44ODE2OSAyMy4xNTQxIDkuODgxNjkgMjMuMzM5M1pNMTAuNDM5NyAyMy45NzI4QzEwLjYyNDYgMjMuOTcyOCAxMC43NzQ2IDIzLjgyMjcgMTAuNzc0NiAyMy42Mzc1QzEwLjc3NDYgMjMuNDUyMyAxMC42MjQ2IDIzLjMwMjEgMTAuNDM5NyAyMy4zMDIxQzEwLjI1NDcgMjMuMzAyMSAxMC4xMDQ4IDIzLjQ1MjMgMTAuMTA0OCAyMy42Mzc1QzEwLjEwNDggMjMuODIyNyAxMC4yNTQ3IDIzLjk3MjggMTAuNDM5NyAyMy45NzI4Wk0xMC44NTc1IDE2LjMwMjhDMTAuODU3NSAxNi40ODgxIDEwLjcwNzYgMTYuNjM4MiAxMC41MjI2IDE2LjYzODJDMTAuMzM3NiAxNi42MzgyIDEwLjE4NzcgMTYuNDg4IDEwLjE4NzcgMTYuMzAyOEMxMC4xODc3IDE2LjExNzYgMTAuMzM3NiAxNS45Njc1IDEwLjUyMjYgMTUuOTY3NUMxMC43MDc1IDE1Ljk2NzUgMTAuODU3NSAxNi4xMTc2IDEwLjg1NzUgMTYuMzAyOFpNMTEuNDg5OSAxNi4wNDE3QzExLjY3NDkgMTYuMDQxNyAxMS44MjQ4IDE1Ljg5MTUgMTEuODI0OCAxNS43MDYzQzExLjgyNDggMTUuNTIxMSAxMS42NzQ5IDE1LjM3MSAxMS40ODk5IDE1LjM3MUMxMS4zMDUgMTUuMzcxIDExLjE1NSAxNS41MjExIDExLjE1NSAxNS43MDYzQzExLjE1NSAxNS44OTE1IDExLjMwNSAxNi4wNDE3IDExLjQ4OTkgMTYuMDQxN1pNMTIuNzkyNiAxNS4xMTA0QzEyLjc5MjYgMTUuMjk1NiAxMi42NDI2IDE1LjQ0NTcgMTIuNDU3NyAxNS40NDU3QzEyLjI3MjcgMTUuNDQ1NyAxMi4xMjI4IDE1LjI5NTYgMTIuMTIyOCAxNS4xMTA0QzEyLjEyMjggMTQuOTI1MiAxMi4yNzI3IDE0Ljc3NSAxMi40NTc3IDE0Ljc3NUMxMi42NDI2IDE0Ljc3NSAxMi43OTI2IDE0LjkyNTIgMTIuNzkyNiAxNS4xMTA0Wk0xMy4yNzYyIDE0LjkyNDFDMTMuNDYxMiAxNC45MjQxIDEzLjYxMTEgMTQuNzc0IDEzLjYxMTEgMTQuNTg4N0MxMy42MTExIDE0LjQwMzUgMTMuNDYxMiAxNC4yNTM0IDEzLjI3NjIgMTQuMjUzNEMxMy4wOTEzIDE0LjI1MzQgMTIuOTQxMyAxNC40MDM1IDEyLjk0MTMgMTQuNTg4N0MxMi45NDEzIDE0Ljc3NCAxMy4wOTEzIDE0LjkyNDEgMTMuMjc2MiAxNC45MjQxWk0xMS42Njk1IDE2LjczMkMxMS42Njk1IDE2LjkxNzIgMTEuNTE5NiAxNy4wNjc0IDExLjMzNDYgMTcuMDY3NEMxMS4xNDk3IDE3LjA2NzQgMTAuOTk5NyAxNi45MTcyIDEwLjk5OTcgMTYuNzMyQzEwLjk5OTcgMTYuNTQ2OCAxMS4xNDk3IDE2LjM5NjcgMTEuMzM0NiAxNi4zOTY3QzExLjUxOTYgMTYuMzk2NyAxMS42Njk1IDE2LjU0NjggMTEuNjY5NSAxNi43MzJaTTEyLjMwMjEgMTYuNDcxMUMxMi40ODcgMTYuNDcxMSAxMi42MzcgMTYuMzIxIDEyLjYzNyAxNi4xMzU4QzEyLjYzNyAxNS45NTA2IDEyLjQ4NyAxNS44MDA1IDEyLjMwMjEgMTUuODAwNUMxMi4xMTcxIDE1LjgwMDUgMTEuOTY3MiAxNS45NTA2IDExLjk2NzIgMTYuMTM1OEMxMS45NjcyIDE2LjMyMSAxMi4xMTcxIDE2LjQ3MTEgMTIuMzAyMSAxNi40NzExWk0xMy42MDQ3IDE1LjUzOTlDMTMuNjA0NyAxNS43MjUxIDEzLjQ1NDggMTUuODc1MiAxMy4yNjk4IDE1Ljg3NTJDMTMuMDg0OSAxNS44NzUyIDEyLjkzNSAxNS43MjUxIDEyLjkzNSAxNS41Mzk5QzEyLjkzNSAxNS4zNTQ3IDEzLjA4NDkgMTUuMjA0NSAxMy4yNjk4IDE1LjIwNDVDMTMuNDU0OCAxNS4yMDQ1IDEzLjYwNDcgMTUuMzU0NyAxMy42MDQ3IDE1LjUzOTlaTTE0LjA4ODMgMTUuMzUzM0MxNC4yNzMyIDE1LjM1MzMgMTQuNDIzMSAxNS4yMDMxIDE0LjQyMzEgMTUuMDE3OUMxNC40MjMxIDE0LjgzMjcgMTQuMjczMiAxNC42ODI2IDE0LjA4ODMgMTQuNjgyNkMxMy45MDMzIDE0LjY4MjYgMTMuNzUzNCAxNC44MzI3IDEzLjc1MzQgMTUuMDE3OUMxMy43NTM0IDE1LjIwMzEgMTMuOTAzMyAxNS4zNTMzIDE0LjA4ODMgMTUuMzUzM1pNMTUuMjk5MSAxNC40OTI3QzE1LjI5OTEgMTQuNjc4IDE1LjE0OTEgMTQuODI4MSAxNC45NjQyIDE0LjgyODFDMTQuNzc5MiAxNC44MjgxIDE0LjYyOTMgMTQuNjc4IDE0LjYyOTMgMTQuNDkyN0MxNC42MjkzIDE0LjMwNzUgMTQuNzc5MiAxNC4xNTc0IDE0Ljk2NDIgMTQuMTU3NEMxNS4xNDkxIDE0LjE1NzQgMTUuMjk5MSAxNC4zMDc1IDE1LjI5OTEgMTQuNDkyN1pNOS41Njc2MSAxOC4zNTA4QzkuNzUyNTcgMTguMzUwOCA5LjkwMjUgMTguMjAwNyA5LjkwMjUgMTguMDE1NUM5LjkwMjUgMTcuODMwMiA5Ljc1MjU3IDE3LjY4MDEgOS41Njc2MSAxNy42ODAxQzkuMzgyNjUgMTcuNjgwMSA5LjIzMjcyIDE3LjgzMDIgOS4yMzI3MiAxOC4wMTU1QzkuMjMyNzIgMTguMjAwNyA5LjM4MjY2IDE4LjM1MDggOS41Njc2MSAxOC4zNTA4Wk05LjkwMjUgMTkuMDU4N0M5LjkwMjUgMTkuMjQzOSA5Ljc1MjU3IDE5LjM5NDEgOS41Njc2MSAxOS4zOTQxQzkuMzgyNjYgMTkuMzk0MSA5LjIzMjcyIDE5LjI0MzkgOS4yMzI3MiAxOS4wNTg3QzkuMjMyNzIgMTguODczNSA5LjM4MjY1IDE4LjcyMzQgOS41Njc2MSAxOC43MjM0QzkuNzUyNTcgMTguNzIzNCA5LjkwMjUgMTguODczNSA5LjkwMjUgMTkuMDU4N1pNOS41Njc2MSAyMC40MzczQzkuNzUyNTcgMjAuNDM3MyA5LjkwMjUgMjAuMjg3MiA5LjkwMjUgMjAuMTAyQzkuOTAyNSAxOS45MTY4IDkuNzUyNTcgMTkuNzY2NiA5LjU2NzYxIDE5Ljc2NjZDOS4zODI2NSAxOS43NjY2IDkuMjMyNzIgMTkuOTE2OCA5LjIzMjcyIDIwLjEwMkM5LjIzMjcyIDIwLjI4NzIgOS4zODI2NiAyMC40MzczIDkuNTY3NjEgMjAuNDM3M1pNOS45MDI1IDIxLjE0NTJDOS45MDI1IDIxLjMzMDQgOS43NTI1NyAyMS40ODA2IDkuNTY3NjEgMjEuNDgwNkM5LjM4MjY2IDIxLjQ4MDYgOS4yMzI3MiAyMS4zMzA0IDkuMjMyNzIgMjEuMTQ1MkM5LjIzMjcyIDIwLjk2IDkuMzgyNjUgMjAuODA5OSA5LjU2NzYxIDIwLjgwOTlDOS43NTI1NyAyMC44MDk5IDkuOTAyNSAyMC45NiA5LjkwMjUgMjEuMTQ1MlpNOS41Njc2MSAyMi41MjQxQzkuNzUyNTcgMjIuNTI0MSA5LjkwMjUgMjIuMzc0IDkuOTAyNSAyMi4xODg4QzkuOTAyNSAyMi4wMDM2IDkuNzUyNTcgMjEuODUzNCA5LjU2NzYxIDIxLjg1MzRDOS4zODI2NSAyMS44NTM0IDkuMjMyNzIgMjIuMDAzNiA5LjIzMjcyIDIyLjE4ODhDOS4yMzI3MiAyMi4zNzQgOS4zODI2NiAyMi41MjQxIDkuNTY3NjEgMjIuNTI0MVpNMTAuODE2MyAxOC40NzI5QzEwLjgxNjMgMTguNjU4MSAxMC42NjY0IDE4LjgwODIgMTAuNDgxNCAxOC44MDgyQzEwLjI5NjUgMTguODA4MiAxMC4xNDY1IDE4LjY1ODEgMTAuMTQ2NSAxOC40NzI5QzEwLjE0NjUgMTguMjg3NyAxMC4yOTY1IDE4LjEzNzUgMTAuNDgxNCAxOC4xMzc1QzEwLjY2NjQgMTguMTM3NSAxMC44MTYzIDE4LjI4NzcgMTAuODE2MyAxOC40NzI5Wk0xMC40ODE0IDE5Ljg1MTVDMTAuNjY2NCAxOS44NTE1IDEwLjgxNjMgMTkuNzAxMyAxMC44MTYzIDE5LjUxNjFDMTAuODE2MyAxOS4zMzA5IDEwLjY2NjQgMTkuMTgwOCAxMC40ODE0IDE5LjE4MDhDMTAuMjk2NSAxOS4xODA4IDEwLjE0NjUgMTkuMzMwOSAxMC4xNDY1IDE5LjUxNjFDMTAuMTQ2NSAxOS43MDEzIDEwLjI5NjUgMTkuODUxNSAxMC40ODE0IDE5Ljg1MTVaTTEwLjgxNjMgMjAuNTU5NEMxMC44MTYzIDIwLjc0NDYgMTAuNjY2NCAyMC44OTQ3IDEwLjQ4MTQgMjAuODk0N0MxMC4yOTY1IDIwLjg5NDcgMTAuMTQ2NSAyMC43NDQ2IDEwLjE0NjUgMjAuNTU5NEMxMC4xNDY1IDIwLjM3NDIgMTAuMjk2NSAyMC4yMjQxIDEwLjQ4MTQgMjAuMjI0MUMxMC42NjY0IDIwLjIyNDEgMTAuODE2MyAyMC4zNzQyIDEwLjgxNjMgMjAuNTU5NFpNMTAuNDgxNCAyMS45MzgzQzEwLjY2NjQgMjEuOTM4MyAxMC44MTYzIDIxLjc4ODIgMTAuODE2MyAyMS42MDNDMTAuODE2MyAyMS40MTc4IDEwLjY2NjQgMjEuMjY3NiAxMC40ODE0IDIxLjI2NzZDMTAuMjk2NSAyMS4yNjc2IDEwLjE0NjUgMjEuNDE3NyAxMC4xNDY1IDIxLjYwM0MxMC4xNDY1IDIxLjc4ODIgMTAuMjk2NSAyMS45MzgzIDEwLjQ4MTQgMjEuOTM4M1pNMTAuODE2MyAyMi42NDYyQzEwLjgxNjMgMjIuODMxNCAxMC42NjY0IDIyLjk4MTYgMTAuNDgxNCAyMi45ODE2QzEwLjI5NjUgMjIuOTgxNiAxMC4xNDY1IDIyLjgzMTQgMTAuMTQ2NSAyMi42NDYyQzEwLjE0NjUgMjIuNDYxIDEwLjI5NjUgMjIuMzEwOSAxMC40ODE0IDIyLjMxMDlDMTAuNjY2NCAyMi4zMTA5IDEwLjgxNjMgMjIuNDYxIDEwLjgxNjMgMjIuNjQ2MlpNMTIuNTA1NyAxNy40OTE4QzEyLjY5MDYgMTcuNDkxOCAxMi44NDA2IDE3LjM0MTcgMTIuODQwNiAxNy4xNTY1QzEyLjg0MDYgMTYuOTcxMyAxMi42OTA2IDE2LjgyMTEgMTIuNTA1NyAxNi44MjExQzEyLjMyMDcgMTYuODIxMSAxMi4xNzA4IDE2Ljk3MTMgMTIuMTcwOCAxNy4xNTY1QzEyLjE3MDggMTcuMzQxNyAxMi4zMjA3IDE3LjQ5MTggMTIuNTA1NyAxNy40OTE4Wk0xMy44MDgyIDE2LjU2MDJDMTMuODA4MiAxNi43NDU0IDEzLjY1ODIgMTYuODk1NiAxMy40NzMzIDE2Ljg5NTZDMTMuMjg4MyAxNi44OTU2IDEzLjEzODQgMTYuNzQ1NCAxMy4xMzg0IDE2LjU2MDJDMTMuMTM4NCAxNi4zNzUgMTMuMjg4MyAxNi4yMjQ5IDEzLjQ3MzMgMTYuMjI0OUMxMy42NTgyIDE2LjIyNDkgMTMuODA4MiAxNi4zNzUgMTMuODA4MiAxNi41NjAyWk0xNC40NDExIDE2LjI5OTRDMTQuNjI2IDE2LjI5OTQgMTQuNzc1OSAxNi4xNDkyIDE0Ljc3NTkgMTUuOTY0QzE0Ljc3NTkgMTUuNzc4OCAxNC42MjYgMTUuNjI4NyAxNC40NDExIDE1LjYyODdDMTQuMjU2MSAxNS42Mjg3IDE0LjEwNjIgMTUuNzc4OCAxNC4xMDYyIDE1Ljk2NEMxNC4xMDYyIDE2LjE0OTIgMTQuMjU2MSAxNi4yOTk0IDE0LjQ0MTEgMTYuMjk5NFpNMTUuNTk0NSAxNS40NDI0QzE1LjU5NDUgMTUuNjI3NiAxNS40NDQ2IDE1Ljc3NzcgMTUuMjU5NiAxNS43Nzc3QzE1LjA3NDcgMTUuNzc3NyAxNC45MjQ3IDE1LjYyNzYgMTQuOTI0NyAxNS40NDI0QzE0LjkyNDcgMTUuMjU3MiAxNS4wNzQ3IDE1LjEwNyAxNS4yNTk2IDE1LjEwN0MxNS40NDQ2IDE1LjEwNyAxNS41OTQ1IDE1LjI1NzIgMTUuNTk0NSAxNS40NDI0Wk0xMS40OTY2IDE5LjA5ODZDMTEuNjgxNiAxOS4wOTg2IDExLjgzMTUgMTguOTQ4NSAxMS44MzE1IDE4Ljc2MzNDMTEuODMxNSAxOC41NzgxIDExLjY4MTYgMTguNDI3OSAxMS40OTY2IDE4LjQyNzlDMTEuMzExNiAxOC40Mjc5IDExLjE2MTcgMTguNTc4MSAxMS4xNjE3IDE4Ljc2MzNDMTEuMTYxNyAxOC45NDg1IDExLjMxMTYgMTkuMDk4NiAxMS40OTY2IDE5LjA5ODZaTTExLjgzMTUgMTkuODA2NUMxMS44MzE1IDE5Ljk5MTcgMTEuNjgxNiAyMC4xNDE5IDExLjQ5NjYgMjAuMTQxOUMxMS4zMTE2IDIwLjE0MTkgMTEuMTYxNyAxOS45OTE3IDExLjE2MTcgMTkuODA2NUMxMS4xNjE3IDE5LjYyMTMgMTEuMzExNiAxOS40NzEyIDExLjQ5NjYgMTkuNDcxMkMxMS42ODE2IDE5LjQ3MTIgMTEuODMxNSAxOS42MjEzIDExLjgzMTUgMTkuODA2NVpNMTEuNDk2NiAyMS4xODUxQzExLjY4MTYgMjEuMTg1MSAxMS44MzE1IDIxLjAzNSAxMS44MzE1IDIwLjg0OThDMTEuODMxNSAyMC42NjQ2IDExLjY4MTYgMjAuNTE0NCAxMS40OTY2IDIwLjUxNDRDMTEuMzExNiAyMC41MTQ0IDExLjE2MTcgMjAuNjY0NiAxMS4xNjE3IDIwLjg0OThDMTEuMTYxNyAyMS4wMzUgMTEuMzExNiAyMS4xODUxIDExLjQ5NjYgMjEuMTg1MVpNMTEuODMxNSAyMS44OTMzQzExLjgzMTUgMjIuMDc4NiAxMS42ODE2IDIyLjIyODcgMTEuNDk2NiAyMi4yMjg3QzExLjMxMTYgMjIuMjI4NyAxMS4xNjE3IDIyLjA3ODYgMTEuMTYxNyAyMS44OTMzQzExLjE2MTcgMjEuNzA4MSAxMS4zMTE2IDIxLjU1OCAxMS40OTY2IDIxLjU1OEMxMS42ODE2IDIxLjU1OCAxMS44MzE1IDIxLjcwODEgMTEuODMxNSAyMS44OTMzWk0xMS40OTY2IDIzLjI3MkMxMS42ODE2IDIzLjI3MiAxMS44MzE1IDIzLjEyMTggMTEuODMxNSAyMi45MzY2QzExLjgzMTUgMjIuNzUxNCAxMS42ODE2IDIyLjYwMTMgMTEuNDk2NiAyMi42MDEzQzExLjMxMTYgMjIuNjAxMyAxMS4xNjE3IDIyLjc1MTQgMTEuMTYxNyAyMi45MzY2QzExLjE2MTcgMjMuMTIxOCAxMS4zMTE2IDIzLjI3MiAxMS40OTY2IDIzLjI3MloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",Fci={name:"pointCloud",isViewer:!0,component:Uci,window:{name:"pointCloud",label:"pointCloud.window_label",header:!1,logoAndVersion:!0,plugins:["fullscreen","measure3d"],icon:{imgUri:Yci},modelTypes:["POINT_CLOUD"]},i18n:{en:{window_label:"Point Cloud"},fr:{window_label:"Point Cloud"}}},T7="viewer-point-cloud-parameters_parameters",Qci={computed:{viewer(){const t=this.$viewer.localContext.pluginComponentInstances.get("pointCloud");if(t)return t;{const e="'Viewer Point Cloud Parameters' plugin cannot work without Viewer Point Cloud plugin.";throw console.error(e),new Error(e)}},sensitivity:{get(){return this.viewer.sensitivity},set(t){this.viewer.sensitivity=t,this.saveParameters(t)}}},mounted(){this.subscription=this.$viewer.localContext.hub.on("pointcloud-model-loaded",()=>{this.applySavedParameters()})},unmounted(){this.$viewer.localContext.hub.off(this.subscription)},methods:{getSavedParameters(){let t={};try{const e=localStorage.getItem(T7)||"{}";t=JSON.parse(e)}catch{localStorage.removeItem(T7)}return Object.assign({},this.getDefaultParameters(),t)},applySavedParameters(){const t=this.getSavedParameters();this.viewer.sensitivity=t.sensitivity},getDefaultParameters(){return{sensitivity:50}},saveParameters(t){const e={sensitivity:t};localStorage.setItem(T7,JSON.stringify(e))}}},Gci={class:"viewer-point-cloud-parameters"},Hci={class:"viewer-point-cloud-parameters_header"},Vci={class:"viewer-point-cloud-parameters_content"},Zci={class:"m-b-18"},Jci={class:"viewer-point-cloud-parameters_content__value"};function Wci(t,e,i,o,r,n){const s=z("BIMDataIconParameters"),a=z("BIMDataSlider");return D(),Y("div",Gci,[m("div",Hci,[O(s,{size:"xs",margin:"0 12px 0 0"}),m("span",null,re(t.$t("pointCloudParameters.title")),1)]),m("div",Vci,[m("div",Zci,[m("span",null,re(t.$t("pointCloudParameters.sensitivity")),1),m("span",Jci,re(n.sensitivity),1)]),O(a,{modelValue:n.sensitivity,"onUpdate:modelValue":e[0]||(e[0]=l=>n.sensitivity=l),min:20,max:150},null,8,["modelValue"])])])}const Kci=K(Qci,[["render",Wci]]),qci="Parameters",Xci="Point Cloud Viewer settings",_ci="Sensitivity",$ci={tooltip:qci,title:Xci,sensitivity:_ci},eui="Param\xE8tres",tui="Param\xE8tres de la visionneuse de Tileset",iui="Sensibilit\xE9",oui={tooltip:eui,title:tui,sensitivity:iui},rui={name:"pointCloudParameters",i18n:{en:$ci,fr:oui},addToWindows:["pointCloud"],component:Kci,button:{tooltip:"pointCloudParameters.tooltip",position:"right",content:"simple",icon:{component:"BIMDataIconParameters",options:{size:"m"}}}};class cm{constructor(e,i,o=null,r=!0){this.name=e,this.icon=i,this.group=o,this.label=`drawing-tools.action.${e}`,this.lineStyleComponentDisplayed=r}onActivate(){throw new Error("Not implemented")}onDeactivate(){throw new Error("Not implemented")}}const sui={},nui={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},aui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.176395 0.13889C0.342301 -0.00852533 0.584825 -0.0419546 0.786658 0.0547728L21.6969 10.0759C21.9052 10.1757 22.0251 10.3924 21.9956 10.6155C21.966 10.8386 21.7935 11.019 21.566 11.0647L12.0932 12.9697L9.57365 21.6158C9.51015 21.8337 9.31 21.9881 9.07635 21.9993C8.8427 22.0106 8.6277 21.8763 8.54214 21.6655L0.03777 0.720195C-0.0446022 0.517321 0.0104881 0.286306 0.176395 0.13889Z"},null,-1),lui=[aui];function cui(t,e){return D(),Y("svg",nui,lui)}const uui=K(sui,[["render",cui]]);class dui{constructor(){this._listenersTarget=new Map}on(e,i,o=window,r={}){this._listenersTarget.has(o)||this._listenersTarget.set(o,new Map);const n=this._listenersTarget.get(o);n.has(e)||n.set(e,new Map);let s=i.bind(this);return r!=null&&r.once&&(s=(...a)=>{i.call(this,...a),this.off(e,i,o)}),o.addEventListener(e,s,r),n.get(e).set(i,s),()=>{this.off(e,i,o)}}off(e,i,o=window){if(!this._listenersTarget.has(o))return;const r=this._listenersTarget.get(o);if(!r.has(e))return;const n=r.get(e).get(i);o.removeEventListener(e,n),r.get(e).delete(i),r.get(e).size===0&&r.delete(e),r.size===0&&this._listenersTarget.delete(o)}}const hui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOS42NzQ5IDIuOTI0NTlDMjAuMTA4MSAzLjM1Nzg3IDIwLjEwODEgNC4wNTc3NyAxOS42NzQ5IDQuNDkxMDRMMTcuNjQxOCA2LjUyNDFMMTMuNDc1NyAyLjM1OEwxNS41MDg4IDAuMzI0OTUyQzE1Ljk0MjEgLTAuMTA4MzIyIDE2LjY0MiAtMC4xMDgzMjIgMTcuMDc1MiAwLjMyNDk1MkwxOS42NzQ5IDIuOTI0NTlaTTAgMjAuMDAwMVYxNS44MzRMMTIuMjg3MiAzLjU0NjgzTDE2LjQ1MzMgNy43MTI5Mkw0LjE2NjA5IDIwLjAwMDFIMFoiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",Aui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOC42NzQ5IDIuOTI0NkMxOS4xMDgxIDMuMzU3ODcgMTkuMTA4MSA0LjA1Nzc3IDE4LjY3NDkgNC40OTEwNUwxNi42NDE4IDYuNTI0MUwxMi40NzU3IDIuMzU4MDFMMTQuNTA4OCAwLjMyNDk1NUMxNC45NDIxIC0wLjEwODMxOCAxNS42NDIgLTAuMTA4MzE4IDE2LjA3NTIgMC4zMjQ5NTVMMTguNjc0OSAyLjkyNDZaTTAgMThWMTQuODM0TDExLjI4NzIgMy41NDY4NEwxNS40NTMzIDcuNzEyOTNMNC4xNjYwOSAxOS4wMDAxSDFMMCAxOFoiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",pui=`url(${hui}) 0 20, auto`,gui=`url(${Aui}) 1 23, auto`;class Pj extends dui{constructor(e,{pointerUpCursor:i=pui,pointerDownCursor:o=gui,element:r=e.canvas}={}){super(),this._engine2d=e,this.element=r,this.pointerUpCursor=i,this.pointerDownCursor=o}_getClientPosition(e){let i,o;return window.TouchEvent&&e instanceof TouchEvent?(i=e.touches[0].clientX,o=e.touches[0].clientY):(i=e.clientX,o=e.clientY),{clientX:i,clientY:o}}_getPositions(e){const{clientX:i,clientY:o}=this._getClientPosition(e),{x:r,y:n}=this._engine2d.canvas.getBoundingClientRect();return this._engine2d.camera.getPosition({x:Math.max(i-r,0),y:Math.max(o-n,0)})}_getCanvasPosition(e){const{clientX:i,clientY:o}=this._getClientPosition(e),{x:r,y:n}=this.element.getBoundingClientRect();return{x:Math.max(i-r,0),y:Math.max(o-n,0)}}_getPositionedCallbackPayload(e){const i=this;return{get position(){return i._getPositions(e)},get canvasPosition(){return i._getCanvasPosition(e)},mouseEvent:e}}onEnabled(){}onMouseDown(){}onDrag(){}onMouseUp(){}onDisabled(){}_onMouseDown(e){this.element.style.cursor=this.pointerDownCursor,this.onMouseDown(this._getPositionedCallbackPayload(e)),this.on("mousemove",this._onMouseMove,window),this.on("mouseup",this._onMouseUp,window,{once:!0}),this.on("touchmove",this._onMouseMove,window),this.on("touchend",this._onMouseUp,window,{once:!0}),this.on("touchcancel",this._onMouseUp,window,{once:!0})}_onMouseMove(e){e.preventDefault();const i=e.buttons===4;e.shiftKey||i||this.onDrag(this._getPositionedCallbackPayload(e))}_onMouseUp(e){this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor=this.pointerUpCursor,this.onMouseUp(this._getPositionedCallbackPayload(e))}disable(){this.off("mousedown",this._onMouseDown,this.element),this.off("mousemove",this._onMouseMove,window),this.off("mouseup",this._onMouseUp,window),this.off("touchstart",this._onMouseDown,this.element),this.off("touchmove",this._onMouseMove,window),this.off("touchend",this._onMouseUp,window),this.off("touchcancel",this._onMouseUp,window),this.element.style.cursor="",this.onDisabled()}enable(){this.on("mousedown",this._onMouseDown,this.element),this.on("touchstart",this._onMouseDown,this.element),this.element.style.cursor=this.pointerUpCursor,this.onEnabled()}}const Mui="data:image/svg+xml;base64,ICA8c3ZnCiAgICB3aWR0aD0iMTgiCiAgICBoZWlnaHQ9IjE4IgogICAgdmlld0JveD0iMCAwIDIyIDIyIgogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogID4KICAgIDxwYXRoCiAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgICBkPSJNMC4xNzYzOTUgMC4xMzg4OUMwLjM0MjMwMSAtMC4wMDg1MjUzMyAwLjU4NDgyNSAtMC4wNDE5NTQ2IDAuNzg2NjU4IDAuMDU0NzcyOEwyMS42OTY5IDEwLjA3NTlDMjEuOTA1MiAxMC4xNzU3IDIyLjAyNTEgMTAuMzkyNCAyMS45OTU2IDEwLjYxNTVDMjEuOTY2IDEwLjgzODYgMjEuNzkzNSAxMS4wMTkgMjEuNTY2IDExLjA2NDdMMTIuMDkzMiAxMi45Njk3TDkuNTczNjUgMjEuNjE1OEM5LjUxMDE1IDIxLjgzMzcgOS4zMSAyMS45ODgxIDkuMDc2MzUgMjEuOTk5M0M4Ljg0MjcgMjIuMDEwNiA4LjYyNzcgMjEuODc2MyA4LjU0MjE0IDIxLjY2NTVMMC4wMzc3NyAwLjcyMDE5NUMtMC4wNDQ2MDIyIDAuNTE3MzIxIDAuMDEwNDg4MSAwLjI4NjMwNiAwLjE3NjM5NSAwLjEzODg5WiIKICAgIC8+CiAgPC9zdmc+",$ee=`url(${Mui}), auto`;class fui extends cm{constructor({viewer:e},i){super("pointer",uui,"pointers",!1),this._pointerManager=new wui(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class wui extends Pj{constructor(e,i){super(e,{pointerUpCursor:$ee,pointerDownCursor:$ee,element:e.canvas.parentElement}),this._drawer=i,this._currentDrawing=null,this.previousTouch=null}onMouseDown(e){this._currentDrawing=this._drawer.pick(e)}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null,this.previousTouch=null}onDrag({position:e,mouseEvent:i,canvasPosition:o}){if(!this._currentDrawing)return;let r=0,n=0;if(window.TouchEvent&&i instanceof TouchEvent){const u=i.touches[0];this.previousTouch&&(r=u.pageX-this.previousTouch.pageX,n=u.pageY-this.previousTouch.pageY),this.previousTouch=u}else{const{movementX:u,movementY:d}=i;r=u,n=d}const s={x:o.x-r,y:o.y-n},a=this._engine2d.camera.getPosition(s),l=e.x-a.x,c=e.y-a.y;this._currentDrawing.x+=l,this._currentDrawing.y+=c}}const Lui={},mui={width:"14",height:"16",viewBox:"0 0 14 16",xmlns:"http://www.w3.org/2000/svg"},yui=m("path",{d:"M6.43587 16C6.09019 16 5.76756 15.9196 5.46797 15.7588C5.16839 15.5979 4.91888 15.3672 4.71944 15.0666L0 7.91354L0.307859 7.60694C0.508253 7.39952 0.745433 7.28253 1.0194 7.25596C1.29337 7.22942 1.54313 7.29881 1.7687 7.46414L4.1836 9.20471V2.14936C4.1836 1.98328 4.2379 1.84407 4.34649 1.73171C4.45509 1.61936 4.58965 1.56318 4.75018 1.56318C4.91071 1.56318 5.04519 1.61936 5.15361 1.73171C5.26203 1.84407 5.31624 1.98328 5.31624 2.14936V7.79331H7.08062V0.586175C7.08062 0.420099 7.13491 0.280884 7.2435 0.168531C7.35209 0.0561769 7.48665 0 7.64718 0C7.80771 0 7.94219 0.0561769 8.05061 0.168531C8.15904 0.280884 8.21325 0.420099 8.21325 0.586175V7.79331H9.97762V1.36777C9.97762 1.20169 10.0319 1.06248 10.1405 0.950122C10.2491 0.837768 10.3837 0.781592 10.5442 0.781592C10.7047 0.781592 10.8392 0.837768 10.9476 0.950122C11.056 1.06248 11.1102 1.20169 11.1102 1.36777V7.79331H12.8674V2.713C12.8674 2.54691 12.9217 2.40769 13.0302 2.29534C13.1388 2.18298 13.2734 2.12681 13.4339 2.12681C13.5945 2.12681 13.7289 2.18298 13.8373 2.29534C13.9458 2.40769 14 2.54691 14 2.713V13.0691C14 13.8787 13.7236 14.5696 13.1708 15.1418C12.6181 15.7139 11.9506 16 11.1683 16H6.43587Z"},null,-1),vui=[yui];function Cui(t,e){return D(),Y("svg",mui,vui)}const Iui=K(Lui,[["render",Cui]]),jui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNDM1ODcgMTZDNi4wOTAxOSAxNiA1Ljc2NzU2IDE1LjkxOTYgNS40Njc5NyAxNS43NTg4QzUuMTY4MzkgMTUuNTk3OSA0LjkxODg4IDE1LjM2NzIgNC43MTk0NCAxNS4wNjY2TDAgNy45MTM1NEwwLjMwNzg1OSA3LjYwNjk0QzAuNTA4MjUyIDcuMzk5NTIgMC43NDU0MzMgNy4yODI1MyAxLjAxOTQgNy4yNTU5NkMxLjI5MzM3IDcuMjI5NDIgMS41NDMxMyA3LjI5ODgxIDEuNzY4NyA3LjQ2NDE0TDQuMTgzNiA5LjIwNDcxVjIuMTQ5MzZDNC4xODM2IDEuOTgzMjggNC4yMzc5IDEuODQ0MDcgNC4zNDY0OSAxLjczMTcxQzQuNDU1MDkgMS42MTkzNiA0LjU4OTY1IDEuNTYzMTggNC43NTAxOCAxLjU2MzE4QzQuOTEwNzEgMS41NjMxOCA1LjA0NTE5IDEuNjE5MzYgNS4xNTM2MSAxLjczMTcxQzUuMjYyMDMgMS44NDQwNyA1LjMxNjI0IDEuOTgzMjggNS4zMTYyNCAyLjE0OTM2VjcuNzkzMzFINy4wODA2MlYwLjU4NjE3NUM3LjA4MDYyIDAuNDIwMDk5IDcuMTM0OTEgMC4yODA4ODQgNy4yNDM1IDAuMTY4NTMxQzcuMzUyMDkgMC4wNTYxNzY5IDcuNDg2NjUgMCA3LjY0NzE4IDBDNy44MDc3MSAwIDcuOTQyMTkgMC4wNTYxNzY5IDguMDUwNjEgMC4xNjg1MzFDOC4xNTkwNCAwLjI4MDg4NCA4LjIxMzI1IDAuNDIwMDk5IDguMjEzMjUgMC41ODYxNzVWNy43OTMzMUg5Ljk3NzYyVjEuMzY3NzdDOS45Nzc2MiAxLjIwMTY5IDEwLjAzMTkgMS4wNjI0OCAxMC4xNDA1IDAuOTUwMTIyQzEwLjI0OTEgMC44Mzc3NjggMTAuMzgzNyAwLjc4MTU5MiAxMC41NDQyIDAuNzgxNTkyQzEwLjcwNDcgMC43ODE1OTIgMTAuODM5MiAwLjgzNzc2OCAxMC45NDc2IDAuOTUwMTIyQzExLjA1NiAxLjA2MjQ4IDExLjExMDIgMS4yMDE2OSAxMS4xMTAyIDEuMzY3NzdWNy43OTMzMUgxMi44Njc0VjIuNzEzQzEyLjg2NzQgMi41NDY5MSAxMi45MjE3IDIuNDA3NjkgMTMuMDMwMiAyLjI5NTM0QzEzLjEzODggMi4xODI5OCAxMy4yNzM0IDIuMTI2ODEgMTMuNDMzOSAyLjEyNjgxQzEzLjU5NDUgMi4xMjY4MSAxMy43Mjg5IDIuMTgyOTggMTMuODM3MyAyLjI5NTM0QzEzLjk0NTggMi40MDc2OSAxNCAyLjU0NjkxIDE0IDIuNzEzVjEzLjA2OTFDMTQgMTMuODc4NyAxMy43MjM2IDE0LjU2OTYgMTMuMTcwOCAxNS4xNDE4QzEyLjYxODEgMTUuNzEzOSAxMS45NTA2IDE2IDExLjE2ODMgMTZINi40MzU4N1oiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",bui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNDM1ODcgMTFDMy4wOTAxOSAxMSAyLjc2NzU2IDEwLjkxOTYgMi40Njc5NyAxMC43NTg4QzIuMTY4MzkgMTAuNTk3OSAxLjkxODg4IDEwLjM2NzIgMS43MTk0NCAxMC4wNjY2TDAgNi45MTM1NEMwLjUgNS41IDAuNzgwMjU0IDUuNTM5MDggMS4xODM2IDUuNVY0LjIwNDcxVjIuMTQ5MzZDMS4xODM2IDEuOTgzMjggMS4yMzc5IDEuODQ0MDcgMS4zNDY0OSAxLjczMTcyQzEuNDU1MDkgMS42MTkzNiAxLjU4OTY1IDEuNTYzMTggMS43NTAxOCAxLjU2MzE4QzEuOTEwNzEgMS41NjMxOCAyLjA0NTE5IDEuNjE5MzYgMi4xNTM2MSAxLjczMTcyQzIuMjYyMDMgMS44NDQwNyAyLjMxNjI0IDEuOTgzMjggMi4zMTYyNCAyLjE0OTM2VjIuNzkzMzFINC4wODA2MlYwLjU4NjE3NUM0LjA4MDYyIDAuNDIwMSA0LjEzNDkxIDAuMjgwODg0IDQuMjQzNSAwLjE2ODUzQzQuMzUyMDkgMC4wNTYxNzY3IDQuNDg2NjUgMCA0LjY0NzE4IDBDNC44MDc3MSAwIDQuOTQyMTkgMC4wNTYxNzY3IDUuMDUwNjEgMC4xNjg1M0M1LjE1OTA0IDAuMjgwODg0IDUuMjEzMjUgMC40MjAxIDUuMjEzMjUgMC41ODYxNzVWMi43OTMzMUg2Ljk3NzYyVjEuMzY3NzdDNi45Nzc2MiAxLjIwMTY5IDcuMDMxOTEgMS4wNjI0OCA3LjE0MDUgMC45NTAxMjJDNy4yNDkwOSAwLjgzNzc2OCA3LjM4MzY1IDAuNzgxNTkxIDcuNTQ0MTggMC43ODE1OTFDNy43MDQ3MSAwLjc4MTU5MSA3LjgzOTE5IDAuODM3NzY4IDcuOTQ3NjIgMC45NTAxMjJDOC4wNTYwNCAxLjA2MjQ4IDguMTEwMjUgMS4yMDE2OSA4LjExMDI1IDEuMzY3NzdWMi43OTMzMUg5Ljg2NzM1VjIuNzEzQzkuODY3MzUgMi41NDY5MSA5LjkyMTY1IDIuNDA3NjkgMTAuMDMwMiAyLjI5NTM0QzEwLjEzODggMi4xODI5OCAxMC4yNzM0IDIuMTI2ODEgMTAuNDMzOSAyLjEyNjgxQzEwLjU5NDUgMi4xMjY4MSAxMC43Mjg5IDIuMTgyOTggMTAuODM3MyAyLjI5NTM0QzEwLjk0NTggMi40MDc2OSAxMSAyLjU0NjkxIDExIDIuNzEzVjguMDY5MDVDMTEgOC44Nzg2OSAxMC43MjM2IDkuNTY5NTkgMTAuMTcwOCAxMC4xNDE4QzkuNjE4MDUgMTAuNzEzOSA4Ljk1MDU1IDExIDguMTY4MzMgMTFIMy40MzU4N1oiIGZpbGw9IiMyRjM3NEEiLz4KPC9zdmc+Cg==",xui=`url(${jui}) 7 23, auto`,Nui=`url(${bui}) 7 18, auto`;class Dui extends cm{constructor({viewer:e}){super("pan",Iui,"pointers",!1),this._pointerManager=new Sui(e)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Sui extends Pj{constructor(e){super(e,{pointerUpCursor:xui,pointerDownCursor:Nui}),this.previousTouch=null}onDrag({mouseEvent:e}){let i=0,o=0;if(window.TouchEvent&&e instanceof TouchEvent){const r=e.touches[0];this.previousTouch&&(i=r.pageX-this.previousTouch.pageX,o=r.pageY-this.previousTouch.pageY),this.previousTouch=r}else{const{movementX:r,movementY:n}=e;i=r,o=n}this._engine2d.camera.translate(-i*window.devicePixelRatio,-o*window.devicePixelRatio)}onMouseUp(){this.previousTouch=null}}class um extends cm{constructor(e,i,o,r,n,s=o){super(o,r,n),this._pointermanager=new Tui(e,i,s)}onActivate(){this._pointermanager.enable()}onDeactivate(){this._pointermanager.disable()}}class Tui extends Pj{constructor(e,i,o){super(e),this._drawer=i,this._currentDrawing=null,this.shape=o}onMouseDown({position:e}){this._currentDrawing=this._drawer.makeDrawing(this.shape,{p1:e})}onMouseUp(){this._currentDrawing&&this._drawer.save(this._currentDrawing),this._currentDrawing=null}onDrag(e){this._currentDrawing.dragTo(e)}}const kui={},Eui={width:"18",height:"18",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg"},zui=m("path",{d:"M1.22223 22V17.6324L17.3486 0.577372C17.5382 0.376633 17.7466 0.230225 17.9738 0.138148C18.201 0.0460498 18.4282 0 18.6554 0C18.8951 0 19.1274 0.0460498 19.3523 0.138148C19.5771 0.230225 19.7742 0.376633 19.9434 0.577372L21.4547 2.17759C21.6443 2.35678 21.7826 2.56541 21.8695 2.80349C21.9565 3.04156 22 3.28752 22 3.54136C22 3.78194 21.9565 4.02251 21.8695 4.26306C21.7826 4.50364 21.6443 4.7243 21.4547 4.92504L5.34718 22H1.22223ZM18.4697 5.35812L20.1667 3.56126L18.6366 1.94115L16.9396 3.73801L18.4697 5.35812ZM12.9979 22C14.4269 22 15.7518 21.63 16.9724 20.89C18.1931 20.1501 18.8034 19.1181 18.8034 17.7941C18.8034 17.0342 18.5884 16.3698 18.1582 15.8007C17.7281 15.2316 17.1244 14.7504 16.3472 14.3572L14.9793 15.8056C15.6045 16.0545 16.0926 16.3477 16.4436 16.6854C16.7946 17.023 16.9701 17.3926 16.9701 17.7941C16.9701 18.4063 16.5729 18.9368 15.7785 19.3856C14.984 19.8344 14.0571 20.0588 12.9979 20.0588C12.7378 20.0588 12.52 20.1518 12.3445 20.3376C12.169 20.5234 12.0812 20.754 12.0812 21.0294C12.0812 21.3048 12.169 21.5354 12.3445 21.7212C12.52 21.9071 12.7378 22 12.9979 22ZM1.94853 12.8591L3.31174 11.4032C2.83381 11.1892 2.46793 10.9677 2.21409 10.7387C1.96024 10.5098 1.83331 10.2733 1.83331 10.0294C1.83331 9.70425 2.03819 9.3832 2.44796 9.06629C2.85772 8.7494 3.67292 8.31305 4.89358 7.75722C6.59216 6.98739 7.72899 6.29098 8.30404 5.66799C8.87912 5.04498 9.16666 4.34193 9.16666 3.55883C9.16666 2.49699 8.74397 1.63839 7.8986 0.983047C7.05323 0.327683 5.94814 0 4.58335 0C3.74502 0 2.97408 0.160117 2.27053 0.480347C1.56695 0.800556 1.04124 1.1921 0.693399 1.65499C0.524161 1.86901 0.454036 2.10502 0.483023 2.363C0.512011 2.62098 0.627572 2.83294 0.829708 2.99887C1.03184 3.16974 1.25278 3.23982 1.49252 3.20913C1.73226 3.17844 1.93674 3.07351 2.10596 2.89433C2.41465 2.56748 2.76957 2.32691 3.17073 2.1726C3.57186 2.0183 4.04273 1.94115 4.58335 1.94115C5.48121 1.94115 6.16402 2.10168 6.63176 2.42273C7.09949 2.74378 7.33335 3.12248 7.33335 3.55883C7.33335 3.93547 7.13161 4.27684 6.72814 4.58294C6.32464 4.88906 5.46947 5.35487 4.16262 5.98036C2.58783 6.71038 1.50036 7.36407 0.90023 7.94144C0.300076 8.51881 0 9.21481 0 10.0294C0 10.6367 0.171193 11.1705 0.513579 11.6309C0.855965 12.0913 1.33428 12.5007 1.94853 12.8591Z"},null,-1),Pui=[zui];function Bui(t,e){return D(),Y("svg",Eui,Pui)}const Oui=K(kui,[["render",Bui]]);class Rui extends um{constructor({viewer:e},i){super(e,i,"pen",Oui,null,"freehand")}}const Uui={},Yui={width:"22",height:"22",viewBox:"0 0 22 23",xmlns:"http://www.w3.org/2000/svg"},Fui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1 0.769226C0.447715 0.769226 0 1.21694 0 1.76923V4.32096C0 4.87324 0.447716 5.32096 1 5.32096H1.51723V18.2175H1C0.447715 18.2175 0 18.6652 0 19.2175V21.7692C0 22.3215 0.447716 22.7692 1 22.7692H3.55173C4.10401 22.7692 4.55173 22.3215 4.55173 21.7692V21.252H17.4482V21.7692C17.4482 22.3215 17.896 22.7692 18.4482 22.7692H21C21.5523 22.7692 22 22.3215 22 21.7692V19.2175C22 18.6652 21.5523 18.2175 21 18.2175H20.4828V5.32096H21C21.5523 5.32096 22 4.87324 22 4.32095V1.76923C22 1.21694 21.5523 0.769226 21 0.769226H18.4482C17.896 0.769226 17.4482 1.21694 17.4482 1.76923V2.28643H4.55173V1.76923C4.55173 1.21694 4.10401 0.769226 3.55173 0.769226H1ZM3.03448 5.32096H3.55173C4.10401 5.32096 4.55173 4.87324 4.55173 4.32095V3.80367H17.4482V4.32096C17.4482 4.87324 17.896 5.32096 18.4482 5.32096H18.9655V18.2175H18.4482C17.896 18.2175 17.4482 18.6652 17.4482 19.2175V19.7347H4.55173V19.2175C4.55173 18.6652 4.10401 18.2175 3.55173 18.2175H3.03448V5.32096ZM11.4216 6.83819H11.9202L15.931 17.4589H13.79L12.9878 15.0955H9.00098L8.20266 17.4589H6.06894L10.0578 6.83819H10.549H11.4216ZM9.53565 13.5126H12.4505L10.9896 9.2082L9.53565 13.5126Z"},null,-1),Qui=[Fui];function Gui(t,e){return D(),Y("svg",Yui,Qui)}const Hui=K(Uui,[["render",Gui]]),Vui="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMS45NjI5NlY3LjVNNSAxLjk2Mjk2TDMgMUgxTTUgMS45NjI5Nkw3IDFIOU01IDEzLjAzN1Y3LjVNNSAxMy4wMzdMNyAxNEg5TTUgMTMuMDM3TDMgMTRIMU01IDcuNUg3TTUgNy41SDMiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMSA5VjExTTExIDEzVjExTTExIDExSDEzTTExIDExSDkiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",Zui=`url(${Vui}) 5 7, auto`;class Jui extends cm{constructor(e,i){super("text",Hui,null,!1),this._viewerPlanPlugin=e,this._drawer=i,this.canvas=e.$refs.canvas;const o=Xe(!1);this.autoDeactivateCallback=null,this.connector={enabledRef:o,deactivateAction(){var r;(r=this.autoDeactivateCallback)==null||r.call(this)}},this.onClick=r=>{this.autoDeactivateCallback();const{x:n,y:s}=e.viewer.camera.getPosition({x:r.offsetX,y:r.offsetY});i.makeDrawing("text",{x:n,y:s})}}onActivate(e){this.canvas.addEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor=Zui,this.autoDeactivateCallback=e,this.connector.enabledRef.value=!0}onDeactivate(){this.canvas.removeEventListener("click",this.onClick),this._viewerPlanPlugin.$viewer.localContext.el.style.cursor="",this.autoDeactivateCallback=null,this.connector.enabledRef.value=!1}}const Wui={},Kui={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},qui=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0H16V16H0V0ZM2 2V14H14V2H2Z"},null,-1),Xui=[qui];function _ui(t,e){return D(),Y("svg",Kui,Xui)}const $ui=K(Wui,[["render",_ui]]);class edi extends um{constructor({viewer:e},i){super(e,i,"rectangle",$ui,"shapes")}}const tdi={},idi={width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},odi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M16 1.37853L1.37853 16L0 14.6215L14.6215 0L16 1.37853Z"},null,-1),rdi=[odi];function sdi(t,e){return D(),Y("svg",idi,rdi)}const ndi=K(tdi,[["render",sdi]]);class adi extends um{constructor({viewer:e},i){super(e,i,"line",ndi,"shapes")}}const ldi={},cdi={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"},udi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.9914 1.88377H10.0848V0H16.207V6.12225H14.3233V3.21594L1.33203 16.2072L0 14.8751L12.9914 1.88377Z"},null,-1),ddi=[udi];function hdi(t,e){return D(),Y("svg",cdi,ddi)}const Adi=K(ldi,[["render",hdi]]);class pdi extends um{constructor({viewer:e},i){super(e,i,"arrow",Adi,"shapes")}}const gdi={},Mdi={width:"17",height:"17",viewBox:"0 0 17 17",xmlns:"http://www.w3.org/2000/svg"},fdi=m("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.5 14.875C12.0208 14.875 14.875 12.0208 14.875 8.5C14.875 4.97919 12.0208 2.125 8.5 2.125C4.97919 2.125 2.125 4.97919 2.125 8.5C2.125 12.0208 4.97919 14.875 8.5 14.875ZM8.5 17C13.1944 17 17 13.1944 17 8.5C17 3.80558 13.1944 0 8.5 0C3.80558 0 0 3.80558 0 8.5C0 13.1944 3.80558 17 8.5 17Z"},null,-1),wdi=[fdi];function Ldi(t,e){return D(),Y("svg",Mdi,wdi)}const mdi=K(gdi,[["render",Ldi]]);class ydi extends um{constructor({viewer:e},i){super(e,i,"ellipse",mdi,"shapes")}}const vdi={name:"EraserIcon",props:{color:{type:String,default:"currentColor"}}},Cdi=["fill"],Idi=m("path",{d:"M16.6425 18.2998H22V20H14.9369L16.6425 18.2998ZM2.62548 20L0.613685 17.9946C0.214257 17.5964 0.00980528 17.1125 0.00032939 16.5428C-0.0091465 15.9731 0.18583 15.4798 0.585258 15.0627L12.6123 2.62019C13.0118 2.20312 13.4943 1.9964 14.0599 2.00005C14.6256 2.00367 15.1081 2.20458 15.5075 2.60277L20.6617 7.74061C21.0611 8.13879 21.2627 8.62453 21.2663 9.19783C21.27 9.77112 21.072 10.2569 20.6726 10.655L11.5255 20H2.62548Z"},null,-1),jdi=[Idi];function bdi(t,e,i,o,r,n){return D(),Y("svg",{width:"20",height:"20",viewBox:"0 0 22 22",fill:i.color,xmlns:"http://www.w3.org/2000/svg"},jdi,8,Cdi)}const xdi=K(vdi,[["render",bdi]]),Ndi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMyAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjE2MTQgMC42MDQyMjdDMTMuOTMyMiAtMC4xODY4NzUgMTUuMTk4NCAtMC4yMDMyNzkgMTUuOTg5NSAwLjU2NzU4NUwyMS41NTEgNS45ODY4MUMyMi4zNDIxIDYuNzU3NjggMjIuMzU4NiA4LjAyMzkgMjEuNTg3NyA4LjgxNUw4Ljk5MzkyIDIxLjczOTRDOC4yMjMwNSAyMi41MzA1IDYuOTU2ODMgMjIuNTQ2OSA2LjE2NTczIDIxLjc3NkwwLjYwNDIyOCAxNi4zNTY4Qy0wLjE4Njg3NCAxNS41ODU5IC0wLjIwMzI4IDE0LjMxOTcgMC41Njc1ODUgMTMuNTI4NkwxMy4xNjE0IDAuNjA0MjI3WiIgZmlsbD0iIzJGMzc0QSIvPgo8L3N2Zz4K",Ddi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMiAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNjI1NDggMThMMC42MTM2ODUgMTUuOTk0NkMwLjIxNDI1NyAxNS41OTY0IDAuMDA5ODA1MjggMTUuMTEyNSAwLjAwMDMyOTM5IDE0LjU0MjhDLTAuMDA5MTQ2NSAxMy45NzMxIDAuMTg1ODMgMTMuNDc5OCAwLjU4NTI1OCAxMy4wNjI3TDEyLjYxMjMgMC42MjAxOTRDMTMuMDExOCAwLjIwMzExNiAxMy40OTQzIC0wLjAwMzU5ODc1IDE0LjA1OTkgNC43Mzk4NWUtMDVDMTQuNjI1NiAwLjAwMzY3NDY2IDE1LjEwODEgMC4yMDQ1ODEgMTUuNTA3NSAwLjYwMjc2N0wyMC42NjE3IDUuNzQwNjFDMjEuMDYxMSA2LjEzODc5IDIxLjI2MjcgNi42MjQ1MyAyMS4yNjYzIDcuMTk3ODNDMjEuMjcgNy43NzExMiAyMS4wNzIgOC4yNTY4NiAyMC42NzI2IDguNjU1MDJMMTEuNTI1NSAxOEgyLjYyNTQ4WiIgZmlsbD0iIzJGMzc0QSIvPgo8L3N2Zz4K",Sdi=`url(${Ndi}) 7 23, auto`,Tdi=`url(${Ddi}) 7 18, auto`;class kdi extends cm{constructor({viewer:e},i){super("eraser",xdi,null,!1),this._pointerManager=new Edi(e,i)}onActivate(){this._pointerManager.enable()}onDeactivate(){this._pointerManager.disable()}}class Edi extends Pj{constructor(e,i){super(e,{element:e.canvas.parentElement,pointerUpCursor:Sdi,pointerDownCursor:Tdi}),this._drawer=i}erase(e){const i=this._drawer.pick(e);i&&this._drawer.deleteDrawing(i.id)}onMouseDown(e){this.erase(e)}onDrag(e){this.erase(e)}}class y4{constructor(e){this.drawingType=e}parse(e){throw new Error("Not implemented")}toString(e){throw new Error("Not implemented")}}class zdi extends y4{constructor(){super("rectangle")}toString(e){const{p1:i,p2:o,p3:r,p4:n,lineColor:s,lineWidth:a}=e;return`<path d="M ${i.x} ${i.y} L ${o.x} ${o.y} L ${r.x} ${r.y} L ${n.x} ${n.y} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),[,n,s,,a,l,,c,u,,d,h]=r.split(" "),A=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),g=o.getAttribute("stroke-width");return{p1:{x:parseFloat(n),y:parseFloat(s)},p2:{x:parseFloat(a),y:parseFloat(l)},p3:{x:parseFloat(c),y:parseFloat(u)},p4:{x:parseFloat(d),y:parseFloat(h)},lineColor:parseInt(A,16),lineWidth:parseFloat(g)}}}class Pdi extends y4{constructor(){super("line")}toString(e){const{p1:i,p2:o,lineWidth:r,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${o.x}" y2="${o.y}" stroke-width="${r}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("line"),r=o.getAttribute("x1"),n=o.getAttribute("y1"),s=o.getAttribute("x2"),a=o.getAttribute("y2"),l=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),c=o.getAttribute("stroke-width");return{p1:{x:parseFloat(r),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}class Bdi extends y4{constructor(){super("arrow")}toString(e){const{p1:i,p2:o,lineWidth:r,lineColor:n}=e;return`<line x1="${i.x}" y1="${i.y}" x2="${o.x}" y2="${o.y}" stroke-width="${r}" stroke="#${n.toString(16).padStart(6,0)}"/>`}parse(e){var i;const o=e.querySelector("line"),r=o.getAttribute("x1"),n=o.getAttribute("y1"),s=o.getAttribute("x2"),a=o.getAttribute("y2"),l=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),c=o.getAttribute("stroke-width");return{p1:{x:parseFloat(r),y:parseFloat(n)},p2:{x:parseFloat(s),y:parseFloat(a)},lineWidth:parseFloat(c),lineColor:parseInt(l,16)}}}function ete(t){if(t.length===0)return"";const e=t[0];let i=`M ${e.x} ${e.y}`;for(let o=0;o<t.length;o++){const r=t[o];i+=` C ${r.cpX1} ${r.cpY1} ${r.cpX2} ${r.cpY2} ${r.toX} ${r.toY}`}return i}function tte(t){const e=t.split(" "),i=e.shift();if(i!=="M")throw new Error(`svgPathStringToCurves: invalid svg path string. Must start with M, got "${i}"`);let o=parseFloat(e.shift()),r=parseFloat(e.shift());const n=[];for(;e.shift()==="C";){const s=parseFloat(e.shift()),a=parseFloat(e.shift()),l=parseFloat(e.shift()),c=parseFloat(e.shift()),u=parseFloat(e.shift()),d=parseFloat(e.shift());n.push({type:"curve",x:o,y:r,cpX1:s,cpY1:a,cpX2:l,cpY2:c,toX:u,toY:d}),o=u,r=d}return n}class Odi extends y4{constructor(){super("ellipse")}toString(e){const{curve1:i,curve2:o,curve3:r,curve4:n,lineColor:s,lineWidth:a}=e;return`<path d="${ete([i,o,r,n])} Z" stroke-width="${a}" stroke="#${s.toString(16).padStart(6,0)}" />`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),n=tte(r),s=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),a=o.getAttribute("stroke-width");return{curves:n,lineColor:parseInt(s,16),lineWidth:parseFloat(a)}}}class Rdi extends y4{constructor(){super("text")}toString(e){const{x:i,y:o,text:r,size:n,rotation:s}=e;return`<text x="${i}" y="${o}" font-size="${n}px" tranform="rotate(${s})">${r}</text>`}parse(e){var i;const o=e.querySelector("text"),r=o.getAttribute("x"),n=o.getAttribute("y"),s=o.getAttribute("font-size").slice(0,-2),a=((i=o.getAttribute("tranform").match(/rotate\((.*)\)/))==null?void 0:i[1])??0,l=o.textContent==="null"?null:o.textContent;return{x:parseFloat(r),y:parseFloat(n),size:parseFloat(s),rotation:parseFloat(a),text:l}}}class Udi extends y4{constructor(){super("freehand")}toString(e){const{curves:i,lineWidth:o,lineColor:r}=e,n=`stroke-width="${o}" stroke="#${r.toString(16).padStart(6,0)}"`;return`<path d="${ete(i)}" ${n}/>`}parse(e){var i;const o=e.querySelector("path"),r=o.getAttribute("d"),n=tte(r),s=(i=o.getAttribute("stroke"))==null?void 0:i.substring(1),a=o.getAttribute("stroke-width");return{curves:n,lineWidth:parseFloat(a),lineColor:parseInt(s,16)}}}class Ydi{constructor(){this.drawingSvgParsers=new Map,[new zdi,new Pdi,new Bdi,new Odi,new Udi,new Rdi].map(e=>this.drawingSvgParsers.set(e.drawingType,e))}parse(e){const i=new DOMParser().parseFromString(e.content,"image/svg+xml"),o=i.querySelector("svg").getAttribute("type"),r=this.drawingSvgParsers.get(o);if(!r)throw new TypeError(`No drawing parser for type ${o}`);try{const n=r.parse(i);return n.apiId=e.id,n.type=o,n}catch(n){console.warn(`[Drawing Tools - Parser] Error parsing drawing ${e.id}, ignored.`,n)}}toString(e){const{type:i}=e,o=this.drawingSvgParsers.get(i);if(!o)throw new TypeError(`No drawing parser for type ${i}`);const r=o.toString(e);return`<svg type="${i}" xmlns="http://www.w3.org/2000/svg">${r}</svg>`}}class Fdi{constructor(e){this._api=e,this._parser=new Ydi,this.queue=G6()}async getDrawingsData(e){const{cloudId:i,projectId:o}=this._api;return(await this._api.apiClient.modelApi.getDrawings(i,e,o)).map(r=>this._parser.parse(r)).filter(Boolean)}save(e,i){const o=this._parser.toString(e);if(!o)return;const{cloudId:r,projectId:n}=this._api,s={content:o};let a;e.apiId?a=async()=>{try{await this._api.apiClient.modelApi.updateDrawing(r,e.apiId,i,n,s)}catch(l){console.error(`Cannot update drawing of type: "${e.type}"`,l)}}:a=async()=>{try{const l=await this._api.apiClient.modelApi.createDrawing(r,i,n,s);e.apiId=l.id}catch(l){console.error(`Cannot create drawing of type: "${e.type}"`,l)}},this.queue.push(a)}async delete(e,i){if(!e.apiId)return;const{cloudId:o,projectId:r}=this._api;try{await this._api.apiClient.modelApi.deleteDrawing(o,e.apiId,i,r)}catch(n){console.error(`Cannot delete drawing of type: "${e.type}"`,n)}}}class ite{constructor(e){this.drawingTypes=e}pick(e,i){throw new Error("Not implemented")}}class Qdi extends ite{constructor(e){super(["rectangle","ellipse","arrow","line","freehand"]),this._engine2d=e}pick(e,i){const{canvasPosition:o}=i,r=this._engine2d.picker.pick(o);if(r)return e.get(r.id)}}class Gdi extends ite{constructor(){super(["text"])}pick(e,i){const{mouseEvent:o}=i,r=o.target;return e.get(r.id)}}let ote=class{constructor(t){if(!t)throw new TypeError("Drawing type is required");this.type=t}destroy(){throw new Error("Method 'destroy' not implemented.")}};class rte{constructor(e){this.drawingTypes=e}create(e,i){throw new Error("Not implemented")}}const Hdi="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxMCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMS45NjI5NlY3LjVNNSAxLjk2Mjk2TDMgMUgxTTUgMS45NjI5Nkw3IDFIOU01IDEzLjAzN1Y3LjVNNSAxMy4wMzdMNyAxNEg5TTUgMTMuMDM3TDMgMTRIMU01IDcuNUg3TTUgNy41SDMiIHN0cm9rZT0iIzJGMzc0QSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",Vdi=`url(${Hdi}) 5 7, auto`,Zdi=4,Jdi=40,ste=4,Wdi=2,Kdi={props:{id:{type:String,required:!0},initText:{type:String,default:""},newMarker:{type:Boolean,default:!1},initSize:{type:Number,default:12},rotation:{type:Number,required:!0},scale:{type:Number,required:!0},textToolEnabled:{type:Boolean,required:!0}},emits:["edit-update","text-update","size-update","delete-marker","delete-drawing"],setup(t,{emit:e}){const i=Xe(t.initText),o=Xe(t.newMarker),r=Xe(null),n=Xe(t.initSize);ai(i,f=>e("text-update",f)),ai(n,f=>e("size-update",f));const s=()=>{var f;(f=r.value)==null||f.focus()},a=()=>{n.value>Zdi&&(n.value-=ste),s()},l=()=>{n.value<Jdi&&(n.value+=ste),s()};ai(o,async f=>{e("edit-update",f),f&&(await Ts(),s())});const c=Xe(null),u=Xe(null),d=Xe(null);async function h(){if(!o.value)return;await Ts();const{width:f}=c.value.getBoundingClientRect();u.value=f+12,d.value=1,await Ts();const{scrollHeight:w}=r.value;d.value=w+2}const A=f=>{f.key==="Escape"&&(o.value=!1)};document.addEventListener("keydown",A),Ao(()=>{var f;h(),(f=r.value)==null||f.focus()}),Eo(()=>{document.removeEventListener("keydown",A)}),ai(()=>o.value+i.value+t.scale+n.value,h);const g=()=>{e("delete-marker"),e("delete-drawing")},p=()=>{t.textToolEnabled&&(o.value=!0)},M=vt(()=>n.value/(Wdi*window.devicePixelRatio));return{textCursor:Vdi,size:M,textarea:r,edit:o,text:i,textEl:c,textAreaWidth:u,textAreaHeight:d,decrementSize:a,incrementSize:l,onDeleteClick:g,onTextClick:p}}},qdi=["id"],Xdi={key:0},_di={class:"bimdata-drawing-tools__text-marker__edit-content__header"};function $di(t,e,i,o,r,n){const s=z("BIMDataIconDelete"),a=Vi("click-away");return D(),Y("div",{class:"bimdata-drawing-tools__text-marker",style:Ie(`font-size:${o.size}px;`)},[m("div",{style:Ie(`cursor: ${i.textToolEnabled?o.textCursor:""}`)},[m("div",{ref:"textEl",class:"bimdata-drawing-tools__text-marker__text",style:Ie(`
1840
1840
  font-size:${o.size}px;
1841
1841
  transform-origin: top left;
1842
1842
  transform: scale(${i.scale});
@@ -1862,7 +1862,7 @@ end`};e.events.push(["putFont",function(n){(function(s){var a=s.font,l=s.out,c=s
1862
1862
  --bimdata-local-context-width: ${o.width}px;
1863
1863
  --bimdata-local-context-center-width: ${o.centerWidth}px;
1864
1864
  --bimdata-local-context-resolution: ${o.resolution};
1865
- `),onMouseenter:e[0]||(e[0]=(...h)=>o.onMouseEnter&&o.onMouseEnter(...h)),onMouseleave:e[1]||(e[1]=(...h)=>o.onMouseLeave&&o.onMouseLeave(...h))},[O(s,{ref:"modalManagerTemplateRef"},null,512),m("div",c8i,[o.windowPlugins.leftSidePanel?(D(),se(a,{key:0,plugin:o.windowPlugins.leftSidePanel},null,8,["plugin"])):ve("",!0),m("div",u8i,[(D(!0),Y(Mt,null,ei(o.windowPlugins.free,h=>(D(),se(l,{key:h.name,style:{height:"100%"},plugin:h},null,8,["plugin"]))),128)),O(c,{position:"left",plugins:o.windowPlugins.leftButtonColumn},null,8,["plugins"]),O(c,{position:"right",plugins:o.windowPlugins.rightButtonColumn},null,8,["plugins"])]),o.windowPlugins.rightSidePanel?(D(),se(a,{key:1,plugin:o.windowPlugins.rightSidePanel},null,8,["plugin"])):ve("",!0)]),o.loading?(D(),Y("div",d8i,[o.spinner&&o.spinner.component?(D(),se(Ls(o.spinner.component),Pf(Ka({key:0},o.spinner.props)),null,16)):(D(),se(u,{key:1,size:"20px",border:"3px"}))])):ve("",!0),o.layoutSettingsDisplayed?(D(),Y("div",h8i,[O(d)])):ve("",!0)],36)}const p8i=K(l8i,[["render",A8i]]);class g8i{constructor(e=!0){const i=t9i(wQ,null,{resizable:e});i.registerContent("default",p8i),this.settings=Tl({edit:!1,swap:!1,full:!1}),this.areas=i}get resizable(){return this.areas.resizable}set resizable(e){this.areas.resizable=e}apply(e=null){this.areas.layout=e?i9i(e):null}copy(e){return o9i(this.areas.layout,e)}open({ratio:e,direction:i,insertAfter:o,windowName:r=null,windowState:n=null,localContextId:s=null}={}){const a=r?{options:{windowName:r,windowState:n}}:null;return s===null?this.areas.splitLayout(e,i,o,a):this.areas.split(s,e,i,o,a)}swap(e,i){return this.areas.swap(e,i)}close(e){return this.areas.delete(e)}}const M8i="@bimdata/viewer",f8i="module",w8i="2.2.0-beta.1",L8i="A customizable BIM viewer.",m8i=["bim","viewer","bimdata","ifc","bcf"],y8i="./index.d.ts",v8i="BIMData.io",C8i="https://developers.bimdata.io/viewer/index.html",I8i={email:"support@bimdata.io"},j8i=["last 2 chrome version","last 2 firefox version"],b8i="dist/bimdata-viewer.esm.min.js",x8i="dist/bimdata-viewer.esm.min.js",N8i={build:"vite build && esbuild dist/bimdata-viewer.esm.min.js --minify --outfile=dist/bimdata-viewer.esm.min.js --allow-overwrite","build:split":"vite build -c vite.config.split.js && esbuild dist/bimdata-viewer-split.esm.min.js --minify --outfile=dist/bimdata-viewer-split.esm.min.js --allow-overwrite","cy:run":"cypress run","cy:open":"cypress open",dev:"vite",prebuild:"rm -rf dist",prepublishOnly:"npm run build","semantic-release":"semantic-release",serve:"http-server -c-1 --silent",test:"npm run test:unit & npm run build & npm run test:e2e","test:unit":"jest","test:e2e":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:run","test:e2e-dev":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:open",version:"echo $npm_package_version",ts:"tsc"},D8i=["dist/*","types/*","CHANGELOG.md","README.md","package.json","package-lock.json","index.d.ts"],S8i={"@babel/preset-env":"^7.24.3","@bimdata/2d-engine":"2.4.0","@bimdata/areas-next":"0.1.15","@bimdata/bcf-components":"6.2.1","@bimdata/building-maker":"3.0.3","@bimdata/components":"1.3.3","@bimdata/design-system":"2.1.0-rc.14","@bimdata/typescript-fetch-api-client":"10.1.0","@rollup/plugin-alias":"5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-image":"^3.0.3","@rollup/plugin-replace":"^5.0.5","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^12.0.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^10.0.2","@semantic-release/npm":"^12.0.0","@semantic-release/release-notes-generator":"^13.0.0","@vitejs/plugin-vue":"4.6.2","@vue/vue3-jest":"29.2.6","@xeokit/xeokit-sdk":"git+https://git@github.com/Amoki/xeokit-sdk.git#369bb4876e529995cd4c192bc7fda5e957f9634f","@zip.js/zip.js":"^2.7.40",async:"^3.2.5",autoprefixer:"^10.4.19","babel-core":"^7.0.0-bridge.0","babel-jest":"^29.7.0","conventional-changelog-eslint":"^5.0.0",cypress:"13.7.1",esbuild:"^0.20.2",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-cypress":"^2.15.1","eslint-plugin-jest":"^27.9.0","eslint-plugin-prettier":"^5.1.3","eslint-plugin-vue":"^9.24.0","form-data":"^4.0.0",html2canvas:"1.4.1","http-server":"^14.1.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-extended":"^4.0.2",jspdf:"^2.5.1",lodash:"^4.17.21","node-fetch":"^3.3.2",postcss:"^8.4.38",prettier:"^3.2.5",querystring:"^0.2.0",sass:"^1.72.0","semantic-release":"^23.0.6",sinon:"^17.0.1","start-server-and-test":"2.0.3",vite:"4.5.2","vite-plugin-css-injected-by-js":"3.5.0",vue:"3.4.21","vue-eslint-parser":"^9.4.2","vue-i18n":"^9.10.2"},T8i={name:M8i,type:f8i,version:w8i,description:L8i,keywords:m8i,types:y8i,author:v8i,homepage:C8i,bugs:I8i,browserslist:j8i,main:b8i,module:x8i,scripts:N8i,files:D8i,devDependencies:S8i};class k8i{constructor({plugins:e,api:i,ui:o,locale:r="fr"}){this.pluginManager=new e2i(e),this.windowManager=new i2i,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new sDi(i),this.globalContext=new y2e(this),this.state=LDi(this),this.shortcutManager=Nge(this.state),this.uiSettings=o||{},this.i18n=new L2e(r),this._contextMenu=null,this.layout=new g8i(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return T8i.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||bge}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function E8i(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const z8i=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),WM=Object.freeze({READ:"read",WRITE:"write"});function xde(t){const e={};return t.forEach(i=>{const[o,r]=i.split(":");e[o]?e[o].push(r):e[o]=[r]}),e}const P8i={token_scopes:[],usable_scopes:[],user_role:25};function Nde(t=P8i){var e,i,o,r,n,s;const a=xde(t.token_scopes),l=xde(t.usable_scopes);return{...VZ(t),tokenScopes:a,usableScopes:l,userRole:z8i[t.user_role],user:t.user?VZ(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(WM.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(WM.WRITE))??!1,hasModelReadPermission:((o=l.model)==null?void 0:o.includes(WM.READ))??!1,hasModelWritePermission:((r=l.model)==null?void 0:r.includes(WM.WRITE))??!1,hasDocReadPermission:((n=l.document)==null?void 0:n.includes(WM.READ))??!1,hasDocWritePermission:((s=l.document)==null?void 0:s.includes(WM.WRITE))??!1}}const B8i={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},O8i={BcfComponents:B8i},R8i={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},U8i={BcfComponents:R8i},Y8i={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},F8i={BcfComponents:Y8i},Q8i={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},G8i={BcfComponents:Q8i},H8i={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},V8i={BcfComponents:H8i},Z8i={de:O8i,en:U8i,es:F8i,fr:G8i,it:V8i},J8i=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(o){t?Ro.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(Z8i).forEach(([r,n])=>{i.global.mergeLocaleMessage(r,n)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(H5e).forEach(([r,n])=>{o.component(r,n)})}}),W8i={props:{header:{type:Boolean,default:!1},pdf:{type:[Object,File]}},setup(t){const e=Xe(!1),i=Xe(null);return ai(()=>t.pdf,async o=>{if(e.value=!0,o.file)try{const r=await fetch(o.file).then(n=>n.blob());i.value=URL.createObjectURL(r)}catch(r){console.err("[BIMDataPDFViewer] Error fetching the pdf file.",r)}else i.value=URL.createObjectURL(o);e.value=!1},{immediate:!0}),{loading:e,pdfUrl:i}}},K8i={class:"pdf-viewer"},q8i={key:0,class:"pdf-viewer__header"},X8i={class:"pdf-viewer__header--left"},_8i={class:"pdf-viewer__header--title"},$8i={class:"pdf-viewer__header--right"},e6i=["data"];function t6i(t,e,i,o,r,n){const s=z("BIMDataLoading"),a=z("BIMDataTextbox");return D(),Y("div",K8i,[o.loading?(D(),se(s,{key:0})):(D(),Y(Mt,{key:1},[i.header?(D(),Y("div",q8i,[m("div",X8i,[jt(t.$slots,"header-left",{},void 0,!0)]),m("div",_8i,[O(a,{text:i.pdf.name},null,8,["text"])]),m("div",$8i,[jt(t.$slots,"header-right",{},void 0,!0)])])):ve("",!0),o.pdfUrl?(D(),Y("object",{key:1,width:"100%",height:"100%",type:"application/pdf",data:o.pdfUrl},null,8,e6i)):ve("",!0)],64))])}const Dde=K(W8i,[["render",t6i],["__scopeId","data-v-edf51369"]]),i6i={props:{color:{type:String,default:"currentColor"},progress:{type:Number,default:0,validator(t){return t>=0&&t<=100}}},data(){return{width:22,strokeWidth:3}},computed:{dashoffset(){return 63-this.progress/100*63}}},o6i={class:"bimdata-pie-progress-spinner"},r6i=["viewBox","width","height"],s6i=["cx","cy","r","stroke-width"],n6i=["cx","cy","r","stroke","stroke-width"];function a6i(t,e,i,o,r,n){return D(),Y("div",o6i,[(D(),Y("svg",{viewBox:`0 0 ${r.width} ${r.width}`,xmlns:"http://www.w3.org/2000/svg",fill:"transparent",width:r.width,height:r.width,style:{transform:"rotate(-90deg)"}},[m("circle",{class:"bimdata-pie-progress-spinner__path--back",cx:r.width/2,cy:r.width/2,r:(r.width-r.strokeWidth)/2,stroke:"lightgray","stroke-width":r.strokeWidth},null,8,s6i),m("circle",{class:"bimdata-pie-progress-spinner__path",cx:r.width/2,cy:r.width/2,r:(r.width-r.strokeWidth)/2,stroke:i.color,"stroke-width":r.strokeWidth,style:Ie(`--dashoffset: ${n.dashoffset};`)},null,12,n6i)],8,r6i))])}const l6i=K(i6i,[["render",a6i],["__scopeId","data-v-71eb6ae9"]]),c6i={props:{text:{type:String}}},u6i={class:"multi-line-textbox-tooltip"},d6i={class:"multi-line-textbox-tooltip__content"};function h6i(t,e,i,o,r,n){return D(),Y("div",u6i,[m("div",d6i,re(i.text),1)])}const A6i=K(c6i,[["render",h6i],["__scopeId","data-v-9e9877bb"]]),p6i={components:{Tooltip:A6i},props:{text:{type:String,default:""},lines:{type:Number,default:3},lineHeight:{type:Number,default:14}},data(){return{needEllipsis:!1,hover:!1}},computed:{style(){return{"--textbox-line-height":`${this.lineHeight}px`,"--textbox-lines":this.lines}},tooltipDisplayed(){return this.needEllipsis&&this.hover}},mounted(){this.resizeObserver=new ResizeObserver(this.onResize),this.resizeObserver.observe(this.$el)},destroyed(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{onResize(){if(!this.$refs.ghost)return;const t=this.lines*this.lineHeight,{height:e}=this.$refs.ghost.getBoundingClientRect();this.needEllipsis=e>t}}},g6i=t=>(rr("data-v-134a4e01"),t=t(),sr(),t),M6i={class:"multi-line-text-box__content"},f6i={class:"multi-line-text-box__content__head"},w6i={class:"multi-line-text-box__content__tail__text"},L6i=g6i(()=>m("div",{class:"multi-line-text-box__content__tail__ellipsis"},"...",-1)),m6i={key:1,class:"multi-line-text-box__content__full"};function y6i(t,e,i,o,r,n){const s=z("Tooltip");return D(),Y("div",{class:"multi-line-text-box",style:Ie(n.style),onMouseover:e[1]||(e[1]=a=>r.hover=!0),onMouseleave:e[2]||(e[2]=a=>r.hover=!1)},[m("div",M6i,[r.needEllipsis?(D(),Y(Mt,{key:0},[m("div",f6i,[m("span",null,re(i.text),1)]),m("div",{class:"multi-line-text-box__content__tail",style:Ie(`height:${i.lineHeight*(i.lines-1)}px`)},[m("div",w6i,[m("span",null,re(i.text),1)]),L6i],4)],64)):(D(),Y("span",m6i,re(i.text),1)),m("span",{class:"multi-line-text-box__ghost",ref:"ghost"},re(i.text),513)]),n.tooltipDisplayed?(D(),se(s,{key:0,onClick:e[0]||(e[0]=bt(()=>{},["stop"])),text:i.text,class:"multi-line-text-box__tooltip"},null,8,["text"])):ve("",!0)],36)}const v6i=K(p6i,[["render",y6i],["__scopeId","data-v-134a4e01"]]),C6i={components:{PieProgressSpinner:l6i,MultiLineTextBox:v6i},inject:["$translate"],props:{disabled:{type:Boolean,default:!1},writeAccess:{type:Boolean,default:!1},width:{type:String,default:"140px"},file:{type:Object,required:!0},projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiUrl:{type:String,required:!0},accessToken:{type:String,required:!0},select:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},multi:{type:Boolean,default:!1},success:{type:Boolean,default:!1},viewPdf:{type:Boolean,default:!1},pdfModelLoading:{type:Boolean,default:!1},pdfPage:{type:Object,default:null}},emits:["rename","download","edit","view","open-folder","toggle-select","loaded","load-error"],data(){return{menuDisplayed:!1,percentCompleted:0}},computed:{multiSelect(){return this.select&&this.multi},edit(){return!this.loading&&!this.select},isFolder(){return this.file.nature==="Folder"},loading(){return this.file.fileToLoad},initials(){return this.file.created_by&&`${this.file.created_by.firstname[0]||""}${this.file.created_by.lastname[0]||""}`.toUpperCase()}},async created(){if(document.addEventListener("keydown",this.onKeyDown),this.file.fileToLoad){const t=new FormData;t.append("file",this.file.fileToLoad),t.append("name",this.file.fileToLoad.name),t.append("parent_id",this.file.folder.id);const e=new XMLHttpRequest;e.open("POST",`${this.apiUrl}/cloud/${this.spaceId}/project/${this.projectId}/document`),e.setRequestHeader("authorization",`Bearer ${this.accessToken}`),e.addEventListener("progress",i=>{this.percentCompleted=i.loaded/i.total*100}),e.addEventListener("load",()=>{if(e.status===201){const i=JSON.parse(e.response);i.updated_at=new Date(i.updated_at),this.$emit("loaded",i)}else this.$emit("load-error",e.statusText)}),e.send(t)}},destroyed(){document.removeEventListener("keydown",this.onKeyDown)},methods:{onKeyDown(t){t.key==="Escape"&&(this.menuDisplayed=!1)},onRenameClick(){this.menuDisplayed=!1,this.$emit("rename")},onDownloadClick(){this.menuDisplayed=!1,this.$emit("download")},onDeleteClick(){this.menuDisplayed=!1,this.$emit("delete")},onViewClick(){this.menuDisplayed=!1,this.$emit("view")},onClick(){this.isFolder?this.$emit("open-folder"):!this.success&&!this.disabled&&!this.loading&&this.select&&this.$emit("toggle-select",this.file)},toggleMenu(){this.menuDisplayed=!this.menuDisplayed},away(){setTimeout(()=>{this.menuDisplayed=!1})}}},I6i={class:"file-card__content__header"},j6i={class:"file-card__content__header__btn-menu"},b6i={key:3,class:"selection-box"},x6i={key:2,class:"selection-text"},N6i={key:0,class:"file-card__content__menu"},D6i={class:"file-card__content__footer"},S6i={class:"file-card__content__footer__date"},T6i={key:0,class:"file-card__content__footer__initials"};function k6i(t,e,i,o,r,n){const s=z("BIMDataIconSuccess"),a=z("PieProgressSpinner"),l=z("BIMDataIconEllipsis"),c=z("BIMDataButton"),u=z("BIMDataSpinner"),d=z("BIMDataCheckbox"),h=z("BIMDataRadio"),A=z("BIMDataIconFolder"),g=z("BIMDataFileIcon"),p=z("MultiLineTextBox"),M=Vi("click-away");return D(),Y("div",{class:"file-card",onClick:e[0]||(e[0]=(...f)=>n.onClick&&n.onClick(...f))},[m("div",{class:be(["file-card__content",{"file-card__content--selected":i.selected,"file-card__content--disabled":i.disabled,"file-card__content--hover":i.select&&!i.success&&!i.disabled||n.isFolder}])},[m("div",I6i,[m("div",j6i,[i.success?(D(),se(s,{key:0,size:"s",fill:"",color:"success",class:"file-card__content__header__btn-menu__success"})):n.loading&&!i.success?(D(),se(a,{key:1,progress:r.percentCompleted,class:"file-card__content__header__btn-menu__spinner"},null,8,["progress"])):n.edit?(D(),se(c,{key:2,ghost:"",rounded:"",icon:"",onClick:bt(n.toggleMenu,["stop"]),class:"file-card__content__header__btn-menu__edit",disabled:i.success},{default:W(()=>[O(l,{size:"l",fill:"",color:"granite-light"})]),_:1},8,["onClick","disabled"])):n.isFolder?ve("",!0):(D(),Y("div",b6i,[i.pdfModelLoading?(D(),se(u,{key:0,style:{margin:"6px"}})):(D(),Y(Mt,{key:1},[n.multiSelect?(D(),se(d,{key:0,disabled:i.disabled,modelValue:i.selected,class:"file-card__content__header__btn-menu__checkbox"},null,8,["disabled","modelValue"])):(D(),se(h,{key:1,disabled:i.disabled,big:"",modelValue:i.selected,name:"BIMDataFileCardRadio"},null,8,["disabled","modelValue"]))],64)),i.pdfPage?(D(),Y("div",x6i,re(`page ${i.pdfPage.page_number}`),1)):ve("",!0)]))]),i.file.nature==="Folder"?(D(),se(A,{key:0,size:"xl",fill:"",color:"primary"})):(D(),se(g,{key:1,fileName:i.file.file_name,size:25},null,8,["fileName"]))]),r.menuDisplayed?St((D(),Y("div",N6i,[i.viewPdf&&i.file.model_type==="PDF"?(D(),se(c,{key:0,color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onViewClick,["stop"])},{default:W(()=>[At(re(n.$translate("view")),1)]),_:1},8,["onClick"])):ve("",!0),O(c,{color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onRenameClick,["stop"])},{default:W(()=>[At(re(n.$translate("rename")),1)]),_:1},8,["onClick"]),O(c,{color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onDownloadClick,["stop"])},{default:W(()=>[At(re(n.$translate("download")),1)]),_:1},8,["onClick"]),i.writeAccess?(D(),se(c,{key:1,color:"high",ghost:"",radius:"",width:"100%",onClick:bt(n.onDeleteClick,["stop"])},{default:W(()=>[At(re(n.$translate("delete")),1)]),_:1},8,["onClick"])):ve("",!0)])),[[M,n.away]]):ve("",!0),m("div",D6i,[O(p,{class:"file-card__content__footer__name",text:i.file.name},null,8,["text"]),m("div",S6i,re(i.file.updated_at.toLocaleDateString()),1),n.initials?(D(),Y("div",T6i,re(n.initials),1)):ve("",!0)])],2)])}const E6i=K(C6i,[["render",k6i],["__scopeId","data-v-cf500c59"]]),z6i={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},folder:{type:Object,required:!0}},data(){return{name:"",hasError:!1,loading:!1}},created(){document.addEventListener("keydown",this.onKeyDown)},mounted(){this.timeoutId=setTimeout(()=>this.$refs.nameInput.focus(),200)},destroyed(){document.removeEventListener("keydown",this.onKeyDown),clearTimeout(this.timeoutId)},methods:{onKeyDown(t){t.key==="Enter"&&this.submit()},reset(){this.name="",this.hasError=!1},close(){this.reset(),this.$emit("close")},async submit(){if(this.name){this.loading=!0;try{const t={parent_id:this.folder.id,name:this.name},e=await this.apiClient.collaborationApi.createFolder(this.spaceId,this.projectId,t);this.$emit("success",e)}catch(t){this.$emit("error",t)}finally{this.reset(),this.loading=!1}}else this.$refs.nameInput.focus(),this.hasError=!0}}},P6i={class:"folder-creation-form"},B6i={class:"folder-creation-form__title"};function O6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFolder"),a=z("BIMDataInput"),l=z("BIMDataButton");return D(),Y("div",P6i,[m("div",B6i,[O(s,{size:"xs"}),m("span",null,re(n.$translate("creationFormTitle")),1)]),O(a,{ref:"nameInput",class:"folder-creation-form__input",placeholder:n.$translate("nameInputPlaceholder"),modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=c=>r.name=c),error:r.hasError,errorMessage:n.$translate("nameInputErrorMessage"),onKeyup:[ri(bt(n.close,["stop"]),["esc"]),ri(bt(n.submit,["stop"]),["enter"])],margin:"24px 0px",loading:r.loading},null,8,["placeholder","modelValue","error","errorMessage","onKeyup","loading"]),O(l,{class:"folder-creation-form__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"])},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick"]),O(l,{class:"folder-creation-form__btn-submit",width:"80px",color:"primary",fill:"",radius:"",onClick:bt(n.submit,["stop"])},{default:W(()=>[At(re(n.$translate("submit")),1)]),_:1},8,["onClick"])])}const R6i=K(z6i,[["render",O6i],["__scopeId","data-v-6a3749ed"]]),U6i={components:{NewFolderForm:R6i},inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},height:{type:String,default:"32px"},folder:{type:Object},disabled:{type:Boolean,default:!1}},data(){return{showCreationForm:!1}},created(){document.addEventListener("keydown",this.onKeyDown)},destroyed(){document.removeEventListener("keydown",this.onKeyDown)},methods:{onKeyDown(t){t.key==="Escape"&&this.close()},toggle(){this.showCreationForm=!this.showCreationForm},close(){this.showCreationForm=!1}}},Y6i={class:"folder-creation-button"};function F6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFolder"),a=z("BIMDataButton"),l=z("NewFolderForm"),c=Vi("click-away");return St((D(),Y("div",Y6i,[O(a,{width:"100%",height:i.height,color:"primary",fill:"",radius:"",disabled:i.disabled,onClick:n.toggle},{default:W(()=>[O(s,{size:"xs",margin:"0 6px 0 0"}),m("span",null,re(n.$translate("buttonText")),1)]),_:1},8,["height","disabled","onClick"]),O(oo,{name:"fade"},{default:W(()=>[r.showCreationForm?(D(),se(l,{key:0,class:"folder-creation-button__form",projectId:i.projectId,spaceId:i.spaceId,apiClient:i.apiClient,folder:i.folder,onClick:e[0]||(e[0]=bt(()=>{},["stop"])),onClose:n.close,onSuccess:e[1]||(e[1]=u=>{n.close(),t.$emit("success",u)}),onError:e[2]||(e[2]=u=>t.$emit("error",u))},null,8,["projectId","spaceId","apiClient","folder","onClose"])):ve("",!0)]),_:1})])),[[c,n.close]])}const Q6i=K(U6i,[["render",F6i],["__scopeId","data-v-302c3ec1"]]),G6i={inject:["$translate"],props:{width:{type:String,default:"32px"},height:{type:String,default:"32px"},multiple:{type:Boolean,default:!1},accept:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},methods:{selectFile(){this.$refs.fileInput.click()},uploadFile(t){const e=Array.from(t.target.files);e.length>0&&(this.$refs.fileInput.value="",this.$emit("upload",e))}}},H6i=["multiple","accept"];function V6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFile"),a=z("BIMDataButton");return D(),se(a,{class:"file-upload-button",width:i.width,height:i.height,color:"primary",fill:"",radius:"",disabled:i.disabled,onClick:n.selectFile},{default:W(()=>[jt(t.$slots,"default",{},()=>[O(s,{size:"xs",margin:"0 6px 0 0"}),m("span",null,re(n.$translate("addFileButtonText")),1)]),m("input",{hidden:"",ref:"fileInput",type:"file",multiple:i.multiple,accept:i.accept.join(","),onChange:e[0]||(e[0]=(...l)=>n.uploadFile&&n.uploadFile(...l))},null,40,H6i)]),_:3},8,["width","height","disabled","onClick"])}const Z6i=K(G6i,[["render",V6i]]),J6i={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},entity:{type:Object}},data(){return{name:"",hasError:!1,loading:!1}},mounted(){this.name=this.entity.name,setTimeout(()=>this.$refs.nameInput.focus(),200)},methods:{reset(){this.name="",this.hasError=!1},close(){this.reset(),this.$emit("close")},async submit(){if(this.name){this.loading=!0;try{await this.renameDocument(),this.entity.name=this.name,this.$emit("success")}catch(t){this.$emit("error",t)}finally{this.reset(),this.loading=!1}}else this.$refs.nameInput.focus(),this.hasError=!0},renameDocument(){const t=[this.spaceId,this.entity.id,this.projectId,{name:this.name}];return this.entity.nature==="Folder"?this.apiClient.collaborationApi.updateFolder(...t):this.apiClient.collaborationApi.updateDocument(...t)}}},W6i={class:"rename-modal"},K6i={class:"rename-modal__content"},q6i={class:"rename-modal__content__title"},X6i={class:"rename-modal__content__btn"};function _6i(t,e,i,o,r,n){const s=z("BIMDataIconClose"),a=z("BIMDataButton"),l=z("BIMDataInput"),c=Vi("click-away");return St((D(),Y("div",W6i,[O(a,{class:"rename-modal__close",color:"default",icon:"",radius:"",ghost:"",width:"21px",height:"21px",onClick:n.close},{default:W(()=>[O(s)]),_:1},8,["onClick"]),m("div",K6i,[m("div",q6i,re(n.$translate("rename")),1),O(l,{ref:"nameInput",class:"rename-modal__content__input",placeholder:n.$translate("renameFormPlaceholder"),modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=u=>r.name=u),error:r.hasError,errorMessage:n.$translate("nameInputErrorMessage"),onKeyup:[ri(bt(n.close,["stop"]),["esc"]),ri(bt(n.submit,["stop"]),["enter"])],margin:"30px 0px",loading:r.loading},null,8,["placeholder","modelValue","error","errorMessage","onKeyup","loading"]),m("div",X6i,[O(a,{class:"rename-modal__content__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"])},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick"]),O(a,{class:"rename-modal__content__btn-submit",width:"80px",color:"primary",fill:"",radius:"",onClick:bt(n.submit,["stop"])},{default:W(()=>[At(re(n.$translate("submit")),1)]),_:1},8,["onClick"])])])])),[[c,n.close]])}const $6i=K(J6i,[["render",_6i],["__scopeId","data-v-47dc7eb4"]]);function Sde(t){return[t,...Tde(t)]}function Tde(t){return t.children&&t.children.length>0?[...t.children,...t.children.flatMap(e=>Tde(e))]:[]}const eSi={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},entity:{type:Object}},data(){return{loading:!1}},computed:{flattenTree(){return Sde(this.entity)}},methods:{close(){this.loading||this.$emit("close")},async submit(){this.loading=!0;try{await this.deleteEntity(),this.$emit("success")}catch(t){this.$emit("error",t)}finally{this.loading=!1}},deleteEntity(){const t=[this.spaceId,this.entity.id,this.projectId];return this.entity.nature==="Folder"?this.apiClient.collaborationApi.deleteFolder(...t):this.apiClient.collaborationApi.deleteDocument(...t)}}},tSi={class:"delete-modal"},iSi={class:"delete-modal__content"},oSi={class:"delete-modal__content__title"},rSi={class:"delete-modal__content__detail"},sSi={class:"delete-modal__content__btn"},nSi={key:1};function aSi(t,e,i,o,r,n){const s=z("BIMDataIconClose"),a=z("BIMDataButton"),l=z("BIMDataSpinner"),c=Vi("click-away");return St((D(),Y("div",tSi,[O(a,{class:"delete-modal__close",color:"default",icon:"",radius:"",ghost:"",width:"21px",height:"21px",onClick:n.close,disabled:r.loading},{default:W(()=>[O(s)]),_:1},8,["onClick","disabled"]),m("div",iSi,[m("div",oSi,re(n.$translate("deleteTitle")),1),m("div",rSi,re(n.$translate("deleteDetail"))+" : ",1),m("ul",null,[(D(!0),Y(Mt,null,ei(n.flattenTree,u=>(D(),Y("li",{key:u.id},' - "'+re(u.name)+'" ',1))),128))]),m("div",sSi,[O(a,{class:"delete-modal__content__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"]),disabled:r.loading},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick","disabled"]),O(a,{class:"delete-modal__content__btn-submit",width:"80px",color:"high",fill:"",radius:"",onClick:bt(n.submit,["stop"]),disabled:r.loading},{default:W(()=>[r.loading?(D(),se(l,{key:0})):(D(),Y("span",nSi,re(n.$translate("delete")),1))]),_:1},8,["onClick","disabled"])])])])),[[c,n.close]])}const lSi=K(eSi,[["render",aSi],["__scopeId","data-v-26cd84eb"]]),cSi={inject:["$translate"],props:{model:{type:Object,required:!0},modelSelectedPage:{type:Object,default:null}},emits:["select","close"],setup(t,e){const i=vt(()=>[t.model].concat(t.model.children??[])),o=Xe(null);return ai(()=>t.modelSelectedPage,r=>{r&&(o.value=r)},{immediate:!0}),{pages:i,selectedPage:o}}},uSi={class:"pdf-page-selector"},dSi={class:"head"},hSi={style:{"margin-left":"6px"}},ASi={class:"title"},pSi={class:"body"},gSi=["onClick"],MSi={class:"pdf-page__img"},fSi=["src","alt"],wSi={class:"pdf-page__num"},LSi={class:"foot"};function mSi(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BIMDataIconFilePdfPolychrome"),c=z("BIMDataTextbox"),u=z("BIMDataIconClose"),d=z("BIMDataResponsiveGrid");return D(),Y("div",uSi,[m("div",dSi,[O(a,{ghost:"",radius:"",onClick:e[0]||(e[0]=h=>t.$emit("close"))},{default:W(()=>[O(s,{size:"xxs"}),m("span",hSi,re(n.$translate("back")),1)]),_:1}),m("span",ASi,[O(l,{size:"m",margin:"0 6px 0 0"}),O(c,{text:i.model.name},null,8,["text"])]),O(a,{ghost:"",rounded:"",icon:"",onClick:e[1]||(e[1]=h=>t.$emit("close"))},{default:W(()=>[O(u,{size:"xxs"})]),_:1})]),m("div",pSi,[O(d,{style:{width:"100%","justify-items":"center"},itemWidth:"157px",rowGap:"6px",columnGap:"6px"},{default:W(()=>[(D(!0),Y(Mt,null,ei(o.pages,h=>(D(),Y("div",{key:h.id,class:be(["pdf-page",{selected:o.selectedPage&&o.selectedPage.id===h.id}]),onClick:A=>o.selectedPage=o.selectedPage&&o.selectedPage.id===h.id?null:h},[m("div",MSi,[h.map_file?(D(),Y("img",{key:0,src:h.map_file,alt:`page ${h.page_number}`},null,8,fSi)):(D(),se(l,{key:1,size:"l"}))]),m("div",wSi,re(h.page_number),1)],10,gSi))),128))]),_:1})]),m("div",LSi,[O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:e[2]||(e[2]=h=>t.$emit("select",o.selectedPage))},{default:W(()=>[At(re(n.$translate("validate")),1)]),_:1})])])}const ySi=K(cSi,[["render",mSi],["__scopeId","data-v-22155996"]]),kde="Folder";function Ede(t){return new Promise(e=>setTimeout(e,t))}async function vSi({name:t,url:e}){const i=document.createElement("a");i.style.display="none",i.download=t,i.href=e,document.body.append(i),i.click(),await Ede(100),i.remove(),await Ede(500)}function CSi(t){const e=[],i=[];for(const o of t)o.nature===kde?e.push(o):i.push(o);return{folders:e,documents:i}}function ISi(t,e){const{projectId:i,spaceId:o,accessToken:r,apiUrl:n="https://api.bimdata.io"}=e,s=jSi(n),{folders:a,documents:l}=CSi(t);let c="";return(a.length>0||l.length>0)&&(c+=`${s}/cloud/${o}/project/${i}?`,c+=`accessToken=${r}&`,c+=a.map(u=>`folderId[]=${u.id}`).join("&"),c+=a.length>0&&l.length>0?"&":"",c+=l.map(u=>`documentId[]=${u.id}`).join("&")),c}function jSi(t){const e=new URL(t),i=e.hostname;let o="";const[r,...n]=i.split("."),s=n.join(".");return r.includes("-staging")?o="-staging":r.includes("-next")&&(o="-next"),e.protocol+"//archive"+o+"."+s}async function bSi(t,e={}){try{if(t.length===0)return;let i=null;const o=t[0].name;return t.length===1&&t[0].nature!==kde?i=t[0].file:i=ISi(t,e),await vSi({name:o,url:i})}catch(i){throw new Error(i)}}const xSi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",cancel:"Cancel",submit:"Submit",buttonText:"New folder",addFileButtonText:"Upload a file",rename:"Rename",view:"View",download:"Download",delete:"Delete",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",validate:"Validate",back:"Back",pdfPageSelectorTitle:"Select a page"},NSi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",cancel:"Annuler",submit:"Valider",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",rename:"Renommer",view:"Voir",download:"T\xE9l\xE9charger",delete:"Supprimer",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",validate:"Valider",back:"Retour",pdfPageSelectorTitle:"S\xE9lectionner une page"},DSi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},SSi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},TSi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},zde={en:xSi,fr:NSi,es:DSi,de:SSi,it:TSi},Pde=398,Bde=468,Ode=800,kSi=3e3,ESi={components:{FileCard:E6i,NewFolderButton:Q6i,UploadFileButton:Z6i,RenameModal:$6i,DeleteModal:lSi,BIMDataPDFViewer:Dde,PdfPageSelector:ySi},provide(){return{$translate:this.translate}},props:{locale:{type:String,default:"en"},apiUrl:{type:String,default:"https://api.bimdata.io"},spaceId:{type:Number,required:!0},projectId:{type:Number,required:!0},accessToken:{type:String,required:!0},select:{type:Boolean,default:!1},multi:{type:Boolean,default:!1},searchColor:{type:String,default:"primary"},headerButtons:{type:Boolean,default:!0},headerSearch:{type:Boolean,default:!0},alreadySelectedIds:{type:Array,defaut:()=>[]},selectableFileTypes:{type:Array,default:()=>[]},viewPdf:{type:Boolean,default:!1},pdfPageSelect:{type:Boolean,default:!1}},data(){return{currentFolder:null,loadingFiles:[],searchText:"",selectedFiles:[],apiClient:null,fileStructure:null,width:0,entityRenown:!1,entityDeletable:!1,successFileIds:[],pdfToView:null,pdfModel:null,pdfModelSelectedPage:null,pdfModelLoading:null,pdfPageSelectorDisplayed:!1}},computed:{modalDisplayed(){return this.entityRenown||this.entityDeletable},navigationShown(){return this.currentFolder!==this.fileStructure},itemWidth(){return this.xsLayout?"100%":this.sLayout?"180px":"164px"},xsLayout(){return this.width<Pde},sLayout(){return this.width>=Pde&&this.width<Bde},mLayout(){return this.width>=Bde&&this.width<Ode},lLayout(){return this.width>=Ode},multiSelect(){return this.select&&this.multi},files(){let t=null;return this.searchText?t=(this.currentFolder&&this.currentFolder.children||[]).filter(e=>e.name.toLowerCase().includes(this.searchText)):t=this.currentFolder&&this.currentFolder.children||[],t.push(...this.loadingFiles.filter(e=>e.folder.id===this.currentFolder.id&&!t.find(i=>i.id===e.id))),t.sort((e,i)=>(e.name||"").localeCompare(i.name)),t.sort((e,i)=>{const o=e.nature==="Folder"?1:-1;return(i.nature==="Folder"?1:-1)-o}),t}},watch:{accessToken(t){this.apiClient.accessToken=t},multi(){this.selectedFiles=[],this.$emit("selection-change",this.selectedFiles)},select(){this.selectedFiles=[],this.$emit("selection-change",this.selectedFiles)}},mounted(){this.resizeObserver=new ResizeObserver(this.onResize),this.resizeObserver.observe(this.$el)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect(),clearTimeout(this.timeoutId),document.removeEventListener("keydown",this.onKeyDown)},async created(){document.addEventListener("keydown",this.onKeyDown),this.loadingFileId=0;try{this.apiClient=Vj.makeBIMDataApiClient({apiUrl:this.apiUrl,accessToken:this.accessToken}),this.fileStructure=await this.apiClient.collaborationApi.getProjectDMSTree(this.spaceId,this.projectId)}catch(t){this.$emit("error",t)}this.currentFolder=this.fileStructure},methods:{isDisabled(t){var e;if(t.nature==="Folder")return!1;const i=(e=t.file_name)==null?void 0:e.match(/\.(\w+$)/),o=i&&i[1];return this.select&&this.selectableFileTypes.length>0&&!(o&&this.selectableFileTypes.includes(o))},onKeyDown(t){t.key==="Escape"&&(this.entityRenown=null,this.entityDeletable=null,this.$refs.search&&this.$refs.search.$refs.input===document.activeElement&&(this.searchText="",this.$refs.search.blur()))},translate(t){return(zde[this.locale]||zde.en)[t]},isFileSucess(t){return this.successFileIds.includes(t)||this.select&&this.alreadySelectedIds&&this.alreadySelectedIds.includes(t)},onFileLoaded(t,e){t.folder.children||this.$set(t.folder,"children",[]),t.folder.children=t.folder.children.filter(i=>i.id!==t.id),t.folder.children.push(e),this.loadingFiles=this.loadingFiles.filter(i=>i.id!==t.id),this.$emit("success",{type:"fileCreated",message:this.translate("newFileSuccess"),content:e}),this.successFileIds.push(e.id),this.timeoutId=setTimeout(()=>{this.successFileIds&&(this.successFileIds=this.successFileIds.filter(i=>i!==e.id))},kSi)},onDownload(t){try{bSi(Sde(t),{projectId:this.projectId,spaceId:this.spaceId,accessToken:this.accessToken,apiUrl:this.apiUrl})}catch(e){this.$emit("error",e)}},onDelete(t){this.entityDeletable=t},onDeleteSuccess(){const t=this.getParent(this.fileStructure,this.entityDeletable);t&&(t.children=t.children.filter(i=>i.id!==this.entityDeletable.id));const e=this.entityDeletable.nature==="Folder";this.$emit("success",{type:e?"folderDeleted":"fileDeleted",message:e?this.translate("deleteFolderSuccess"):this.translate("deleteFileSuccess"),content:this.entityDeletable}),this.entityDeletable=null},onRename(t){this.entityRenown=t},onRenameSuccess(){const t=this.entityRenown.nature==="Folder";this.$emit("success",{type:t?"folderRenamed":"fileRenamed",message:t?this.translate("renameFolderSuccess"):this.translate("renameFileSuccess"),content:this.entityRenown}),this.entityRenown=null},onView(t){this.pdfToView=t},onResize(t){t.forEach(e=>{this.width=e.target.clientWidth})},uploadFiles(t=[]){this.loadingFiles.push(...this.formatFiles(t))},formatFiles(t){return t.map(e=>({name:e.name,updated_at:new Date(e.lastModified),nature:"Document",id:`loadingfile-${this.loadingFileId++}`,fileToLoad:e,folder:this.currentFolder}))},onNewFolder(t){this.currentFolder.children||this.$set(this.currentFolder,"children",[]),this.currentFolder.children.push(t),this.$emit("success",{type:"folderCreated",message:this.translate("newFolderSuccess"),content:t})},async onToggleFileSelect(t){var e,i;let o=null;if(this.isFileSelected(t)){const r=this.selectedPdfPage(t);if(this.pdfPageSelect&&t.model_type==="PDF"&&r){this.selectedFiles=this.selectedFiles.filter(({document:s})=>s!==t),this.pdfModelLoading=t.id;const n=await this.apiClient.modelApi.getModel(this.spaceId,t.model_id,this.projectId);if(this.pdfModelLoading=null,((e=n.children)==null?void 0:e.length)>0&&(o=await this.openPdfPageSelector(n,r),!o))return;this.selectedFiles.push({document:t,pdfPage:o})}else this.selectedFiles=this.selectedFiles.filter(({document:n})=>n!==t)}else{if(this.multi||(this.selectedFiles=[]),this.pdfPageSelect&&t.model_type==="PDF"){this.pdfModelLoading=t.id;const r=await this.apiClient.modelApi.getModel(this.spaceId,t.model_id,this.projectId);if(this.pdfModelLoading=null,((i=r.children)==null?void 0:i.length)>0&&(o=await this.openPdfPageSelector(r),!o))return}this.selectedFiles.push({document:t,pdfPage:o})}this.$emit("selection-change",this.selectedFiles)},isFileSelected(t){return this.selectedFiles.some(({document:e})=>t===e)},async openPdfPageSelector(t,e){this.pdfModel=t,this.pdfModelSelectedPage=e,this.pdfPageSelectorDisplayed=!0;const i=await new Promise(o=>this.selectPdfPage=o);return this.pdfPageSelectorDisplayed=!1,this.pdfModelSelectedPage=null,this.pdfModel=null,i},selectedPdfPage(t){var e;return(e=this.selectedFiles.find(({document:i})=>t===i))==null?void 0:e.pdfPage},onBreadcrumClick(t){this.currentFolder=t},onBreadcrumBack(){const t=this.steps[this.steps.length-2];t&&(this.currentFolder=t)},openFolder(t){this.currentFolder=t},back(){const t=this.getParent(this.fileStructure,this.currentFolder);t?this.currentFolder=t:this.currentFolder=this.fileStructure},getParent(t,e){if(Array.isArray(t.children)){if(t.children.includes(e))return t;for(let i of t.children){const o=this.getParent(i,e);if(o)return o}}},getFolder(t,e=this.fileStructure){if(e.id===t)return e;for(let i of e.children||[]){const o=this.getFolder(t,i);if(o)return o}}}},zSi={class:"bimdata-file-manager"},PSi={class:"bimdata-file-manager__navigation"},BSi={key:0,class:"bimdata-file-manager__navigation__content"},OSi={key:1,class:"bimdata-file-manager__navigation__content--empty"},RSi={key:0,class:"bimdata-file-manager__container"},USi={key:1,class:"bimdata-file-manager__container--empty"},YSi={key:4,class:"bimdata-file-manager__pdf-page-selector"},FSi={key:5,class:"bimdata-file-manager__modal"};function QSi(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BIMDataPDFViewer"),c=z("NewFolderButton"),u=z("UploadFileButton"),d=z("BIMDataSearch"),h=z("BIMDataTextbox"),A=z("FileCard"),g=z("BIMDataResponsiveGrid"),p=z("BIMDataIconFolderOpen"),M=z("BIMDataLoading"),f=z("PdfPageSelector"),w=z("RenameModal"),L=z("DeleteModal");return D(),Y("div",zSi,[r.pdfToView?(D(),se(l,{key:0,class:"bimdata-file-manager__pdf-viewer",pdf:r.pdfToView,header:""},{"header-left":W(()=>[O(a,{class:"m-l-12",width:"32px",height:"32px",color:"primary",ghost:"",radius:"",icon:"",onClick:e[0]||(e[0]=v=>r.pdfToView=null)},{default:W(()=>[O(s,{size:"xxs"})]),_:1})]),_:1},8,["pdf"])):ve("",!0),i.headerButtons||i.headerSearch?(D(),Y("div",{key:1,class:be(["bimdata-file-manager__header",{"bimdata-file-manager__header--xs":n.xsLayout,"bimdata-file-manager__header--s":n.sLayout,"bimdata-file-manager__header--m":n.mLayout,"bimdata-file-manager__header--l":n.lLayout}])},[i.headerButtons?(D(),Y(Mt,{key:0},[O(c,{disabled:!r.currentFolder||r.currentFolder.user_permission<100,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,folder:r.currentFolder,onSuccess:n.onNewFolder,onError:e[1]||(e[1]=v=>t.$emit("error",v))},null,8,["disabled","projectId","spaceId","apiClient","folder","onSuccess"]),O(u,{class:"bimdata-file-manager__header__upload",width:"25%",disabled:!r.currentFolder||r.currentFolder.user_permission<100,multiple:"",onUpload:n.uploadFiles},null,8,["disabled","onUpload"])],64)):ve("",!0),i.headerSearch?(D(),se(d,{key:1,color:i.searchColor,class:"bimdata-file-manager__search",width:"100%",placeholder:"Search",modelValue:r.searchText,"onUpdate:modelValue":e[2]||(e[2]=v=>r.searchText=v),ref:"search",clear:"",radius:""},null,8,["color","modelValue"])):ve("",!0)],2)):ve("",!0),m("div",PSi,[n.navigationShown?(D(),Y("div",BSi,[O(a,{ghost:"",radius:"",icon:"",onClick:n.back},{default:W(()=>[O(s,{size:"xxs"})]),_:1},8,["onClick"]),O(h,{text:r.currentFolder.name,cutPosition:"middle",tooltipPosition:"bottom",tooltipColor:"primary",width:"calc(100% - 45px)"},null,8,["text"])])):(D(),Y("div",OSi,re(n.translate("dmsRoot")),1))]),r.fileStructure?(D(),Y(Mt,{key:2},[n.files.length>0?(D(),Y("div",RSi,[O(g,{itemWidth:n.itemWidth,rowGap:"4px",columnGap:"6px"},{default:W(()=>[(D(!0),Y(Mt,null,ei(n.files,v=>(D(),se(A,{width:n.itemWidth,key:v.id,file:v,projectId:i.projectId,spaceId:i.spaceId,apiUrl:i.apiUrl,accessToken:i.accessToken,onOpenFolder:I=>n.openFolder(v),select:i.select,disabled:n.isDisabled(v),multi:i.multi,selected:n.isFileSelected(v),success:n.isFileSucess(v.id),onToggleSelect:I=>n.onToggleFileSelect(v),onRename:I=>n.onRename(v),onDelete:I=>n.onDelete(v),onView:I=>n.onView(v),onDownload:I=>n.onDownload(v),onLoaded:I=>n.onFileLoaded(v,I),writeAccess:r.currentFolder.user_permission>=100,viewPdf:i.viewPdf,pdfModelLoading:r.pdfModelLoading===v.id,pdfPage:n.selectedPdfPage(v)},null,8,["width","file","projectId","spaceId","apiUrl","accessToken","onOpenFolder","select","disabled","multi","selected","success","onToggleSelect","onRename","onDelete","onView","onDownload","onLoaded","writeAccess","viewPdf","pdfModelLoading","pdfPage"]))),128))]),_:1},8,["itemWidth"])])):(D(),Y("div",USi,[m("div",null,[O(p,{size:"xxxl",fill:"",color:"silver"}),m("span",null,re(n.translate("emptyFolder")),1)])]))],64)):(D(),se(M,{key:3})),r.pdfPageSelectorDisplayed?(D(),Y("div",YSi,[O(f,{model:r.pdfModel,modelSelectedPage:r.pdfModelSelectedPage,onSelect:t.selectPdfPage,onClose:t.selectPdfPage},null,8,["model","modelSelectedPage","onSelect","onClose"])])):ve("",!0),n.modalDisplayed?(D(),Y("div",FSi,[r.entityRenown?(D(),se(w,{key:0,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,entity:r.entityRenown,onClose:e[3]||(e[3]=v=>r.entityRenown=null),onSuccess:n.onRenameSuccess,onError:e[4]||(e[4]=v=>t.$emit("error",v))},null,8,["projectId","spaceId","apiClient","entity","onSuccess"])):r.entityDeletable?(D(),se(L,{key:1,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,entity:r.entityDeletable,onClose:e[5]||(e[5]=v=>r.entityDeletable=null),onSuccess:n.onDeleteSuccess,onError:e[6]||(e[6]=v=>t.$emit("error",v))},null,8,["projectId","spaceId","apiClient","entity","onSuccess"])):ve("",!0)])):ve("",!0)])}const GSi=K(ESi,[["render",QSi],["__scopeId","data-v-af1635b9"]]),T0=25;function Eb(t){let e,i,o,r;if(Array.isArray(t)){let n,s;t.map(a=>{const{x:l,y:c,width:u,height:d}=a.getBoundingClientRect();(!n||n<l+u)&&(n=l+u),(!s||s<c+d)&&(s=c+d),(!e||e>l)&&(e=l),(!i||i>c)&&(i=c),o=n-e,r=s-i})}else{const{x:n,y:s,width:a,height:l}=t.getBoundingClientRect();e=n,i=s,o=a,r=l}return{x:e,y:i,w:o,h:r}}function Rde(){return{wWindow:window.innerWidth,hWindow:window.innerHeight}}function HSi(){return{offsetXWindow:window.pageXOffset,offsetYWindow:window.pageYOffset}}function VSi(t){return Math.sign(t)===-1}async function ZSi(t,e){const{y:i,h:o}=Eb(t),{hWindow:r}=Rde(),n=e.offsetTop,s=e.scrollTop;VSi(i)&&e.scroll({top:s+i-T0}),i<n&&e.scroll({top:s+i-n-T0}),i+o>r&&e.scroll({top:i+o-r+s+T0})}function JSi(t,e,i,o=0,r=0){const{x:n,y:s,w:a,h:l}=Eb(t),{w:c,h:u}=Eb(e),{wWindow:d,hWindow:h}=Rde(),A=e.getElementsByClassName("tooltip__box__top")[0],{h:g}=Eb(A),{offsetXWindow:p,offsetYWindow:M}=HSi();let f,w,L=0;const v=p+n,I=c+T0,C=M+s,b=u+T0,x=d-(v+a)>I,T=v>I;if(x){f=v+a+T0,h-C-l<b-l?(l<g&&(L=g/2+l/-2),w=C+l-u+L,i.dataset.position="down-right"):(l<g&&(L=g/-2+l/2),w=C+L,i.dataset.position="up-right"),Object.assign(e.style,{left:`${f+r}px`,top:`${w+o}px`});return}if(T){f=v-I,h-C-l<b-l?(l<g&&(L=g/2+l/-2),w=C+l-u+L,i.dataset.position="down-left"):(l<g&&(L=g/-2+l/2),w=C+L,i.dataset.position="up-left"),Object.assign(e.style,{left:`${f+r}px`,top:`${w+o}px`});return}const B=b<C-T0,S=h-(C+l)>b;if(B){i.dataset.position="bottom",Object.assign(e.style,{left:`${v+r}px`,top:`${C-b+o}px`});return}if(S){i.dataset.position="top",Object.assign(e.style,{left:`${v+r}px`,top:`${C+l+T0+o}px`});return}i.dataset.position="hidden",Object.assign(e.style,{left:`${v+a-c+r}px`,top:`${C+l-u+o}px`})}const WSi={skip:"Skip",next:"Next",continue:"Continue"},KSi={skip:"Passer",next:"Suivant",continue:"Continuer"},Ude={en:WSi,fr:KSi},qSi={props:{locale:{type:String,default:"en"},tours:{type:Array,default:()=>[]},tourToDisplay:{type:String,default:()=>""},elementToObserve:{type:[Object,HTMLElement],default:()=>{}},zIndex:{type:Number,default:()=>1e4},transitionDuration:{type:Number,default:()=>.3}},emits:["set-completed-tour"],data(){return{steps:[],showGuidedTour:!1,currentTarget:null,showTooltip:!1,stepIndex:0}},computed:{currentStep(){return this.steps[this.stepIndex]},nextStep(){return this.steps[this.stepIndex+1]},centeredTooltip(){return this.currentStep&&!this.currentStep.target},isStepIntro(){return this.stepIndex===0},isStepOutro(){return this.stepIndex===this.steps.length-1}},watch:{steps(){this.stepIndex=0},async currentStep(t){var e;try{if(!t)return;if(this.currentTarget=null,t.target)this.currentTarget=this.getDomElements(t);else{this.showTooltip=!0;return}(e=t.action)==null||e.call(t,this.currentTarget.element.getAttribute("data-guide-param")),t.clickable&&this.clickListener(),ZSi(this.currentTarget.element,this.elementToObserve),JSi(this.currentTarget.element,this.$refs.tooltip,this.$refs.arrow,t.yOffset,t.xOffset),this.showTooltip=!0}catch{this.closeGuidedTour()}}},created(){this.mutationObserver=new MutationObserver(this.handleClickedStep)},mounted(){const t=this.tours.find(e=>e.name===this.tourToDisplay);t?this.openGuidedTour(t.steps):console.warn(`GuideTour: unknown tour ${this.tourToDisplay}`)},unmounted(){this.mutationObserver.disconnect()},destroyed(){this.mutationObserver.disconnect()},methods:{clickNext(){this.resetSettings(),setTimeout(()=>{this.currentStep.clickable?(this.currentTarget.elementToClick||this.currentTarget.element).click():this.next()},this.transitionDuration*1e3)},openGuidedTour(t){this.steps=t.map(e=>({...e,layout:e.layout?Object.freeze(e.layout):null})),this.showGuidedTour=!0},getDomElements(t,e=document){const{target:i,targetDetail:o,targetToClick:r,targetToClickDetail:n}=t;let s,a;return Array.isArray(i)?s=i.map(l=>e.querySelector(`[data-guide=${l}]`)):typeof i=="string"&&(s=e.querySelector(`[data-guide=${i}] ${o||""}`)),r&&(a=e.querySelector(`[data-guide-click=${r}] ${n||""}`)),{element:s,elementToClick:a}},closeGuidedTour(){this.showGuidedTour=!1,this.steps=[]},next(){this.stepIndex++},close(){this.showTooltip=!1,this.closeGuidedTour(),this.$emit("set-completed-tour",this.tourToDisplay)},resetSettings(){this.showTooltip=!1},clickListener(){(this.currentTarget.elementToClick||this.currentTarget.element).addEventListener("click",()=>{this.nextStep.target?this.mutationObserver.observe(this.elementToObserve,{childList:!0,subtree:!0}):this.next()},{once:!0})},handleClickedStep(){const{element:t}=this.getDomElements(this.nextStep,this.elementToObserve),e=t instanceof HTMLElement,i=Array.isArray(t)&&t.every(o=>o instanceof HTMLElement);(e||i)&&(this.next(),this.mutationObserver.disconnect())},translate(t){return(Ude[this.locale]||Ude.en)[t]}}},XSi={ref:"arrow",class:"arrow"},_Si={class:"tooltip__box"},$Si={class:"tooltip__box__top"},eTi={class:"tooltip__box__progress-bar"},tTi={class:"tooltip__box__bottom"},iTi={class:"tooltip__box__bottom__title"},oTi={class:"tooltip__box__bottom__text"},rTi={class:"tooltip__box__footer"},sTi={class:"tooltip__box__footer__step-counter"},nTi={key:0,class:"tooltip__box__footer__btn-skip"},aTi={key:1,class:"tooltip__box__footer__ghost-element"},lTi={key:2,class:"tooltip__box__footer__btn-start"},cTi={key:3,class:"tooltip__box__footer__btn-next"};function uTi(t,e,i,o,r,n){const s=z("BIMDataButton"),a=z("BIMDataIconChevron");return St((D(),Y("div",{ref:"guidedTourPortal",class:be(["guided-tour-portal",{centeredTooltip:n.centeredTooltip}]),style:Ie(`z-index: ${i.zIndex}`)},[n.currentStep?(D(),Y("div",{key:0,ref:"tooltip",class:"tooltip",style:Ie({opacity:r.showTooltip?1:0,transition:`opacity ${i.transitionDuration}s ease-in-out`})},[m("div",XSi,null,512),m("div",_Si,[m("div",$Si,[m("div",{class:"tooltip__box__top__image",style:Ie({background:`var(--platform-background) url(${n.currentStep.props.img}) no-repeat ${n.currentStep.props.imgPosition} / ${n.currentStep.props.imgSize}`})},null,4)]),m("div",eTi,[(D(!0),Y(Mt,null,ei(r.steps,(l,c)=>(D(),Y("div",{class:"tooltip__progress-bar__step",key:c,style:Ie({width:`calc(100% / ${r.steps.length})`,backgroundColor:r.steps.indexOf(n.currentStep)>=c?"var(--color-secondary)":""})},null,4))),128))]),m("div",tTi,[m("div",iTi,re(n.currentStep.props.title),1),m("div",oTi,re(n.currentStep.props.content),1)]),m("div",rTi,[m("div",sTi,[m("span",null,re(r.stepIndex+1),1),m("span",null,"/"+re(r.steps.length),1)]),n.isStepOutro?(D(),Y("div",aTi)):(D(),Y("div",nTi,[O(s,{width:"0px",height:"0px",color:"granite",onClick:n.close},{default:W(()=>[At(re(n.translate("skip")),1)]),_:1},8,["onClick"])])),n.isStepOutro?(D(),Y("div",lTi,[O(s,{width:"0px",height:"0px",color:"granite",onClick:n.close},{default:W(()=>[At(re(n.translate("continue")),1)]),_:1},8,["onClick"])])):(D(),Y("div",cTi,[O(s,{width:"0px",height:"0px",color:"primary",fill:"",radius:"",onClick:n.clickNext},{default:W(()=>[m("span",null,re(n.translate("next")),1),O(a,{size:"xxs",fill:"",color:"white"})]),_:1},8,["onClick"])]))])])],4)):ve("",!0)],6)),[[Mi,r.showGuidedTour]])}const dTi=K(qSi,[["render",uTi],["__scopeId","data-v-37f3ddef"]]),hTi={props:{width:{type:Number},height:{type:Number},previewUrl:{type:String},defaultUrl:{type:String},zoomFactor:{type:Number}},data(){return{hover:!1,zoomX:0,zoomY:0}},computed:{imgUrl(){return this.previewUrl||this.defaultUrl},zoomTransform(){return`
1865
+ `),onMouseenter:e[0]||(e[0]=(...h)=>o.onMouseEnter&&o.onMouseEnter(...h)),onMouseleave:e[1]||(e[1]=(...h)=>o.onMouseLeave&&o.onMouseLeave(...h))},[O(s,{ref:"modalManagerTemplateRef"},null,512),m("div",c8i,[o.windowPlugins.leftSidePanel?(D(),se(a,{key:0,plugin:o.windowPlugins.leftSidePanel},null,8,["plugin"])):ve("",!0),m("div",u8i,[(D(!0),Y(Mt,null,ei(o.windowPlugins.free,h=>(D(),se(l,{key:h.name,style:{height:"100%"},plugin:h},null,8,["plugin"]))),128)),O(c,{position:"left",plugins:o.windowPlugins.leftButtonColumn},null,8,["plugins"]),O(c,{position:"right",plugins:o.windowPlugins.rightButtonColumn},null,8,["plugins"])]),o.windowPlugins.rightSidePanel?(D(),se(a,{key:1,plugin:o.windowPlugins.rightSidePanel},null,8,["plugin"])):ve("",!0)]),o.loading?(D(),Y("div",d8i,[o.spinner&&o.spinner.component?(D(),se(Ls(o.spinner.component),Pf(Ka({key:0},o.spinner.props)),null,16)):(D(),se(u,{key:1,size:"20px",border:"3px"}))])):ve("",!0),o.layoutSettingsDisplayed?(D(),Y("div",h8i,[O(d)])):ve("",!0)],36)}const p8i=K(l8i,[["render",A8i]]);class g8i{constructor(e=!0){const i=t9i(wQ,null,{resizable:e});i.registerContent("default",p8i),this.settings=Tl({edit:!1,swap:!1,full:!1}),this.areas=i}get resizable(){return this.areas.resizable}set resizable(e){this.areas.resizable=e}apply(e=null){this.areas.layout=e?i9i(e):null}copy(e){return o9i(this.areas.layout,e)}open({ratio:e,direction:i,insertAfter:o,windowName:r=null,windowState:n=null,localContextId:s=null}={}){const a=r?{options:{windowName:r,windowState:n}}:null;return s===null?this.areas.splitLayout(e,i,o,a):this.areas.split(s,e,i,o,a)}swap(e,i){return this.areas.swap(e,i)}close(e){return this.areas.delete(e)}}const M8i="@bimdata/viewer",f8i="module",w8i="2.2.0-beta.3",L8i="A customizable BIM viewer.",m8i=["bim","viewer","bimdata","ifc","bcf"],y8i="./index.d.ts",v8i="BIMData.io",C8i="https://developers.bimdata.io/viewer/index.html",I8i={email:"support@bimdata.io"},j8i=["last 2 chrome version","last 2 firefox version"],b8i="dist/bimdata-viewer.esm.min.js",x8i="dist/bimdata-viewer.esm.min.js",N8i={build:"vite build && esbuild dist/bimdata-viewer.esm.min.js --minify --outfile=dist/bimdata-viewer.esm.min.js --allow-overwrite","build:split":"vite build -c vite.config.split.js && esbuild dist/bimdata-viewer-split.esm.min.js --minify --outfile=dist/bimdata-viewer-split.esm.min.js --allow-overwrite","cy:run":"cypress run","cy:open":"cypress open",dev:"vite",prebuild:"rm -rf dist",prepublishOnly:"npm run build","semantic-release":"semantic-release",serve:"http-server -c-1 --silent",test:"npm run test:unit & npm run build & npm run test:e2e","test:unit":"jest","test:e2e":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:run","test:e2e-dev":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:open",version:"echo $npm_package_version",ts:"tsc"},D8i=["dist/*","types/*","CHANGELOG.md","README.md","package.json","package-lock.json","index.d.ts"],S8i={"@babel/preset-env":"^7.24.3","@bimdata/2d-engine":"2.4.0","@bimdata/areas-next":"0.1.15","@bimdata/bcf-components":"6.2.1","@bimdata/building-maker":"3.0.3","@bimdata/components":"1.3.3","@bimdata/design-system":"2.1.0-rc.14","@bimdata/typescript-fetch-api-client":"10.1.0","@rollup/plugin-alias":"5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-image":"^3.0.3","@rollup/plugin-replace":"^5.0.5","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^12.0.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^10.0.2","@semantic-release/npm":"^12.0.0","@semantic-release/release-notes-generator":"^13.0.0","@vitejs/plugin-vue":"4.6.2","@vue/vue3-jest":"29.2.6","@xeokit/xeokit-sdk":"git+https://git@github.com/Amoki/xeokit-sdk.git#369bb4876e529995cd4c192bc7fda5e957f9634f","@zip.js/zip.js":"^2.7.40",async:"^3.2.5",autoprefixer:"^10.4.19","babel-core":"^7.0.0-bridge.0","babel-jest":"^29.7.0","conventional-changelog-eslint":"^5.0.0",cypress:"13.7.1",esbuild:"^0.20.2",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-cypress":"^2.15.1","eslint-plugin-jest":"^27.9.0","eslint-plugin-prettier":"^5.1.3","eslint-plugin-vue":"^9.24.0","form-data":"^4.0.0",html2canvas:"1.4.1","http-server":"^14.1.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-extended":"^4.0.2",jspdf:"^2.5.1",lodash:"^4.17.21","node-fetch":"^3.3.2",postcss:"^8.4.38",prettier:"^3.2.5",querystring:"^0.2.0",sass:"^1.72.0","semantic-release":"^23.0.6",sinon:"^17.0.1","start-server-and-test":"2.0.3",vite:"4.5.2","vite-plugin-css-injected-by-js":"3.5.0",vue:"3.4.21","vue-eslint-parser":"^9.4.2","vue-i18n":"^9.10.2"},T8i={name:M8i,type:f8i,version:w8i,description:L8i,keywords:m8i,types:y8i,author:v8i,homepage:C8i,bugs:I8i,browserslist:j8i,main:b8i,module:x8i,scripts:N8i,files:D8i,devDependencies:S8i};class k8i{constructor({plugins:e,api:i,ui:o,locale:r="fr"}){this.pluginManager=new e2i(e),this.windowManager=new i2i,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new sDi(i),this.globalContext=new y2e(this),this.state=LDi(this),this.shortcutManager=Nge(this.state),this.uiSettings=o||{},this.i18n=new L2e(r),this._contextMenu=null,this.layout=new g8i(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return T8i.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||bge}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function E8i(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const z8i=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),WM=Object.freeze({READ:"read",WRITE:"write"});function xde(t){const e={};return t.forEach(i=>{const[o,r]=i.split(":");e[o]?e[o].push(r):e[o]=[r]}),e}const P8i={token_scopes:[],usable_scopes:[],user_role:25};function Nde(t=P8i){var e,i,o,r,n,s;const a=xde(t.token_scopes),l=xde(t.usable_scopes);return{...VZ(t),tokenScopes:a,usableScopes:l,userRole:z8i[t.user_role],user:t.user?VZ(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(WM.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(WM.WRITE))??!1,hasModelReadPermission:((o=l.model)==null?void 0:o.includes(WM.READ))??!1,hasModelWritePermission:((r=l.model)==null?void 0:r.includes(WM.WRITE))??!1,hasDocReadPermission:((n=l.document)==null?void 0:n.includes(WM.READ))??!1,hasDocWritePermission:((s=l.document)==null?void 0:s.includes(WM.WRITE))??!1}}const B8i={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},O8i={BcfComponents:B8i},R8i={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},U8i={BcfComponents:R8i},Y8i={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},F8i={BcfComponents:Y8i},Q8i={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},G8i={BcfComponents:Q8i},H8i={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},V8i={BcfComponents:H8i},Z8i={de:O8i,en:U8i,es:F8i,fr:G8i,it:V8i},J8i=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(o){t?Ro.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(Z8i).forEach(([r,n])=>{i.global.mergeLocaleMessage(r,n)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(H5e).forEach(([r,n])=>{o.component(r,n)})}}),W8i={props:{header:{type:Boolean,default:!1},pdf:{type:[Object,File]}},setup(t){const e=Xe(!1),i=Xe(null);return ai(()=>t.pdf,async o=>{if(e.value=!0,o.file)try{const r=await fetch(o.file).then(n=>n.blob());i.value=URL.createObjectURL(r)}catch(r){console.err("[BIMDataPDFViewer] Error fetching the pdf file.",r)}else i.value=URL.createObjectURL(o);e.value=!1},{immediate:!0}),{loading:e,pdfUrl:i}}},K8i={class:"pdf-viewer"},q8i={key:0,class:"pdf-viewer__header"},X8i={class:"pdf-viewer__header--left"},_8i={class:"pdf-viewer__header--title"},$8i={class:"pdf-viewer__header--right"},e6i=["data"];function t6i(t,e,i,o,r,n){const s=z("BIMDataLoading"),a=z("BIMDataTextbox");return D(),Y("div",K8i,[o.loading?(D(),se(s,{key:0})):(D(),Y(Mt,{key:1},[i.header?(D(),Y("div",q8i,[m("div",X8i,[jt(t.$slots,"header-left",{},void 0,!0)]),m("div",_8i,[O(a,{text:i.pdf.name},null,8,["text"])]),m("div",$8i,[jt(t.$slots,"header-right",{},void 0,!0)])])):ve("",!0),o.pdfUrl?(D(),Y("object",{key:1,width:"100%",height:"100%",type:"application/pdf",data:o.pdfUrl},null,8,e6i)):ve("",!0)],64))])}const Dde=K(W8i,[["render",t6i],["__scopeId","data-v-edf51369"]]),i6i={props:{color:{type:String,default:"currentColor"},progress:{type:Number,default:0,validator(t){return t>=0&&t<=100}}},data(){return{width:22,strokeWidth:3}},computed:{dashoffset(){return 63-this.progress/100*63}}},o6i={class:"bimdata-pie-progress-spinner"},r6i=["viewBox","width","height"],s6i=["cx","cy","r","stroke-width"],n6i=["cx","cy","r","stroke","stroke-width"];function a6i(t,e,i,o,r,n){return D(),Y("div",o6i,[(D(),Y("svg",{viewBox:`0 0 ${r.width} ${r.width}`,xmlns:"http://www.w3.org/2000/svg",fill:"transparent",width:r.width,height:r.width,style:{transform:"rotate(-90deg)"}},[m("circle",{class:"bimdata-pie-progress-spinner__path--back",cx:r.width/2,cy:r.width/2,r:(r.width-r.strokeWidth)/2,stroke:"lightgray","stroke-width":r.strokeWidth},null,8,s6i),m("circle",{class:"bimdata-pie-progress-spinner__path",cx:r.width/2,cy:r.width/2,r:(r.width-r.strokeWidth)/2,stroke:i.color,"stroke-width":r.strokeWidth,style:Ie(`--dashoffset: ${n.dashoffset};`)},null,12,n6i)],8,r6i))])}const l6i=K(i6i,[["render",a6i],["__scopeId","data-v-71eb6ae9"]]),c6i={props:{text:{type:String}}},u6i={class:"multi-line-textbox-tooltip"},d6i={class:"multi-line-textbox-tooltip__content"};function h6i(t,e,i,o,r,n){return D(),Y("div",u6i,[m("div",d6i,re(i.text),1)])}const A6i=K(c6i,[["render",h6i],["__scopeId","data-v-9e9877bb"]]),p6i={components:{Tooltip:A6i},props:{text:{type:String,default:""},lines:{type:Number,default:3},lineHeight:{type:Number,default:14}},data(){return{needEllipsis:!1,hover:!1}},computed:{style(){return{"--textbox-line-height":`${this.lineHeight}px`,"--textbox-lines":this.lines}},tooltipDisplayed(){return this.needEllipsis&&this.hover}},mounted(){this.resizeObserver=new ResizeObserver(this.onResize),this.resizeObserver.observe(this.$el)},destroyed(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{onResize(){if(!this.$refs.ghost)return;const t=this.lines*this.lineHeight,{height:e}=this.$refs.ghost.getBoundingClientRect();this.needEllipsis=e>t}}},g6i=t=>(rr("data-v-134a4e01"),t=t(),sr(),t),M6i={class:"multi-line-text-box__content"},f6i={class:"multi-line-text-box__content__head"},w6i={class:"multi-line-text-box__content__tail__text"},L6i=g6i(()=>m("div",{class:"multi-line-text-box__content__tail__ellipsis"},"...",-1)),m6i={key:1,class:"multi-line-text-box__content__full"};function y6i(t,e,i,o,r,n){const s=z("Tooltip");return D(),Y("div",{class:"multi-line-text-box",style:Ie(n.style),onMouseover:e[1]||(e[1]=a=>r.hover=!0),onMouseleave:e[2]||(e[2]=a=>r.hover=!1)},[m("div",M6i,[r.needEllipsis?(D(),Y(Mt,{key:0},[m("div",f6i,[m("span",null,re(i.text),1)]),m("div",{class:"multi-line-text-box__content__tail",style:Ie(`height:${i.lineHeight*(i.lines-1)}px`)},[m("div",w6i,[m("span",null,re(i.text),1)]),L6i],4)],64)):(D(),Y("span",m6i,re(i.text),1)),m("span",{class:"multi-line-text-box__ghost",ref:"ghost"},re(i.text),513)]),n.tooltipDisplayed?(D(),se(s,{key:0,onClick:e[0]||(e[0]=bt(()=>{},["stop"])),text:i.text,class:"multi-line-text-box__tooltip"},null,8,["text"])):ve("",!0)],36)}const v6i=K(p6i,[["render",y6i],["__scopeId","data-v-134a4e01"]]),C6i={components:{PieProgressSpinner:l6i,MultiLineTextBox:v6i},inject:["$translate"],props:{disabled:{type:Boolean,default:!1},writeAccess:{type:Boolean,default:!1},width:{type:String,default:"140px"},file:{type:Object,required:!0},projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiUrl:{type:String,required:!0},accessToken:{type:String,required:!0},select:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},multi:{type:Boolean,default:!1},success:{type:Boolean,default:!1},viewPdf:{type:Boolean,default:!1},pdfModelLoading:{type:Boolean,default:!1},pdfPage:{type:Object,default:null}},emits:["rename","download","edit","view","open-folder","toggle-select","loaded","load-error"],data(){return{menuDisplayed:!1,percentCompleted:0}},computed:{multiSelect(){return this.select&&this.multi},edit(){return!this.loading&&!this.select},isFolder(){return this.file.nature==="Folder"},loading(){return this.file.fileToLoad},initials(){return this.file.created_by&&`${this.file.created_by.firstname[0]||""}${this.file.created_by.lastname[0]||""}`.toUpperCase()}},async created(){if(document.addEventListener("keydown",this.onKeyDown),this.file.fileToLoad){const t=new FormData;t.append("file",this.file.fileToLoad),t.append("name",this.file.fileToLoad.name),t.append("parent_id",this.file.folder.id);const e=new XMLHttpRequest;e.open("POST",`${this.apiUrl}/cloud/${this.spaceId}/project/${this.projectId}/document`),e.setRequestHeader("authorization",`Bearer ${this.accessToken}`),e.addEventListener("progress",i=>{this.percentCompleted=i.loaded/i.total*100}),e.addEventListener("load",()=>{if(e.status===201){const i=JSON.parse(e.response);i.updated_at=new Date(i.updated_at),this.$emit("loaded",i)}else this.$emit("load-error",e.statusText)}),e.send(t)}},destroyed(){document.removeEventListener("keydown",this.onKeyDown)},methods:{onKeyDown(t){t.key==="Escape"&&(this.menuDisplayed=!1)},onRenameClick(){this.menuDisplayed=!1,this.$emit("rename")},onDownloadClick(){this.menuDisplayed=!1,this.$emit("download")},onDeleteClick(){this.menuDisplayed=!1,this.$emit("delete")},onViewClick(){this.menuDisplayed=!1,this.$emit("view")},onClick(){this.isFolder?this.$emit("open-folder"):!this.success&&!this.disabled&&!this.loading&&this.select&&this.$emit("toggle-select",this.file)},toggleMenu(){this.menuDisplayed=!this.menuDisplayed},away(){setTimeout(()=>{this.menuDisplayed=!1})}}},I6i={class:"file-card__content__header"},j6i={class:"file-card__content__header__btn-menu"},b6i={key:3,class:"selection-box"},x6i={key:2,class:"selection-text"},N6i={key:0,class:"file-card__content__menu"},D6i={class:"file-card__content__footer"},S6i={class:"file-card__content__footer__date"},T6i={key:0,class:"file-card__content__footer__initials"};function k6i(t,e,i,o,r,n){const s=z("BIMDataIconSuccess"),a=z("PieProgressSpinner"),l=z("BIMDataIconEllipsis"),c=z("BIMDataButton"),u=z("BIMDataSpinner"),d=z("BIMDataCheckbox"),h=z("BIMDataRadio"),A=z("BIMDataIconFolder"),g=z("BIMDataFileIcon"),p=z("MultiLineTextBox"),M=Vi("click-away");return D(),Y("div",{class:"file-card",onClick:e[0]||(e[0]=(...f)=>n.onClick&&n.onClick(...f))},[m("div",{class:be(["file-card__content",{"file-card__content--selected":i.selected,"file-card__content--disabled":i.disabled,"file-card__content--hover":i.select&&!i.success&&!i.disabled||n.isFolder}])},[m("div",I6i,[m("div",j6i,[i.success?(D(),se(s,{key:0,size:"s",fill:"",color:"success",class:"file-card__content__header__btn-menu__success"})):n.loading&&!i.success?(D(),se(a,{key:1,progress:r.percentCompleted,class:"file-card__content__header__btn-menu__spinner"},null,8,["progress"])):n.edit?(D(),se(c,{key:2,ghost:"",rounded:"",icon:"",onClick:bt(n.toggleMenu,["stop"]),class:"file-card__content__header__btn-menu__edit",disabled:i.success},{default:W(()=>[O(l,{size:"l",fill:"",color:"granite-light"})]),_:1},8,["onClick","disabled"])):n.isFolder?ve("",!0):(D(),Y("div",b6i,[i.pdfModelLoading?(D(),se(u,{key:0,style:{margin:"6px"}})):(D(),Y(Mt,{key:1},[n.multiSelect?(D(),se(d,{key:0,disabled:i.disabled,modelValue:i.selected,class:"file-card__content__header__btn-menu__checkbox"},null,8,["disabled","modelValue"])):(D(),se(h,{key:1,disabled:i.disabled,big:"",modelValue:i.selected,name:"BIMDataFileCardRadio"},null,8,["disabled","modelValue"]))],64)),i.pdfPage?(D(),Y("div",x6i,re(`page ${i.pdfPage.page_number}`),1)):ve("",!0)]))]),i.file.nature==="Folder"?(D(),se(A,{key:0,size:"xl",fill:"",color:"primary"})):(D(),se(g,{key:1,fileName:i.file.file_name,size:25},null,8,["fileName"]))]),r.menuDisplayed?St((D(),Y("div",N6i,[i.viewPdf&&i.file.model_type==="PDF"?(D(),se(c,{key:0,color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onViewClick,["stop"])},{default:W(()=>[At(re(n.$translate("view")),1)]),_:1},8,["onClick"])):ve("",!0),O(c,{color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onRenameClick,["stop"])},{default:W(()=>[At(re(n.$translate("rename")),1)]),_:1},8,["onClick"]),O(c,{color:"default",ghost:"",radius:"",width:"100%",onClick:bt(n.onDownloadClick,["stop"])},{default:W(()=>[At(re(n.$translate("download")),1)]),_:1},8,["onClick"]),i.writeAccess?(D(),se(c,{key:1,color:"high",ghost:"",radius:"",width:"100%",onClick:bt(n.onDeleteClick,["stop"])},{default:W(()=>[At(re(n.$translate("delete")),1)]),_:1},8,["onClick"])):ve("",!0)])),[[M,n.away]]):ve("",!0),m("div",D6i,[O(p,{class:"file-card__content__footer__name",text:i.file.name},null,8,["text"]),m("div",S6i,re(i.file.updated_at.toLocaleDateString()),1),n.initials?(D(),Y("div",T6i,re(n.initials),1)):ve("",!0)])],2)])}const E6i=K(C6i,[["render",k6i],["__scopeId","data-v-cf500c59"]]),z6i={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},folder:{type:Object,required:!0}},data(){return{name:"",hasError:!1,loading:!1}},created(){document.addEventListener("keydown",this.onKeyDown)},mounted(){this.timeoutId=setTimeout(()=>this.$refs.nameInput.focus(),200)},destroyed(){document.removeEventListener("keydown",this.onKeyDown),clearTimeout(this.timeoutId)},methods:{onKeyDown(t){t.key==="Enter"&&this.submit()},reset(){this.name="",this.hasError=!1},close(){this.reset(),this.$emit("close")},async submit(){if(this.name){this.loading=!0;try{const t={parent_id:this.folder.id,name:this.name},e=await this.apiClient.collaborationApi.createFolder(this.spaceId,this.projectId,t);this.$emit("success",e)}catch(t){this.$emit("error",t)}finally{this.reset(),this.loading=!1}}else this.$refs.nameInput.focus(),this.hasError=!0}}},P6i={class:"folder-creation-form"},B6i={class:"folder-creation-form__title"};function O6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFolder"),a=z("BIMDataInput"),l=z("BIMDataButton");return D(),Y("div",P6i,[m("div",B6i,[O(s,{size:"xs"}),m("span",null,re(n.$translate("creationFormTitle")),1)]),O(a,{ref:"nameInput",class:"folder-creation-form__input",placeholder:n.$translate("nameInputPlaceholder"),modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=c=>r.name=c),error:r.hasError,errorMessage:n.$translate("nameInputErrorMessage"),onKeyup:[ri(bt(n.close,["stop"]),["esc"]),ri(bt(n.submit,["stop"]),["enter"])],margin:"24px 0px",loading:r.loading},null,8,["placeholder","modelValue","error","errorMessage","onKeyup","loading"]),O(l,{class:"folder-creation-form__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"])},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick"]),O(l,{class:"folder-creation-form__btn-submit",width:"80px",color:"primary",fill:"",radius:"",onClick:bt(n.submit,["stop"])},{default:W(()=>[At(re(n.$translate("submit")),1)]),_:1},8,["onClick"])])}const R6i=K(z6i,[["render",O6i],["__scopeId","data-v-6a3749ed"]]),U6i={components:{NewFolderForm:R6i},inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},height:{type:String,default:"32px"},folder:{type:Object},disabled:{type:Boolean,default:!1}},data(){return{showCreationForm:!1}},created(){document.addEventListener("keydown",this.onKeyDown)},destroyed(){document.removeEventListener("keydown",this.onKeyDown)},methods:{onKeyDown(t){t.key==="Escape"&&this.close()},toggle(){this.showCreationForm=!this.showCreationForm},close(){this.showCreationForm=!1}}},Y6i={class:"folder-creation-button"};function F6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFolder"),a=z("BIMDataButton"),l=z("NewFolderForm"),c=Vi("click-away");return St((D(),Y("div",Y6i,[O(a,{width:"100%",height:i.height,color:"primary",fill:"",radius:"",disabled:i.disabled,onClick:n.toggle},{default:W(()=>[O(s,{size:"xs",margin:"0 6px 0 0"}),m("span",null,re(n.$translate("buttonText")),1)]),_:1},8,["height","disabled","onClick"]),O(oo,{name:"fade"},{default:W(()=>[r.showCreationForm?(D(),se(l,{key:0,class:"folder-creation-button__form",projectId:i.projectId,spaceId:i.spaceId,apiClient:i.apiClient,folder:i.folder,onClick:e[0]||(e[0]=bt(()=>{},["stop"])),onClose:n.close,onSuccess:e[1]||(e[1]=u=>{n.close(),t.$emit("success",u)}),onError:e[2]||(e[2]=u=>t.$emit("error",u))},null,8,["projectId","spaceId","apiClient","folder","onClose"])):ve("",!0)]),_:1})])),[[c,n.close]])}const Q6i=K(U6i,[["render",F6i],["__scopeId","data-v-302c3ec1"]]),G6i={inject:["$translate"],props:{width:{type:String,default:"32px"},height:{type:String,default:"32px"},multiple:{type:Boolean,default:!1},accept:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},methods:{selectFile(){this.$refs.fileInput.click()},uploadFile(t){const e=Array.from(t.target.files);e.length>0&&(this.$refs.fileInput.value="",this.$emit("upload",e))}}},H6i=["multiple","accept"];function V6i(t,e,i,o,r,n){const s=z("BIMDataIconAddFile"),a=z("BIMDataButton");return D(),se(a,{class:"file-upload-button",width:i.width,height:i.height,color:"primary",fill:"",radius:"",disabled:i.disabled,onClick:n.selectFile},{default:W(()=>[jt(t.$slots,"default",{},()=>[O(s,{size:"xs",margin:"0 6px 0 0"}),m("span",null,re(n.$translate("addFileButtonText")),1)]),m("input",{hidden:"",ref:"fileInput",type:"file",multiple:i.multiple,accept:i.accept.join(","),onChange:e[0]||(e[0]=(...l)=>n.uploadFile&&n.uploadFile(...l))},null,40,H6i)]),_:3},8,["width","height","disabled","onClick"])}const Z6i=K(G6i,[["render",V6i]]),J6i={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},entity:{type:Object}},data(){return{name:"",hasError:!1,loading:!1}},mounted(){this.name=this.entity.name,setTimeout(()=>this.$refs.nameInput.focus(),200)},methods:{reset(){this.name="",this.hasError=!1},close(){this.reset(),this.$emit("close")},async submit(){if(this.name){this.loading=!0;try{await this.renameDocument(),this.entity.name=this.name,this.$emit("success")}catch(t){this.$emit("error",t)}finally{this.reset(),this.loading=!1}}else this.$refs.nameInput.focus(),this.hasError=!0},renameDocument(){const t=[this.spaceId,this.entity.id,this.projectId,{name:this.name}];return this.entity.nature==="Folder"?this.apiClient.collaborationApi.updateFolder(...t):this.apiClient.collaborationApi.updateDocument(...t)}}},W6i={class:"rename-modal"},K6i={class:"rename-modal__content"},q6i={class:"rename-modal__content__title"},X6i={class:"rename-modal__content__btn"};function _6i(t,e,i,o,r,n){const s=z("BIMDataIconClose"),a=z("BIMDataButton"),l=z("BIMDataInput"),c=Vi("click-away");return St((D(),Y("div",W6i,[O(a,{class:"rename-modal__close",color:"default",icon:"",radius:"",ghost:"",width:"21px",height:"21px",onClick:n.close},{default:W(()=>[O(s)]),_:1},8,["onClick"]),m("div",K6i,[m("div",q6i,re(n.$translate("rename")),1),O(l,{ref:"nameInput",class:"rename-modal__content__input",placeholder:n.$translate("renameFormPlaceholder"),modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=u=>r.name=u),error:r.hasError,errorMessage:n.$translate("nameInputErrorMessage"),onKeyup:[ri(bt(n.close,["stop"]),["esc"]),ri(bt(n.submit,["stop"]),["enter"])],margin:"30px 0px",loading:r.loading},null,8,["placeholder","modelValue","error","errorMessage","onKeyup","loading"]),m("div",X6i,[O(a,{class:"rename-modal__content__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"])},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick"]),O(a,{class:"rename-modal__content__btn-submit",width:"80px",color:"primary",fill:"",radius:"",onClick:bt(n.submit,["stop"])},{default:W(()=>[At(re(n.$translate("submit")),1)]),_:1},8,["onClick"])])])])),[[c,n.close]])}const $6i=K(J6i,[["render",_6i],["__scopeId","data-v-47dc7eb4"]]);function Sde(t){return[t,...Tde(t)]}function Tde(t){return t.children&&t.children.length>0?[...t.children,...t.children.flatMap(e=>Tde(e))]:[]}const eSi={inject:["$translate"],props:{projectId:{type:Number,required:!0},spaceId:{type:Number,required:!0},apiClient:{type:Object,required:!0},entity:{type:Object}},data(){return{loading:!1}},computed:{flattenTree(){return Sde(this.entity)}},methods:{close(){this.loading||this.$emit("close")},async submit(){this.loading=!0;try{await this.deleteEntity(),this.$emit("success")}catch(t){this.$emit("error",t)}finally{this.loading=!1}},deleteEntity(){const t=[this.spaceId,this.entity.id,this.projectId];return this.entity.nature==="Folder"?this.apiClient.collaborationApi.deleteFolder(...t):this.apiClient.collaborationApi.deleteDocument(...t)}}},tSi={class:"delete-modal"},iSi={class:"delete-modal__content"},oSi={class:"delete-modal__content__title"},rSi={class:"delete-modal__content__detail"},sSi={class:"delete-modal__content__btn"},nSi={key:1};function aSi(t,e,i,o,r,n){const s=z("BIMDataIconClose"),a=z("BIMDataButton"),l=z("BIMDataSpinner"),c=Vi("click-away");return St((D(),Y("div",tSi,[O(a,{class:"delete-modal__close",color:"default",icon:"",radius:"",ghost:"",width:"21px",height:"21px",onClick:n.close,disabled:r.loading},{default:W(()=>[O(s)]),_:1},8,["onClick","disabled"]),m("div",iSi,[m("div",oSi,re(n.$translate("deleteTitle")),1),m("div",rSi,re(n.$translate("deleteDetail"))+" : ",1),m("ul",null,[(D(!0),Y(Mt,null,ei(n.flattenTree,u=>(D(),Y("li",{key:u.id},' - "'+re(u.name)+'" ',1))),128))]),m("div",sSi,[O(a,{class:"delete-modal__content__btn-cancel",width:"80px",ghost:"",radius:"",onClick:bt(n.close,["stop"]),disabled:r.loading},{default:W(()=>[At(re(n.$translate("cancel")),1)]),_:1},8,["onClick","disabled"]),O(a,{class:"delete-modal__content__btn-submit",width:"80px",color:"high",fill:"",radius:"",onClick:bt(n.submit,["stop"]),disabled:r.loading},{default:W(()=>[r.loading?(D(),se(l,{key:0})):(D(),Y("span",nSi,re(n.$translate("delete")),1))]),_:1},8,["onClick","disabled"])])])])),[[c,n.close]])}const lSi=K(eSi,[["render",aSi],["__scopeId","data-v-26cd84eb"]]),cSi={inject:["$translate"],props:{model:{type:Object,required:!0},modelSelectedPage:{type:Object,default:null}},emits:["select","close"],setup(t,e){const i=vt(()=>[t.model].concat(t.model.children??[])),o=Xe(null);return ai(()=>t.modelSelectedPage,r=>{r&&(o.value=r)},{immediate:!0}),{pages:i,selectedPage:o}}},uSi={class:"pdf-page-selector"},dSi={class:"head"},hSi={style:{"margin-left":"6px"}},ASi={class:"title"},pSi={class:"body"},gSi=["onClick"],MSi={class:"pdf-page__img"},fSi=["src","alt"],wSi={class:"pdf-page__num"},LSi={class:"foot"};function mSi(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BIMDataIconFilePdfPolychrome"),c=z("BIMDataTextbox"),u=z("BIMDataIconClose"),d=z("BIMDataResponsiveGrid");return D(),Y("div",uSi,[m("div",dSi,[O(a,{ghost:"",radius:"",onClick:e[0]||(e[0]=h=>t.$emit("close"))},{default:W(()=>[O(s,{size:"xxs"}),m("span",hSi,re(n.$translate("back")),1)]),_:1}),m("span",ASi,[O(l,{size:"m",margin:"0 6px 0 0"}),O(c,{text:i.model.name},null,8,["text"])]),O(a,{ghost:"",rounded:"",icon:"",onClick:e[1]||(e[1]=h=>t.$emit("close"))},{default:W(()=>[O(u,{size:"xxs"})]),_:1})]),m("div",pSi,[O(d,{style:{width:"100%","justify-items":"center"},itemWidth:"157px",rowGap:"6px",columnGap:"6px"},{default:W(()=>[(D(!0),Y(Mt,null,ei(o.pages,h=>(D(),Y("div",{key:h.id,class:be(["pdf-page",{selected:o.selectedPage&&o.selectedPage.id===h.id}]),onClick:A=>o.selectedPage=o.selectedPage&&o.selectedPage.id===h.id?null:h},[m("div",MSi,[h.map_file?(D(),Y("img",{key:0,src:h.map_file,alt:`page ${h.page_number}`},null,8,fSi)):(D(),se(l,{key:1,size:"l"}))]),m("div",wSi,re(h.page_number),1)],10,gSi))),128))]),_:1})]),m("div",LSi,[O(a,{width:"100%",color:"primary",fill:"",radius:"",onClick:e[2]||(e[2]=h=>t.$emit("select",o.selectedPage))},{default:W(()=>[At(re(n.$translate("validate")),1)]),_:1})])])}const ySi=K(cSi,[["render",mSi],["__scopeId","data-v-22155996"]]),kde="Folder";function Ede(t){return new Promise(e=>setTimeout(e,t))}async function vSi({name:t,url:e}){const i=document.createElement("a");i.style.display="none",i.download=t,i.href=e,document.body.append(i),i.click(),await Ede(100),i.remove(),await Ede(500)}function CSi(t){const e=[],i=[];for(const o of t)o.nature===kde?e.push(o):i.push(o);return{folders:e,documents:i}}function ISi(t,e){const{projectId:i,spaceId:o,accessToken:r,apiUrl:n="https://api.bimdata.io"}=e,s=jSi(n),{folders:a,documents:l}=CSi(t);let c="";return(a.length>0||l.length>0)&&(c+=`${s}/cloud/${o}/project/${i}?`,c+=`accessToken=${r}&`,c+=a.map(u=>`folderId[]=${u.id}`).join("&"),c+=a.length>0&&l.length>0?"&":"",c+=l.map(u=>`documentId[]=${u.id}`).join("&")),c}function jSi(t){const e=new URL(t),i=e.hostname;let o="";const[r,...n]=i.split("."),s=n.join(".");return r.includes("-staging")?o="-staging":r.includes("-next")&&(o="-next"),e.protocol+"//archive"+o+"."+s}async function bSi(t,e={}){try{if(t.length===0)return;let i=null;const o=t[0].name;return t.length===1&&t[0].nature!==kde?i=t[0].file:i=ISi(t,e),await vSi({name:o,url:i})}catch(i){throw new Error(i)}}const xSi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",cancel:"Cancel",submit:"Submit",buttonText:"New folder",addFileButtonText:"Upload a file",rename:"Rename",view:"View",download:"Download",delete:"Delete",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",validate:"Validate",back:"Back",pdfPageSelectorTitle:"Select a page"},NSi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",cancel:"Annuler",submit:"Valider",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",rename:"Renommer",view:"Voir",download:"T\xE9l\xE9charger",delete:"Supprimer",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",validate:"Valider",back:"Retour",pdfPageSelectorTitle:"S\xE9lectionner une page"},DSi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},SSi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},TSi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},zde={en:xSi,fr:NSi,es:DSi,de:SSi,it:TSi},Pde=398,Bde=468,Ode=800,kSi=3e3,ESi={components:{FileCard:E6i,NewFolderButton:Q6i,UploadFileButton:Z6i,RenameModal:$6i,DeleteModal:lSi,BIMDataPDFViewer:Dde,PdfPageSelector:ySi},provide(){return{$translate:this.translate}},props:{locale:{type:String,default:"en"},apiUrl:{type:String,default:"https://api.bimdata.io"},spaceId:{type:Number,required:!0},projectId:{type:Number,required:!0},accessToken:{type:String,required:!0},select:{type:Boolean,default:!1},multi:{type:Boolean,default:!1},searchColor:{type:String,default:"primary"},headerButtons:{type:Boolean,default:!0},headerSearch:{type:Boolean,default:!0},alreadySelectedIds:{type:Array,defaut:()=>[]},selectableFileTypes:{type:Array,default:()=>[]},viewPdf:{type:Boolean,default:!1},pdfPageSelect:{type:Boolean,default:!1}},data(){return{currentFolder:null,loadingFiles:[],searchText:"",selectedFiles:[],apiClient:null,fileStructure:null,width:0,entityRenown:!1,entityDeletable:!1,successFileIds:[],pdfToView:null,pdfModel:null,pdfModelSelectedPage:null,pdfModelLoading:null,pdfPageSelectorDisplayed:!1}},computed:{modalDisplayed(){return this.entityRenown||this.entityDeletable},navigationShown(){return this.currentFolder!==this.fileStructure},itemWidth(){return this.xsLayout?"100%":this.sLayout?"180px":"164px"},xsLayout(){return this.width<Pde},sLayout(){return this.width>=Pde&&this.width<Bde},mLayout(){return this.width>=Bde&&this.width<Ode},lLayout(){return this.width>=Ode},multiSelect(){return this.select&&this.multi},files(){let t=null;return this.searchText?t=(this.currentFolder&&this.currentFolder.children||[]).filter(e=>e.name.toLowerCase().includes(this.searchText)):t=this.currentFolder&&this.currentFolder.children||[],t.push(...this.loadingFiles.filter(e=>e.folder.id===this.currentFolder.id&&!t.find(i=>i.id===e.id))),t.sort((e,i)=>(e.name||"").localeCompare(i.name)),t.sort((e,i)=>{const o=e.nature==="Folder"?1:-1;return(i.nature==="Folder"?1:-1)-o}),t}},watch:{accessToken(t){this.apiClient.accessToken=t},multi(){this.selectedFiles=[],this.$emit("selection-change",this.selectedFiles)},select(){this.selectedFiles=[],this.$emit("selection-change",this.selectedFiles)}},mounted(){this.resizeObserver=new ResizeObserver(this.onResize),this.resizeObserver.observe(this.$el)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect(),clearTimeout(this.timeoutId),document.removeEventListener("keydown",this.onKeyDown)},async created(){document.addEventListener("keydown",this.onKeyDown),this.loadingFileId=0;try{this.apiClient=Vj.makeBIMDataApiClient({apiUrl:this.apiUrl,accessToken:this.accessToken}),this.fileStructure=await this.apiClient.collaborationApi.getProjectDMSTree(this.spaceId,this.projectId)}catch(t){this.$emit("error",t)}this.currentFolder=this.fileStructure},methods:{isDisabled(t){var e;if(t.nature==="Folder")return!1;const i=(e=t.file_name)==null?void 0:e.match(/\.(\w+$)/),o=i&&i[1];return this.select&&this.selectableFileTypes.length>0&&!(o&&this.selectableFileTypes.includes(o))},onKeyDown(t){t.key==="Escape"&&(this.entityRenown=null,this.entityDeletable=null,this.$refs.search&&this.$refs.search.$refs.input===document.activeElement&&(this.searchText="",this.$refs.search.blur()))},translate(t){return(zde[this.locale]||zde.en)[t]},isFileSucess(t){return this.successFileIds.includes(t)||this.select&&this.alreadySelectedIds&&this.alreadySelectedIds.includes(t)},onFileLoaded(t,e){t.folder.children||this.$set(t.folder,"children",[]),t.folder.children=t.folder.children.filter(i=>i.id!==t.id),t.folder.children.push(e),this.loadingFiles=this.loadingFiles.filter(i=>i.id!==t.id),this.$emit("success",{type:"fileCreated",message:this.translate("newFileSuccess"),content:e}),this.successFileIds.push(e.id),this.timeoutId=setTimeout(()=>{this.successFileIds&&(this.successFileIds=this.successFileIds.filter(i=>i!==e.id))},kSi)},onDownload(t){try{bSi(Sde(t),{projectId:this.projectId,spaceId:this.spaceId,accessToken:this.accessToken,apiUrl:this.apiUrl})}catch(e){this.$emit("error",e)}},onDelete(t){this.entityDeletable=t},onDeleteSuccess(){const t=this.getParent(this.fileStructure,this.entityDeletable);t&&(t.children=t.children.filter(i=>i.id!==this.entityDeletable.id));const e=this.entityDeletable.nature==="Folder";this.$emit("success",{type:e?"folderDeleted":"fileDeleted",message:e?this.translate("deleteFolderSuccess"):this.translate("deleteFileSuccess"),content:this.entityDeletable}),this.entityDeletable=null},onRename(t){this.entityRenown=t},onRenameSuccess(){const t=this.entityRenown.nature==="Folder";this.$emit("success",{type:t?"folderRenamed":"fileRenamed",message:t?this.translate("renameFolderSuccess"):this.translate("renameFileSuccess"),content:this.entityRenown}),this.entityRenown=null},onView(t){this.pdfToView=t},onResize(t){t.forEach(e=>{this.width=e.target.clientWidth})},uploadFiles(t=[]){this.loadingFiles.push(...this.formatFiles(t))},formatFiles(t){return t.map(e=>({name:e.name,updated_at:new Date(e.lastModified),nature:"Document",id:`loadingfile-${this.loadingFileId++}`,fileToLoad:e,folder:this.currentFolder}))},onNewFolder(t){this.currentFolder.children||this.$set(this.currentFolder,"children",[]),this.currentFolder.children.push(t),this.$emit("success",{type:"folderCreated",message:this.translate("newFolderSuccess"),content:t})},async onToggleFileSelect(t){var e,i;let o=null;if(this.isFileSelected(t)){const r=this.selectedPdfPage(t);if(this.pdfPageSelect&&t.model_type==="PDF"&&r){this.selectedFiles=this.selectedFiles.filter(({document:s})=>s!==t),this.pdfModelLoading=t.id;const n=await this.apiClient.modelApi.getModel(this.spaceId,t.model_id,this.projectId);if(this.pdfModelLoading=null,((e=n.children)==null?void 0:e.length)>0&&(o=await this.openPdfPageSelector(n,r),!o))return;this.selectedFiles.push({document:t,pdfPage:o})}else this.selectedFiles=this.selectedFiles.filter(({document:n})=>n!==t)}else{if(this.multi||(this.selectedFiles=[]),this.pdfPageSelect&&t.model_type==="PDF"){this.pdfModelLoading=t.id;const r=await this.apiClient.modelApi.getModel(this.spaceId,t.model_id,this.projectId);if(this.pdfModelLoading=null,((i=r.children)==null?void 0:i.length)>0&&(o=await this.openPdfPageSelector(r),!o))return}this.selectedFiles.push({document:t,pdfPage:o})}this.$emit("selection-change",this.selectedFiles)},isFileSelected(t){return this.selectedFiles.some(({document:e})=>t===e)},async openPdfPageSelector(t,e){this.pdfModel=t,this.pdfModelSelectedPage=e,this.pdfPageSelectorDisplayed=!0;const i=await new Promise(o=>this.selectPdfPage=o);return this.pdfPageSelectorDisplayed=!1,this.pdfModelSelectedPage=null,this.pdfModel=null,i},selectedPdfPage(t){var e;return(e=this.selectedFiles.find(({document:i})=>t===i))==null?void 0:e.pdfPage},onBreadcrumClick(t){this.currentFolder=t},onBreadcrumBack(){const t=this.steps[this.steps.length-2];t&&(this.currentFolder=t)},openFolder(t){this.currentFolder=t},back(){const t=this.getParent(this.fileStructure,this.currentFolder);t?this.currentFolder=t:this.currentFolder=this.fileStructure},getParent(t,e){if(Array.isArray(t.children)){if(t.children.includes(e))return t;for(let i of t.children){const o=this.getParent(i,e);if(o)return o}}},getFolder(t,e=this.fileStructure){if(e.id===t)return e;for(let i of e.children||[]){const o=this.getFolder(t,i);if(o)return o}}}},zSi={class:"bimdata-file-manager"},PSi={class:"bimdata-file-manager__navigation"},BSi={key:0,class:"bimdata-file-manager__navigation__content"},OSi={key:1,class:"bimdata-file-manager__navigation__content--empty"},RSi={key:0,class:"bimdata-file-manager__container"},USi={key:1,class:"bimdata-file-manager__container--empty"},YSi={key:4,class:"bimdata-file-manager__pdf-page-selector"},FSi={key:5,class:"bimdata-file-manager__modal"};function QSi(t,e,i,o,r,n){const s=z("BIMDataIconArrow"),a=z("BIMDataButton"),l=z("BIMDataPDFViewer"),c=z("NewFolderButton"),u=z("UploadFileButton"),d=z("BIMDataSearch"),h=z("BIMDataTextbox"),A=z("FileCard"),g=z("BIMDataResponsiveGrid"),p=z("BIMDataIconFolderOpen"),M=z("BIMDataLoading"),f=z("PdfPageSelector"),w=z("RenameModal"),L=z("DeleteModal");return D(),Y("div",zSi,[r.pdfToView?(D(),se(l,{key:0,class:"bimdata-file-manager__pdf-viewer",pdf:r.pdfToView,header:""},{"header-left":W(()=>[O(a,{class:"m-l-12",width:"32px",height:"32px",color:"primary",ghost:"",radius:"",icon:"",onClick:e[0]||(e[0]=v=>r.pdfToView=null)},{default:W(()=>[O(s,{size:"xxs"})]),_:1})]),_:1},8,["pdf"])):ve("",!0),i.headerButtons||i.headerSearch?(D(),Y("div",{key:1,class:be(["bimdata-file-manager__header",{"bimdata-file-manager__header--xs":n.xsLayout,"bimdata-file-manager__header--s":n.sLayout,"bimdata-file-manager__header--m":n.mLayout,"bimdata-file-manager__header--l":n.lLayout}])},[i.headerButtons?(D(),Y(Mt,{key:0},[O(c,{disabled:!r.currentFolder||r.currentFolder.user_permission<100,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,folder:r.currentFolder,onSuccess:n.onNewFolder,onError:e[1]||(e[1]=v=>t.$emit("error",v))},null,8,["disabled","projectId","spaceId","apiClient","folder","onSuccess"]),O(u,{class:"bimdata-file-manager__header__upload",width:"25%",disabled:!r.currentFolder||r.currentFolder.user_permission<100,multiple:"",onUpload:n.uploadFiles},null,8,["disabled","onUpload"])],64)):ve("",!0),i.headerSearch?(D(),se(d,{key:1,color:i.searchColor,class:"bimdata-file-manager__search",width:"100%",placeholder:"Search",modelValue:r.searchText,"onUpdate:modelValue":e[2]||(e[2]=v=>r.searchText=v),ref:"search",clear:"",radius:""},null,8,["color","modelValue"])):ve("",!0)],2)):ve("",!0),m("div",PSi,[n.navigationShown?(D(),Y("div",BSi,[O(a,{ghost:"",radius:"",icon:"",onClick:n.back},{default:W(()=>[O(s,{size:"xxs"})]),_:1},8,["onClick"]),O(h,{text:r.currentFolder.name,cutPosition:"middle",tooltipPosition:"bottom",tooltipColor:"primary",width:"calc(100% - 45px)"},null,8,["text"])])):(D(),Y("div",OSi,re(n.translate("dmsRoot")),1))]),r.fileStructure?(D(),Y(Mt,{key:2},[n.files.length>0?(D(),Y("div",RSi,[O(g,{itemWidth:n.itemWidth,rowGap:"4px",columnGap:"6px"},{default:W(()=>[(D(!0),Y(Mt,null,ei(n.files,v=>(D(),se(A,{width:n.itemWidth,key:v.id,file:v,projectId:i.projectId,spaceId:i.spaceId,apiUrl:i.apiUrl,accessToken:i.accessToken,onOpenFolder:I=>n.openFolder(v),select:i.select,disabled:n.isDisabled(v),multi:i.multi,selected:n.isFileSelected(v),success:n.isFileSucess(v.id),onToggleSelect:I=>n.onToggleFileSelect(v),onRename:I=>n.onRename(v),onDelete:I=>n.onDelete(v),onView:I=>n.onView(v),onDownload:I=>n.onDownload(v),onLoaded:I=>n.onFileLoaded(v,I),writeAccess:r.currentFolder.user_permission>=100,viewPdf:i.viewPdf,pdfModelLoading:r.pdfModelLoading===v.id,pdfPage:n.selectedPdfPage(v)},null,8,["width","file","projectId","spaceId","apiUrl","accessToken","onOpenFolder","select","disabled","multi","selected","success","onToggleSelect","onRename","onDelete","onView","onDownload","onLoaded","writeAccess","viewPdf","pdfModelLoading","pdfPage"]))),128))]),_:1},8,["itemWidth"])])):(D(),Y("div",USi,[m("div",null,[O(p,{size:"xxxl",fill:"",color:"silver"}),m("span",null,re(n.translate("emptyFolder")),1)])]))],64)):(D(),se(M,{key:3})),r.pdfPageSelectorDisplayed?(D(),Y("div",YSi,[O(f,{model:r.pdfModel,modelSelectedPage:r.pdfModelSelectedPage,onSelect:t.selectPdfPage,onClose:t.selectPdfPage},null,8,["model","modelSelectedPage","onSelect","onClose"])])):ve("",!0),n.modalDisplayed?(D(),Y("div",FSi,[r.entityRenown?(D(),se(w,{key:0,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,entity:r.entityRenown,onClose:e[3]||(e[3]=v=>r.entityRenown=null),onSuccess:n.onRenameSuccess,onError:e[4]||(e[4]=v=>t.$emit("error",v))},null,8,["projectId","spaceId","apiClient","entity","onSuccess"])):r.entityDeletable?(D(),se(L,{key:1,projectId:i.projectId,spaceId:i.spaceId,apiClient:r.apiClient,entity:r.entityDeletable,onClose:e[5]||(e[5]=v=>r.entityDeletable=null),onSuccess:n.onDeleteSuccess,onError:e[6]||(e[6]=v=>t.$emit("error",v))},null,8,["projectId","spaceId","apiClient","entity","onSuccess"])):ve("",!0)])):ve("",!0)])}const GSi=K(ESi,[["render",QSi],["__scopeId","data-v-af1635b9"]]),T0=25;function Eb(t){let e,i,o,r;if(Array.isArray(t)){let n,s;t.map(a=>{const{x:l,y:c,width:u,height:d}=a.getBoundingClientRect();(!n||n<l+u)&&(n=l+u),(!s||s<c+d)&&(s=c+d),(!e||e>l)&&(e=l),(!i||i>c)&&(i=c),o=n-e,r=s-i})}else{const{x:n,y:s,width:a,height:l}=t.getBoundingClientRect();e=n,i=s,o=a,r=l}return{x:e,y:i,w:o,h:r}}function Rde(){return{wWindow:window.innerWidth,hWindow:window.innerHeight}}function HSi(){return{offsetXWindow:window.pageXOffset,offsetYWindow:window.pageYOffset}}function VSi(t){return Math.sign(t)===-1}async function ZSi(t,e){const{y:i,h:o}=Eb(t),{hWindow:r}=Rde(),n=e.offsetTop,s=e.scrollTop;VSi(i)&&e.scroll({top:s+i-T0}),i<n&&e.scroll({top:s+i-n-T0}),i+o>r&&e.scroll({top:i+o-r+s+T0})}function JSi(t,e,i,o=0,r=0){const{x:n,y:s,w:a,h:l}=Eb(t),{w:c,h:u}=Eb(e),{wWindow:d,hWindow:h}=Rde(),A=e.getElementsByClassName("tooltip__box__top")[0],{h:g}=Eb(A),{offsetXWindow:p,offsetYWindow:M}=HSi();let f,w,L=0;const v=p+n,I=c+T0,C=M+s,b=u+T0,x=d-(v+a)>I,T=v>I;if(x){f=v+a+T0,h-C-l<b-l?(l<g&&(L=g/2+l/-2),w=C+l-u+L,i.dataset.position="down-right"):(l<g&&(L=g/-2+l/2),w=C+L,i.dataset.position="up-right"),Object.assign(e.style,{left:`${f+r}px`,top:`${w+o}px`});return}if(T){f=v-I,h-C-l<b-l?(l<g&&(L=g/2+l/-2),w=C+l-u+L,i.dataset.position="down-left"):(l<g&&(L=g/-2+l/2),w=C+L,i.dataset.position="up-left"),Object.assign(e.style,{left:`${f+r}px`,top:`${w+o}px`});return}const B=b<C-T0,S=h-(C+l)>b;if(B){i.dataset.position="bottom",Object.assign(e.style,{left:`${v+r}px`,top:`${C-b+o}px`});return}if(S){i.dataset.position="top",Object.assign(e.style,{left:`${v+r}px`,top:`${C+l+T0+o}px`});return}i.dataset.position="hidden",Object.assign(e.style,{left:`${v+a-c+r}px`,top:`${C+l-u+o}px`})}const WSi={skip:"Skip",next:"Next",continue:"Continue"},KSi={skip:"Passer",next:"Suivant",continue:"Continuer"},Ude={en:WSi,fr:KSi},qSi={props:{locale:{type:String,default:"en"},tours:{type:Array,default:()=>[]},tourToDisplay:{type:String,default:()=>""},elementToObserve:{type:[Object,HTMLElement],default:()=>{}},zIndex:{type:Number,default:()=>1e4},transitionDuration:{type:Number,default:()=>.3}},emits:["set-completed-tour"],data(){return{steps:[],showGuidedTour:!1,currentTarget:null,showTooltip:!1,stepIndex:0}},computed:{currentStep(){return this.steps[this.stepIndex]},nextStep(){return this.steps[this.stepIndex+1]},centeredTooltip(){return this.currentStep&&!this.currentStep.target},isStepIntro(){return this.stepIndex===0},isStepOutro(){return this.stepIndex===this.steps.length-1}},watch:{steps(){this.stepIndex=0},async currentStep(t){var e;try{if(!t)return;if(this.currentTarget=null,t.target)this.currentTarget=this.getDomElements(t);else{this.showTooltip=!0;return}(e=t.action)==null||e.call(t,this.currentTarget.element.getAttribute("data-guide-param")),t.clickable&&this.clickListener(),ZSi(this.currentTarget.element,this.elementToObserve),JSi(this.currentTarget.element,this.$refs.tooltip,this.$refs.arrow,t.yOffset,t.xOffset),this.showTooltip=!0}catch{this.closeGuidedTour()}}},created(){this.mutationObserver=new MutationObserver(this.handleClickedStep)},mounted(){const t=this.tours.find(e=>e.name===this.tourToDisplay);t?this.openGuidedTour(t.steps):console.warn(`GuideTour: unknown tour ${this.tourToDisplay}`)},unmounted(){this.mutationObserver.disconnect()},destroyed(){this.mutationObserver.disconnect()},methods:{clickNext(){this.resetSettings(),setTimeout(()=>{this.currentStep.clickable?(this.currentTarget.elementToClick||this.currentTarget.element).click():this.next()},this.transitionDuration*1e3)},openGuidedTour(t){this.steps=t.map(e=>({...e,layout:e.layout?Object.freeze(e.layout):null})),this.showGuidedTour=!0},getDomElements(t,e=document){const{target:i,targetDetail:o,targetToClick:r,targetToClickDetail:n}=t;let s,a;return Array.isArray(i)?s=i.map(l=>e.querySelector(`[data-guide=${l}]`)):typeof i=="string"&&(s=e.querySelector(`[data-guide=${i}] ${o||""}`)),r&&(a=e.querySelector(`[data-guide-click=${r}] ${n||""}`)),{element:s,elementToClick:a}},closeGuidedTour(){this.showGuidedTour=!1,this.steps=[]},next(){this.stepIndex++},close(){this.showTooltip=!1,this.closeGuidedTour(),this.$emit("set-completed-tour",this.tourToDisplay)},resetSettings(){this.showTooltip=!1},clickListener(){(this.currentTarget.elementToClick||this.currentTarget.element).addEventListener("click",()=>{this.nextStep.target?this.mutationObserver.observe(this.elementToObserve,{childList:!0,subtree:!0}):this.next()},{once:!0})},handleClickedStep(){const{element:t}=this.getDomElements(this.nextStep,this.elementToObserve),e=t instanceof HTMLElement,i=Array.isArray(t)&&t.every(o=>o instanceof HTMLElement);(e||i)&&(this.next(),this.mutationObserver.disconnect())},translate(t){return(Ude[this.locale]||Ude.en)[t]}}},XSi={ref:"arrow",class:"arrow"},_Si={class:"tooltip__box"},$Si={class:"tooltip__box__top"},eTi={class:"tooltip__box__progress-bar"},tTi={class:"tooltip__box__bottom"},iTi={class:"tooltip__box__bottom__title"},oTi={class:"tooltip__box__bottom__text"},rTi={class:"tooltip__box__footer"},sTi={class:"tooltip__box__footer__step-counter"},nTi={key:0,class:"tooltip__box__footer__btn-skip"},aTi={key:1,class:"tooltip__box__footer__ghost-element"},lTi={key:2,class:"tooltip__box__footer__btn-start"},cTi={key:3,class:"tooltip__box__footer__btn-next"};function uTi(t,e,i,o,r,n){const s=z("BIMDataButton"),a=z("BIMDataIconChevron");return St((D(),Y("div",{ref:"guidedTourPortal",class:be(["guided-tour-portal",{centeredTooltip:n.centeredTooltip}]),style:Ie(`z-index: ${i.zIndex}`)},[n.currentStep?(D(),Y("div",{key:0,ref:"tooltip",class:"tooltip",style:Ie({opacity:r.showTooltip?1:0,transition:`opacity ${i.transitionDuration}s ease-in-out`})},[m("div",XSi,null,512),m("div",_Si,[m("div",$Si,[m("div",{class:"tooltip__box__top__image",style:Ie({background:`var(--platform-background) url(${n.currentStep.props.img}) no-repeat ${n.currentStep.props.imgPosition} / ${n.currentStep.props.imgSize}`})},null,4)]),m("div",eTi,[(D(!0),Y(Mt,null,ei(r.steps,(l,c)=>(D(),Y("div",{class:"tooltip__progress-bar__step",key:c,style:Ie({width:`calc(100% / ${r.steps.length})`,backgroundColor:r.steps.indexOf(n.currentStep)>=c?"var(--color-secondary)":""})},null,4))),128))]),m("div",tTi,[m("div",iTi,re(n.currentStep.props.title),1),m("div",oTi,re(n.currentStep.props.content),1)]),m("div",rTi,[m("div",sTi,[m("span",null,re(r.stepIndex+1),1),m("span",null,"/"+re(r.steps.length),1)]),n.isStepOutro?(D(),Y("div",aTi)):(D(),Y("div",nTi,[O(s,{width:"0px",height:"0px",color:"granite",onClick:n.close},{default:W(()=>[At(re(n.translate("skip")),1)]),_:1},8,["onClick"])])),n.isStepOutro?(D(),Y("div",lTi,[O(s,{width:"0px",height:"0px",color:"granite",onClick:n.close},{default:W(()=>[At(re(n.translate("continue")),1)]),_:1},8,["onClick"])])):(D(),Y("div",cTi,[O(s,{width:"0px",height:"0px",color:"primary",fill:"",radius:"",onClick:n.clickNext},{default:W(()=>[m("span",null,re(n.translate("next")),1),O(a,{size:"xxs",fill:"",color:"white"})]),_:1},8,["onClick"])]))])])],4)):ve("",!0)],6)),[[Mi,r.showGuidedTour]])}const dTi=K(qSi,[["render",uTi],["__scopeId","data-v-37f3ddef"]]),hTi={props:{width:{type:Number},height:{type:Number},previewUrl:{type:String},defaultUrl:{type:String},zoomFactor:{type:Number}},data(){return{hover:!1,zoomX:0,zoomY:0}},computed:{imgUrl(){return this.previewUrl||this.defaultUrl},zoomTransform(){return`
1866
1866
  translate(${this.zoomX}px, ${this.zoomY}px)
1867
1867
  `},zoomImageTransform(){return`
1868
1868
  scale(${this.zoomFactor})
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bimdata/viewer",
3
3
  "type": "module",
4
- "version": "2.2.0-beta.1",
4
+ "version": "2.2.0-beta.3",
5
5
  "description": "A customizable BIM viewer.",
6
6
  "keywords": [
7
7
  "bim",