@arudovwen/form-builder-react 1.9.13 → 1.9.15

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.
@@ -1,4 +1,4 @@
1
- (function(Ee,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(Ee=typeof globalThis!="undefined"?globalThis:Ee||self,a(Ee.FormBuilder={},Ee.jsxRuntime,Ee.React,Ee.uuid,Ee.sonner,Ee.ReactDOM,Ee.reactHookForm,Ee.resolvers,Ee.yup,Ee.CurrencyInput,Ee.react,Ee.axios,Ee.Papa,Ee.XLSX,Ee.DatePicker,Ee.reactRouterDom))})(this,function(Ee,a,w,Me,Ne,xr,Re,Cs,Sr,ui,be,qe,wr,Nr,Cr,Ar){"use strict";function As(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const oe=As(Sr),ks=As(Nr),De=w.createContext(void 0),Es={title:"",description:"",id:Me.v4(),questionData:[],disabled:!1,isHidden:!1},Ms=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=w.useState(!1),[l,r]=w.useState({}),[d,u]=w.useState({}),[c,b]=w.useState([Es]),[m,f]=w.useState(()=>{try{const G=sessionStorage.getItem("editor_past");return G?JSON.parse(G):[]}catch(G){return[]}}),[v,h]=w.useState(()=>{try{const G=sessionStorage.getItem("editor_future");return G?JSON.parse(G):[]}catch(G){return[]}});w.useEffect(()=>{n&&n(c)},[c,n]),w.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(G){console.warn("Could not save editor_past to sessionStorage",G)}},[m]),w.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(G){console.warn("Could not save editor_future to sessionStorage",G)}},[v]);const y=w.useRef(Date.now()),g=w.useCallback(G=>{b(Y=>{const $=typeof G=="function"?G(Y):G;if(JSON.stringify(Y)!==JSON.stringify($)){const W=Date.now();f(F=>{if(F.length>0&&JSON.stringify(F[F.length-1])===JSON.stringify(Y))return F;if(W-y.current<800&&F.length>0)return y.current=W,F;y.current=W;const X=[...F,Y];return X.length>20?X.slice(X.length-20):X}),h([])}return $})},[]),S=w.useCallback(()=>{if(m.length===0)return;const G=m[m.length-1],Y=m.slice(0,m.length-1);f(Y),h([c,...v]),b(G),i==null||i("UNDO",null)},[m,v,c,i]),p=w.useCallback(()=>{if(v.length===0)return;const G=v[0],Y=v.slice(1);h(Y),f([...m,c]),b(G),i==null||i("REDO",null)},[m,v,c,i]),x=c,A=m.length>0,N=v.length>0,[C,k]=w.useState(!1),[E,_]=w.useState(null),[M,L]=w.useState([0]),[H,T]=w.useState(""),[P,I]=w.useState(0),B=w.useCallback(()=>{},[]),O=w.useCallback(()=>{const G=Me.v4();g(Y=>[...Y,{...Es,id:G}]),_(G),L([x.length]),i==null||i("ADD_SECTION",{sectionId:G})},[x,i,g]),D=w.useCallback(G=>{g(o==="isDeleted"||o==="soft"?Y=>Y.map($=>{var W;return $.id===G?{...$,isDeleted:!0,questionData:(W=$==null?void 0:$.questionData)==null?void 0:W.map(F=>({...F,isDeleted:!0}))}:$}):Y=>Y.filter($=>$.id!==G)),_(null),i==null||i("REMOVE_SECTION",{sectionId:G})},[o,i,g]),j=w.useCallback((G,Y)=>{const $=x.find(F=>F.id===Y),W=$==null?void 0:$.questionData.find(F=>F.id===G);W&&(g(F=>F==null?void 0:F.map(X=>{var J;return X.id!==Y?X:o==="isDeleted"||o==="soft"?{...X,questionData:(J=X==null?void 0:X.questionData)==null?void 0:J.map(ne=>{if(W.type==="grid"){if(ne.gridId===W.id||ne.id===W.id)return{...ne,isDeleted:!0}}else if(ne.id===G)return{...ne,isDeleted:!0};return ne})}:{...X,questionData:X==null?void 0:X.questionData.filter(ne=>W.type==="grid"?ne.gridId!==W.id&&ne.id!==W.id:ne.id!==G)}})),i==null||i("REMOVE_ELEMENT",{sectionId:Y,elementId:G}))},[x,o,g,i]),q=w.useCallback((G,Y)=>{const $=x.find(J=>J.id===Y);if(!$)return;const W=$==null?void 0:$.questionData.findIndex(J=>J.id===G);if(W===-1)return;const F=$==null?void 0:$.questionData[W],X=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{var fe;if(ne.id!==Y)return ne;const me=[...ne.questionData];if(F.type==="grid"){const pe=(fe=me==null?void 0:me.map((Oe,He)=>({e:Oe,i:He})).filter(({e:Oe})=>Oe.id===F.id||Oe.gridId===F.id))==null?void 0:fe.map(({i:Oe})=>Oe),ye=pe.length?Math.max(...pe)+1:W+1,le=Me.v4(),xe=X(F,{});xe.id=le;const ge=me.filter(Oe=>Oe.gridId===F.id),ve=ge==null?void 0:ge.map(Oe=>X(Oe,{gridId:le})),_e=[...me.slice(0,ye),xe,...ve,...me.slice(ye)];return{...ne,questionData:_e}}else if(F.gridId){const pe={...F};delete pe.gridId,delete pe.gridPosition;const ye=X(pe,{}),le=me.reduce((ge,ve,_e)=>ve.id===F.gridId||ve.gridId===F.gridId?_e:ge,W),xe=[...me.slice(0,le+1),ye,...me.slice(le+1)];return{...ne,questionData:xe}}else{const pe=X(F,{}),ye=[...me.slice(0,W+1),pe,...me.slice(W+1)];return{...ne,questionData:ye}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:Y,elementId:G})},[x,g,i]),K=w.useCallback((G,Y)=>{const $=x.find(J=>J.id===Y);if(!$)return;const W=$==null?void 0:$.questionData.findIndex(J=>J.id===G);if(W===-1)return;const F=$==null?void 0:$.questionData[W];let X=null;if(F.type==="grid"){const J=$.questionData.filter(ne=>ne.gridId===F.id);X={type:"FORM_BUILDER_CLIPBOARD",element:F,children:J,timestamp:Date.now()}}else if(F.gridId){const J={...F};delete J.gridId,delete J.gridPosition,X={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else X={type:"FORM_BUILDER_CLIPBOARD",element:F,timestamp:Date.now()};if(X){const J=JSON.stringify(X);try{localStorage.setItem("form_builder_clipboard",J),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(J).catch(()=>{}),Ne.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:Y,elementId:G})}catch(ne){console.warn("Could not copy element to clipboard",ne),Ne.toast.error("Failed to copy element")}}},[x,i]),V=w.useCallback(async(G,Y,$)=>{let W="";if($&&$.includes("FORM_BUILDER_CLIPBOARD")&&(W=$),!W&&navigator.clipboard&&navigator.clipboard.readText)try{const F=await navigator.clipboard.readText();F&&F.includes("FORM_BUILDER_CLIPBOARD")&&(W=F)}catch(F){console.warn("Could not parse clipboard data",F)}if(W||(W=localStorage.getItem("form_builder_clipboard")||""),!W){Ne.toast.error("Nothing to paste. Copy an element first.");return}try{const F=JSON.parse(W);if((F==null?void 0:F.type)!=="FORM_BUILDER_CLIPBOARD"||!(F!=null&&F.element)){Ne.toast.error("Invalid clipboard data.");return}if(F.timestamp&&Date.now()-F.timestamp>6e4){Ne.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const X=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{if(ne.id!==G)return ne;const fe=[...[...ne.questionData]];if(F.element.type==="grid"){const pe=Me.v4(),ye=X(F.element,{id:pe,sectionId:G}),le=(F.children||[]).map(xe=>X(xe,{gridId:pe,sectionId:G}));Y!==void 0?fe.splice(Y,0,ye,...le):fe.push(ye,...le)}else{const pe=X(F.element,{sectionId:G});Y!==void 0?fe.splice(Y,0,pe):fe.push(pe)}return{...ne,questionData:fe}})),Ne.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:G})}catch(F){console.warn("Could not paste element from clipboard",F),Ne.toast.error("Failed to paste element")}},[g,i]),Z=w.useCallback(G=>{const Y=x.find(F=>F.id===G);if(!Y)return;const $={type:"FORM_BUILDER_SECTION_CLIPBOARD",section:{title:Y.title,description:Y.description,disabled:Y.disabled,isDisabled:Y.isDisabled,isHidden:Y.isHidden,questionData:Y.questionData||[]},timestamp:Date.now()},W=JSON.stringify($);try{localStorage.setItem("form_builder_section_clipboard",W),localStorage.setItem("form_builder_clipboard",W),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(W).catch(()=>{}),Ne.toast.success("Section copied to clipboard"),i==null||i("COPY_SECTION",{sectionId:G})}catch(F){console.warn("Could not copy section to clipboard",F),Ne.toast.error("Failed to copy section")}},[x,i]),te=w.useCallback(G=>{const Y=x.findIndex(fe=>fe.id===G);if(Y===-1)return;const $=x[Y],W=(fe,pe={})=>({...JSON.parse(JSON.stringify(fe)),...pe}),F=Me.v4(),X=$.questionData||[],J=new Map,ne=X.map(fe=>{const pe=Me.v4();return J.set(fe.id,pe),W(fe,{id:pe,sectionId:F})});ne.forEach(fe=>{fe.gridId&&J.has(fe.gridId)&&(fe.gridId=J.get(fe.gridId))});const me=W($,{id:F,title:$.title?`${$.title} (Copy)`:"Section (Copy)",questionData:ne});g(fe=>{const pe=[...fe];return pe.splice(Y+1,0,me),pe}),_(F),L(fe=>Array.from(new Set([...fe,Y+1]))),Ne.toast.success("Section duplicated"),i==null||i("DUPLICATE_SECTION",{sectionId:G,newSectionId:F})},[x,i,L,g,_]),se=w.useCallback(async(G,Y)=>{let $="";if(Y&&Y.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&($=Y),!$&&navigator.clipboard&&navigator.clipboard.readText)try{const W=await navigator.clipboard.readText();W&&W.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&($=W)}catch(W){console.warn("Could not read system clipboard",W)}if($||($=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard")||""),!$){Ne.toast.error("Nothing to paste. Copy a section first.");return}try{const W=JSON.parse($);if((W==null?void 0:W.type)!=="FORM_BUILDER_SECTION_CLIPBOARD"||!(W!=null&&W.section)){Ne.toast.error("Invalid section clipboard data.");return}const F=(ye,le={})=>({...JSON.parse(JSON.stringify(ye)),...le}),X=Me.v4(),J=W.section,ne=J.questionData||[],me=new Map,fe=ne.map(ye=>{const le=Me.v4();return me.set(ye.id,le),F(ye,{id:le,sectionId:X})});fe.forEach(ye=>{ye.gridId&&me.has(ye.gridId)&&(ye.gridId=me.get(ye.gridId))});const pe=F(J,{id:X,title:J.title?`${J.title} (Copy)`:"Section (Copy)",questionData:fe});g(ye=>{const le=[...ye];return G!==void 0&&G>=0&&G<=le.length?(le.splice(G,0,pe),le):[...le,pe]}),_(X),L(ye=>{const le=G!==void 0?G:x.length;return Array.from(new Set([...ye,le]))}),Ne.toast.success("Section pasted successfully"),i==null||i("PASTE_SECTION",{sectionId:X})}catch(W){console.error("Failed to paste section",W),Ne.toast.error("Failed to paste section.")}},[x.length,i,L,g,_]),ie=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,questionData:G}:W)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:Y})},[g,i]),U=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,questionData:[...(W==null?void 0:W.questionData)||[],G]}:W)),i==null||i("ADD_ELEMENT",{sectionId:Y,element:G})},[g,i]),ee=w.useCallback((G,Y,$)=>{g(W=>W==null?void 0:W.map(F=>F.id===Y?{...F,questionData:[...((F==null?void 0:F.questionData)||[]).slice(0,$),G,...((F==null?void 0:F.questionData)||[]).slice($)]}:F)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:Y,element:G,index:$})},[g,i]),de=w.useCallback((G,Y,$)=>{g(W=>W==null?void 0:W.map(F=>{var X;return F.id===$?{...F,questionData:(X=F==null?void 0:F.questionData)==null?void 0:X.map(J=>{var ne;return J.type==="grid"&&J.gridData?{...J,gridData:(ne=J.gridData)==null?void 0:ne.map((me,fe)=>fe===G?{...me,...Y}:me).concat(G>=J.gridData.length?{...Y}:[])}:J})}:F})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:$,gridIndex:G,element:Y})},[g,i]),z=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>{var F;return W.id===Y?{...W,questionData:(F=W==null?void 0:W.questionData)==null?void 0:F.map(X=>X.id===G.id?{...X,...G}:X)}:W})),i==null||i("UPDATE_ELEMENT",{sectionId:Y,value:G})},[g,i]),R=w.useCallback(G=>{const{draggedId:Y,sectionId:$,targetIndex:W,targetId:F,targetGridId:X,targetCol:J}=G;g(ne=>{var xe;let me=null,fe=[],pe=null,ye=-1;for(const ge of ne){const ve=(xe=ge.questionData)==null?void 0:xe.findIndex(_e=>_e.id===Y);if(ve!==-1){me=ge.questionData[ve],pe=ge.id,ye=ve,me.type==="grid"&&(fe=ge.questionData.filter(_e=>_e.gridId===me.id));break}}if(!me||X!==void 0&&me.type==="grid")return ne;const le={...me,sectionId:$};return ne.map(ge=>{var _e,Oe;let ve=[...ge.questionData||[]];if(ge.id!==pe&&ge.id!==$)return ge;if(pe===$&&ge.id===$){const He=ye;if(X!==void 0&&J!==void 0){const Ie=ve.findIndex(Te=>{var Be;return Te.id!==Y&&Te.gridId===X&&((Be=Te.gridPosition)==null?void 0:Be.col)===J});let Ce=ve.map(Te=>Te.id===Y?{...le,gridId:X,gridPosition:{col:J}}:Te);return Ie!==-1&&(Ce=Ce.map((Te,Be)=>{if(Be!==Ie)return Te;const cn={...Te};return delete cn.gridId,delete cn.gridPosition,cn})),{...ge,questionData:Ce}}if(le.gridId&&W!==void 0&&X===void 0){const Ie={...le};delete Ie.gridId,delete Ie.gridPosition;const Ce=((Oe=(_e=ne.find(Be=>Be.id===$))==null?void 0:_e.questionData)==null?void 0:Oe.filter(Be=>Be.gridId!==Y))||[],Te=Math.min(W,Ce.length);return Ce.splice(Te,0,Ie),{...ge,questionData:Ce}}if(!le.gridId&&W!==void 0&&X===void 0&&!F){ve.splice(He,1);const Ie=Math.min(W,ve.length);return ve.splice(Ie,0,le),{...ge,questionData:ve}}if(F){const Ie=ve.findIndex(Ce=>Ce.id===F);return Ie===-1?ge:(ve.splice(He,1),ve.splice(Ie,0,le),{...ge,questionData:ve})}return ge}if(ge.id===pe&&ge.id!==$)return ve.splice(ye,1),fe.length>0&&(ve=ve.filter(He=>He.gridId!==me.id)),{...ge,questionData:ve};if(ge.id===$&&ge.id!==pe){const He=fe.map(Ce=>({...Ce,sectionId:$}));if(X!==void 0&&J!==void 0){const Ce=ve.findIndex(Be=>{var cn;return Be.gridId===X&&((cn=Be.gridPosition)==null?void 0:cn.col)===J}),Te={...le,gridId:X,gridPosition:{col:J}};if(Ce!==-1){const Be={...ve[Ce]};delete Be.gridId,delete Be.gridPosition,ve[Ce]=Be,ve.push(Te,...He)}else ve.push(Te,...He);return{...ge,questionData:ve}}if(W!==void 0&&X===void 0&&!F){const Ce={...le};delete Ce.gridId,delete Ce.gridPosition;const Te=Math.min(W,ve.length);return ve.splice(Te,0,Ce,...He),{...ge,questionData:ve}}if(F){const Ce={...le};delete Ce.gridId,delete Ce.gridPosition;const Te=ve.findIndex(Be=>Be.id===F);return Te!==-1?ve.splice(Te,0,Ce,...He):ve.push(Ce,...He),{...ge,questionData:ve}}const Ie={...le};return delete Ie.gridId,delete Ie.gridPosition,ve.push(Ie,...He),{...ge,questionData:ve}}return ge})}),i==null||i("MOVE_ELEMENT",G)},[g,i]),ae=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,...G}:W)),i==null||i("UPDATE_SECTION",{sectionId:Y,value:G})},[g,i]),Q=w.useMemo(()=>({deleteMode:o,formData:x,setFormData:g,handleDragStop:B,removeElement:j,elementData:d,setElementData:u,updateElementPosition:ie,addElement:U,addElementInPosition:ee,updateElement:z,addSection:O,removeSection:D,updateSection:ae,isDragging:C,setIsDragging:k,selectedSection:E,setSelectedSection:_,activeSections:M,setActiveSections:L,updateGridElement:de,answerData:l,setAnswerData:r,uploadUrl:H,setUploadUrl:T,apiActivityCount:P,setApiActivityCount:I,duplicateElement:q,moveElement:R,showPreview:s,setShowPreview:t,undo:S,redo:p,canUndo:A,canRedo:N,copyElement:K,pasteElement:V,copySection:Z,pasteSection:se,duplicateSection:te}),[o,x,B,j,d,ie,U,ee,z,O,D,ae,C,E,M,de,l,H,P,q,R,s,S,p,A,N,K,V,Z,se,te]);return a.jsx(De.Provider,{value:Q,children:e})};function Ts(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=Ts(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function he(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ts(e))&&(o&&(o+=" "),o+=n);return o}function kr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Ps=Object.freeze({left:0,top:0,width:16,height:16}),ci=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),so=Object.freeze({...Ps,...ci}),ao=Object.freeze({...so,body:"",hidden:!1});function Er(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ls(e,n){const i=Er(e,n);for(const o in ao)o in ci?o in e&&!(o in i)&&(i[o]=ci[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Mr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ls(o[r]||s[r],t)}return l(n),i.forEach(l),Ls(e,t)}function Bs(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=kr(e);for(const s in o){const t=o[s];t&&(n(s,Mr(e,s,t)),i.push(s))}return i}const Tr={provider:"",aliases:{},not_found:{},...Ps};function to(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Is(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!to(e,Tr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!to(t,ao))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!to(t,ao))return null}return n}const Ds=Object.create(null);function Pr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function Sn(e,n){const i=Ds[e]||(Ds[e]=Object.create(null));return i[n]||(i[n]=Pr(e,n))}function _s(e,n){return Is(n)?Bs(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Lr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Os=/^[a-z0-9]+(-[a-z0-9]+)*$/,bi=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!mi(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!mi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!mi(r,i)?null:r}return null},mi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Fn=!1;function Hs(e){return typeof e=="boolean"&&(Fn=e),Fn}function Fs(e){const n=typeof e=="string"?bi(e,!0,Fn):e;if(n){const i=Sn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Br(e,n){const i=bi(e,!0,Fn);if(!i)return!1;const o=Sn(i.provider,i.prefix);return n?Lr(o,i.name,n):(o.missing.add(i.name),!0)}function Ir(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Fn&&!n&&!e.prefix){let s=!1;return Is(e)&&(e.prefix="",Bs(e,(t,l)=>{Br(t,l)&&(s=!0)})),s}const i=e.prefix;if(!mi({prefix:i,name:"a"}))return!1;const o=Sn(n,i);return!!_s(o,e)}const Ks=Object.freeze({width:null,height:null}),Gs=Object.freeze({...Ks,...ci}),Dr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,_r=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Vs(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(Dr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=_r.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Or(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Hr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Fr(e,n,i){const o=Or(e);return Hr(o.defs,n+o.content+i)}const Kr=e=>e==="unset"||e==="undefined"||e==="none";function Gr(e,n){const i={...so,...e},o={...Gs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(h=>{const y=[],g=h.hFlip,S=h.vFlip;let p=h.rotate;g?S?p+=2:(y.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),y.push("scale(-1 1)"),s.top=s.left=0):S&&(y.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),y.push("scale(1 -1)"),s.top=s.left=0);let x;switch(p<0&&(p-=Math.floor(p/4)*4),p=p%4,p){case 1:x=s.height/2+s.top,y.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:y.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:x=s.width/2+s.left,y.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}p%2===1&&(s.left!==s.top&&(x=s.left,s.left=s.top,s.top=x),s.width!==s.height&&(x=s.width,s.width=s.height,s.height=x)),y.length&&(t=Fr(t,'<g transform="'+y.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let c,b;l===null?(b=r===null?"1em":r==="auto"?u:r,c=Vs(b,d/u)):(c=l==="auto"?d:l,b=r===null?Vs(c,u/d):r==="auto"?u:r);const m={},f=(h,y)=>{Kr(y)||(m[h]=y.toString())};f("width",c),f("height",b);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Vr=/\sid="(\S+)"/g,zr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let $r=0;function jr(e,n=zr){const i=[];let o;for(;o=Vr.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+($r++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const lo=Object.create(null);function Wr(e,n){lo[e]=n}function ro(e){return lo[e]||lo[""]}function uo(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const co=Object.create(null),Kn=["https://api.simplesvg.com","https://api.unisvg.com"],vi=[];for(;Kn.length>0;)Kn.length===1||Math.random()>.5?vi.push(Kn.shift()):vi.push(Kn.pop());co[""]=uo({resources:["https://api.iconify.design"].concat(vi)});function Ur(e,n){const i=uo(n);return i===null?!1:(co[e]=i,!0)}function bo(e){return co[e]}let zs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function qr(e,n){const i=bo(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Yr(e){return e===404}const Jr=(e,n,i)=>{const o=[],s=qr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Zr(e){if(typeof e=="string"){const n=bo(e);if(n)return n.path}return"/"}const Xr={prepare:Jr,send:(e,n,i)=>{if(!zs){i("abort",424);return}let o=Zr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;zs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Yr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function $s(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Qr(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||$s([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Rr=0;function ed(e,n,i){const o=Rr++,s=$s.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function nd(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=Sn(t,l));let c;r in u.icons?c=n.loaded:l===""||u.missing.has(r)?c=n.missing:c=n.pending;const b={provider:t,prefix:l,name:r};c.push(b)}),n}function id(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?bi(s,n,i):s;t&&o.push(t)}),o}const od={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sd(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let N=e.resources.slice(0);for(l=[];N.length>1;){const C=Math.floor(Math.random()*N.length);l.push(N[C]),N=N.slice(0,C).concat(N.slice(C+1))}l=l.concat(N)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,c,b=null,m=[],f=[];typeof o=="function"&&f.push(o);function v(){b&&(clearTimeout(b),b=null)}function h(){d==="pending"&&(d="aborted"),v(),m.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),m=[]}function y(N,C){C&&(f=[]),typeof N=="function"&&f.push(N)}function g(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:y,abort:h}}function S(){d="failed",f.forEach(N=>{N(void 0,c)})}function p(){m.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),m=[]}function x(N,C,k){const E=C!=="success";switch(m=m.filter(_=>_!==N),d){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){c=k,S();return}if(E){c=k,m.length||(l.length?A():S());return}if(v(),p(),!e.random){const _=e.resources.indexOf(N.resource);_!==-1&&_!==e.index&&(e.index=_)}d="completed",f.forEach(_=>{_(k)})}function A(){if(d!=="pending")return;v();const N=l.shift();if(N===void 0){if(m.length){b=setTimeout(()=>{v(),d==="pending"&&(p(),S())},e.timeout);return}S();return}const C={status:"pending",resource:N,callback:(k,E)=>{x(C,k,E)}};m.push(C),u++,b=setTimeout(A,e.rotate),i(N,n,C.callback)}return setTimeout(A),g}function js(e){const n={...od,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const c=sd(n,r,d,(b,m)=>{o(),u&&u(b,m)});return i.push(c),c}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function Ws(){}const mo=Object.create(null);function ad(e){if(!mo[e]){const n=bo(e);if(!n)return;const i=js(n),o={config:n,redundancy:i};mo[e]=o}return mo[e]}function td(e,n,i){let o,s;if(typeof e=="string"){const t=ro(e);if(!t)return i(void 0,424),Ws;s=t.send;const l=ad(e);l&&(o=l.redundancy)}else{const t=uo(e);if(t){o=js(t);const l=e.resources?e.resources[0]:"",r=ro(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Ws):o.query(n,s,i)().abort}function Us(){}function ld(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Qr(e)}))}function rd(e){const n=[],i=[];return e.forEach(o=>{(o.match(Os)?n:i).push(o)}),{valid:n,invalid:i}}function Gn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!_s(e,i).length){o();return}}catch(s){console.error(s)}o(),ld(e)}function qs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function dd(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){qs(e.loadIcons(s,o,i),c=>{Gn(e,s,c)});return}if(t){s.forEach(c=>{const b=t(c,o,i);qs(b,m=>{const f=m?{prefix:o,icons:{[c]:m}}:null;Gn(e,[c],f)})});return}const{valid:l,invalid:r}=rd(s);if(r.length&&Gn(e,r,null),!l.length)return;const d=o.match(Os)?ro(i):null;if(!d){Gn(e,l,null);return}d.prepare(i,o,l).forEach(c=>{td(i,c,b=>{Gn(e,c.icons,b)})})}))}const ud=(e,n)=>{const i=id(e,!0,Hs()),o=nd(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Us)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:c}=d;if(c===r&&u===l)return;l=u,r=c,t.push(Sn(u,c));const b=s[u]||(s[u]=Object.create(null));b[c]||(b[c]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:c,name:b}=d,m=Sn(u,c),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(b)||(f.add(b),s[u][c].push(b))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&dd(d,u)}),n?ed(n,o,t):Us};function cd(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in Ks?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const bd=/[\s,]+/;function md(e,n){n.split(bd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function vd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function fd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function hd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function pd(e){return"data:image/svg+xml,"+hd(e)}function gd(e){return'url("'+pd(e)+'")'}let Vn;function yd(){try{Vn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Vn=null}}function xd(e){return Vn===void 0&&yd(),Vn?Vn.createHTML(e):e}const Ys={...Gs,inline:!1},Sd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},wd={display:"inline-block"},vo={backgroundColor:"currentColor"},Js={backgroundColor:"transparent"},Zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Xs={WebkitMask:vo,mask:vo,background:Js};for(const e in Xs){const n=Xs[e];for(const i in Zs)n[e+i]=Zs[i]}const Nd={...Ys,inline:!0};function Qs(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Cd=(e,n,i)=>{const o=n.inline?Nd:Ys,s=cd(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?Sd:{}};if(i){const y=bi(i,!1,!0);if(y){const g=["iconify"],S=["provider","prefix"];for(const p of S)y[p]&&g.push("iconify--"+y[p]);d.className=g.join(" ")}}for(let y in n){const g=n[y];if(g!==void 0)switch(y){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=g;break;case"className":d[y]=(d[y]?d[y]+" ":"")+g;break;case"inline":case"hFlip":case"vFlip":s[y]=g===!0||g==="true"||g===1;break;case"flip":typeof g=="string"&&md(s,g);break;case"color":l.color=g;break;case"rotate":typeof g=="string"?s[y]=vd(g):typeof g=="number"&&(s[y]=g);break;case"ariaHidden":case"aria-hidden":g!==!0&&g!=="true"&&delete d["aria-hidden"];break;default:o[y]===void 0&&(d[y]=g)}}const u=Gr(e,s),c=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,c);let y=0,g=n.id;return typeof g=="string"&&(g=g.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:xd(jr(u.body,g?()=>g+"ID"+y++:"iconifyReact"))},w.createElement("svg",d)}const{body:b,width:m,height:f}=e,v=t==="mask"||(t==="bg"?!1:b.indexOf("currentColor")!==-1),h=fd(b,{...c,width:m+"",height:f+""});return d.style={...l,"--svg":gd(h),width:Qs(c.width),height:Qs(c.height),...wd,...v?vo:Js,...r},w.createElement("span",d)};if(Hs(!0),Wr("",Xr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ir(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;Ur(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Rs(e){const[n,i]=w.useState(!!e.ssr),[o,s]=w.useState({});function t(f){if(f){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const h=Fs(v);if(h)return{name:v,data:h}}return{name:""}}const[l,r]=w.useState(t(!!e.ssr));function d(){const f=o.callback;f&&(f(),s({}))}function u(f){if(JSON.stringify(l)!==JSON.stringify(f))return d(),r(f),!0}function c(){var f;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const h=Fs(v);if(u({name:v,data:h}))if(h===void 0){const y=ud([v],c);s({callback:y})}else h&&((f=e.onLoad)===null||f===void 0||f.call(e,v))}w.useEffect(()=>(i(!0),d),[]),w.useEffect(()=>{n&&c()},[e.icon,n]);const{name:b,data:m}=l;return m?Cd({...so,...m},e,b):e.children?e.children:e.fallback?e.fallback:w.createElement("span",{})}const ea=w.forwardRef((e,n)=>Rs({...e,_ref:n}));w.forwardRef((e,n)=>Rs({inline:!0,...e,_ref:n}));function re({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(ea,{icon:e,className:n})})}function fo(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Cs.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Cs.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,c){if(u[c.path]||(u[c.path]={message:c.message,type:c.type}),d){var b=u[c.path].types,m=b&&b[c.type];u[c.path]=Re.appendErrors(c.path,d,u,c.type,m?[].concat(m,c.message):c.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ad=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=he("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,c=he("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),b=he({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:he(c,b),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})},ce=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:c,prefix:b,disabled:m,watch:f,min:v,max:h,description:y,onChange:g,readOnly:S})=>{var x,A,N,C;const p=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(ui,{onValueChange:k=>{d(n,k!=null?k:null),i&&i(n),c&&c(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:b,disabled:m,readOnly:S}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(x=o[n])==null?void 0:x.message})]});if(["checkbox","radio"].includes(t)){const k=f==null?void 0:f(n);let E=!1;return k!=null&&(t==="checkbox"?Array.isArray(k)?E=k.includes(u):typeof k=="boolean"?E=k:E=k==u:E=k==u),a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${y?"items-start":"items-center"}`,children:[a.jsx("input",{...p,type:t,value:u||"",disabled:m,readOnly:S,className:"peer sr-only"}),a.jsx("div",{className:`
1
+ (function(Ee,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(Ee=typeof globalThis!="undefined"?globalThis:Ee||self,a(Ee.FormBuilder={},Ee.jsxRuntime,Ee.React,Ee.uuid,Ee.sonner,Ee.ReactDOM,Ee.reactHookForm,Ee.resolvers,Ee.yup,Ee.CurrencyInput,Ee.react,Ee.axios,Ee.Papa,Ee.XLSX,Ee.DatePicker,Ee.reactRouterDom))})(this,function(Ee,a,N,Me,we,xr,Re,Cs,Sr,ui,fe,qe,wr,Nr,Cr,Ar){"use strict";function As(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const ne=As(Sr),ks=As(Nr),He=N.createContext(void 0),Es={title:"",description:"",id:Me.v4(),questionData:[],disabled:!1,isHidden:!1},Ms=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=N.useState(!1),[l,r]=N.useState({}),[d,u]=N.useState({}),[b,c]=N.useState([Es]),[m,f]=N.useState(()=>{try{const F=sessionStorage.getItem("editor_past");return F?JSON.parse(F):[]}catch(F){return[]}}),[v,p]=N.useState(()=>{try{const F=sessionStorage.getItem("editor_future");return F?JSON.parse(F):[]}catch(F){return[]}});N.useEffect(()=>{n&&n(b)},[b,n]),N.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(F){console.warn("Could not save editor_past to sessionStorage",F)}},[m]),N.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(F){console.warn("Could not save editor_future to sessionStorage",F)}},[v]);const S=N.useRef(Date.now()),g=N.useCallback(F=>{c(Y=>{const z=typeof F=="function"?F(Y):F;if(JSON.stringify(Y)!==JSON.stringify(z)){const W=Date.now();f(q=>{if(q.length>0&&JSON.stringify(q[q.length-1])===JSON.stringify(Y))return q;if(W-S.current<800&&q.length>0)return S.current=W,q;S.current=W;const le=[...q,Y];return le.length>20?le.slice(le.length-20):le}),p([])}return z})},[]),y=N.useCallback(()=>{if(m.length===0)return;const F=m[m.length-1],Y=m.slice(0,m.length-1);f(Y),p([b,...v]),c(F),i==null||i("UNDO",null)},[m,v,b,i]),h=N.useCallback(()=>{if(v.length===0)return;const F=v[0],Y=v.slice(1);p(Y),f([...m,b]),c(F),i==null||i("REDO",null)},[m,v,b,i]),x=b,A=m.length>0,w=v.length>0,[C,k]=N.useState(!1),[E,_]=N.useState(null),[M,L]=N.useState([0]),[H,T]=N.useState(""),[P,I]=N.useState(0),D=N.useCallback(()=>{},[]),O=N.useCallback(()=>{const F=Me.v4();g(Y=>[...Y,{...Es,id:F}]),_(F),L([x.length]),i==null||i("ADD_SECTION",{sectionId:F})},[x,i,g]),B=N.useCallback(F=>{g(o==="isDeleted"||o==="soft"?Y=>Y.map(z=>{var W;return z.id===F?{...z,isDeleted:!0,questionData:(W=z==null?void 0:z.questionData)==null?void 0:W.map(q=>({...q,isDeleted:!0}))}:z}):Y=>Y.filter(z=>z.id!==F)),_(null),i==null||i("REMOVE_SECTION",{sectionId:F})},[o,i,g]),G=N.useCallback((F,Y)=>{const z=x.find(q=>q.id===Y),W=z==null?void 0:z.questionData.find(q=>q.id===F);W&&(g(q=>q==null?void 0:q.map(le=>{var J;return le.id!==Y?le:o==="isDeleted"||o==="soft"?{...le,questionData:(J=le==null?void 0:le.questionData)==null?void 0:J.map(re=>{if(W.type==="grid"){if(re.gridId===W.id||re.id===W.id)return{...re,isDeleted:!0}}else if(re.id===F)return{...re,isDeleted:!0};return re})}:{...le,questionData:le==null?void 0:le.questionData.filter(re=>W.type==="grid"?re.gridId!==W.id&&re.id!==W.id:re.id!==F)}})),i==null||i("REMOVE_ELEMENT",{sectionId:Y,elementId:F}))},[x,o,g,i]),U=N.useCallback((F,Y)=>{const z=x.find(J=>J.id===Y);if(!z)return;const W=z==null?void 0:z.questionData.findIndex(J=>J.id===F);if(W===-1)return;const q=z==null?void 0:z.questionData[W],le=(J,re={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...re});g(J=>J==null?void 0:J.map(re=>{var se;if(re.id!==Y)return re;const oe=[...re.questionData];if(q.type==="grid"){const pe=(se=oe==null?void 0:oe.map((Te,_e)=>({e:Te,i:_e})).filter(({e:Te})=>Te.id===q.id||Te.gridId===q.id))==null?void 0:se.map(({i:Te})=>Te),ye=pe.length?Math.max(...pe)+1:W+1,he=Me.v4(),ke=le(q,{});ke.id=he;const me=oe.filter(Te=>Te.gridId===q.id),de=me==null?void 0:me.map(Te=>le(Te,{gridId:he})),Ie=[...oe.slice(0,ye),ke,...de,...oe.slice(ye)];return{...re,questionData:Ie}}else if(q.gridId){const pe={...q};delete pe.gridId,delete pe.gridPosition;const ye=le(pe,{}),he=oe.reduce((me,de,Ie)=>de.id===q.gridId||de.gridId===q.gridId?Ie:me,W),ke=[...oe.slice(0,he+1),ye,...oe.slice(he+1)];return{...re,questionData:ke}}else{const pe=le(q,{}),ye=[...oe.slice(0,W+1),pe,...oe.slice(W+1)];return{...re,questionData:ye}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:Y,elementId:F})},[x,g,i]),K=N.useCallback((F,Y)=>{const z=x.find(J=>J.id===Y);if(!z)return;const W=z==null?void 0:z.questionData.findIndex(J=>J.id===F);if(W===-1)return;const q=z==null?void 0:z.questionData[W];let le=null;if(q.type==="grid"){const J=z.questionData.filter(re=>re.gridId===q.id);le={type:"FORM_BUILDER_CLIPBOARD",element:q,children:J,timestamp:Date.now()}}else if(q.gridId){const J={...q};delete J.gridId,delete J.gridPosition,le={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else le={type:"FORM_BUILDER_CLIPBOARD",element:q,timestamp:Date.now()};if(le){const J=JSON.stringify(le);try{localStorage.setItem("form_builder_clipboard",J),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(J).catch(()=>{}),we.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:Y,elementId:F})}catch(re){console.warn("Could not copy element to clipboard",re),we.toast.error("Failed to copy element")}}},[x,i]),$=N.useCallback(async(F,Y,z)=>{let W="";if(z&&z.includes("FORM_BUILDER_CLIPBOARD")&&(W=z),!W&&navigator.clipboard&&navigator.clipboard.readText)try{const q=await navigator.clipboard.readText();q&&q.includes("FORM_BUILDER_CLIPBOARD")&&(W=q)}catch(q){console.warn("Could not parse clipboard data",q)}if(W||(W=localStorage.getItem("form_builder_clipboard")||""),!W){we.toast.error("Nothing to paste. Copy an element first.");return}try{const q=JSON.parse(W);if((q==null?void 0:q.type)!=="FORM_BUILDER_CLIPBOARD"||!(q!=null&&q.element)){we.toast.error("Invalid clipboard data.");return}if(q.timestamp&&Date.now()-q.timestamp>6e4){we.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const le=(J,re={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...re});g(J=>J==null?void 0:J.map(re=>{if(re.id!==F)return re;const se=[...[...re.questionData]];if(q.element.type==="grid"){const pe=Me.v4(),ye=le(q.element,{id:pe,sectionId:F}),he=(q.children||[]).map(ke=>le(ke,{gridId:pe,sectionId:F}));Y!==void 0?se.splice(Y,0,ye,...he):se.push(ye,...he)}else{const pe=le(q.element,{sectionId:F});Y!==void 0?se.splice(Y,0,pe):se.push(pe)}return{...re,questionData:se}})),we.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:F})}catch(q){console.warn("Could not paste element from clipboard",q),we.toast.error("Failed to paste element")}},[g,i]),Z=N.useCallback(F=>{const Y=x.find(q=>q.id===F);if(!Y)return;const z={type:"FORM_BUILDER_SECTION_CLIPBOARD",section:{title:Y.title,description:Y.description,disabled:Y.disabled,isDisabled:Y.isDisabled,isHidden:Y.isHidden,questionData:Y.questionData||[]},timestamp:Date.now()},W=JSON.stringify(z);try{localStorage.setItem("form_builder_section_clipboard",W),localStorage.setItem("form_builder_clipboard",W),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(W).catch(()=>{}),we.toast.success("Section copied to clipboard"),i==null||i("COPY_SECTION",{sectionId:F})}catch(q){console.warn("Could not copy section to clipboard",q),we.toast.error("Failed to copy section")}},[x,i]),ie=N.useCallback(F=>{const Y=x.findIndex(se=>se.id===F);if(Y===-1)return;const z=x[Y],W=(se,pe={})=>({...JSON.parse(JSON.stringify(se)),...pe}),q=Me.v4(),le=z.questionData||[],J=new Map,re=le.map(se=>{const pe=Me.v4();return J.set(se.id,pe),W(se,{id:pe,sectionId:q})});re.forEach(se=>{se.gridId&&J.has(se.gridId)&&(se.gridId=J.get(se.gridId))});const oe=W(z,{id:q,title:z.title?`${z.title} (Copy)`:"Section (Copy)",questionData:re});g(se=>{const pe=[...se];return pe.splice(Y+1,0,oe),pe}),_(q),L(se=>Array.from(new Set([...se,Y+1]))),we.toast.success("Section duplicated"),i==null||i("DUPLICATE_SECTION",{sectionId:F,newSectionId:q})},[x,i,L,g,_]),ae=N.useCallback(async(F,Y)=>{let z="";if(Y&&Y.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(z=Y),!z&&navigator.clipboard&&navigator.clipboard.readText)try{const W=await navigator.clipboard.readText();W&&W.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(z=W)}catch(W){console.warn("Could not read system clipboard",W)}if(z||(z=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard")||""),!z){we.toast.error("Nothing to paste. Copy a section first.");return}try{const W=JSON.parse(z);if((W==null?void 0:W.type)!=="FORM_BUILDER_SECTION_CLIPBOARD"||!(W!=null&&W.section)){we.toast.error("Invalid section clipboard data.");return}const q=(ye,he={})=>({...JSON.parse(JSON.stringify(ye)),...he}),le=Me.v4(),J=W.section,re=J.questionData||[],oe=new Map,se=re.map(ye=>{const he=Me.v4();return oe.set(ye.id,he),q(ye,{id:he,sectionId:le})});se.forEach(ye=>{ye.gridId&&oe.has(ye.gridId)&&(ye.gridId=oe.get(ye.gridId))});const pe=q(J,{id:le,title:J.title?`${J.title} (Copy)`:"Section (Copy)",questionData:se});g(ye=>{const he=[...ye];return F!==void 0&&F>=0&&F<=he.length?(he.splice(F,0,pe),he):[...he,pe]}),_(le),L(ye=>{const he=F!==void 0?F:x.length;return Array.from(new Set([...ye,he]))}),we.toast.success("Section pasted successfully"),i==null||i("PASTE_SECTION",{sectionId:le})}catch(W){console.error("Failed to paste section",W),we.toast.error("Failed to paste section.")}},[x.length,i,L,g,_]),ee=N.useCallback((F,Y)=>{g(z=>z==null?void 0:z.map(W=>W.id===Y?{...W,questionData:F}:W)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:Y})},[g,i]),j=N.useCallback((F,Y)=>{g(z=>z==null?void 0:z.map(W=>W.id===Y?{...W,questionData:[...(W==null?void 0:W.questionData)||[],F]}:W)),i==null||i("ADD_ELEMENT",{sectionId:Y,element:F})},[g,i]),R=N.useCallback((F,Y,z)=>{g(W=>W==null?void 0:W.map(q=>q.id===Y?{...q,questionData:[...((q==null?void 0:q.questionData)||[]).slice(0,z),F,...((q==null?void 0:q.questionData)||[]).slice(z)]}:q)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:Y,element:F,index:z})},[g,i]),ce=N.useCallback((F,Y,z)=>{g(W=>W==null?void 0:W.map(q=>{var le;return q.id===z?{...q,questionData:(le=q==null?void 0:q.questionData)==null?void 0:le.map(J=>{var re;return J.type==="grid"&&J.gridData?{...J,gridData:(re=J.gridData)==null?void 0:re.map((oe,se)=>se===F?{...oe,...Y}:oe).concat(F>=J.gridData.length?{...Y}:[])}:J})}:q})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:z,gridIndex:F,element:Y})},[g,i]),V=N.useCallback((F,Y)=>{g(z=>z==null?void 0:z.map(W=>{var q;return W.id===Y?{...W,questionData:(q=W==null?void 0:W.questionData)==null?void 0:q.map(le=>le.id===F.id?{...le,...F}:le)}:W})),i==null||i("UPDATE_ELEMENT",{sectionId:Y,value:F})},[g,i]),Q=N.useCallback(F=>{const{draggedId:Y,sectionId:z,targetIndex:W,targetId:q,targetGridId:le,targetCol:J}=F;g(re=>{var ke;let oe=null,se=[],pe=null,ye=-1;for(const me of re){const de=(ke=me.questionData)==null?void 0:ke.findIndex(Ie=>Ie.id===Y);if(de!==-1){oe=me.questionData[de],pe=me.id,ye=de,oe.type==="grid"&&(se=me.questionData.filter(Ie=>Ie.gridId===oe.id));break}}if(!oe||le!==void 0&&oe.type==="grid")return re;const he={...oe,sectionId:z};return re.map(me=>{var Ie,Te;let de=[...me.questionData||[]];if(me.id!==pe&&me.id!==z)return me;if(pe===z&&me.id===z){const _e=ye;if(le!==void 0&&J!==void 0){const Oe=de.findIndex(Pe=>{var De;return Pe.id!==Y&&Pe.gridId===le&&((De=Pe.gridPosition)==null?void 0:De.col)===J});let Ne=de.map(Pe=>Pe.id===Y?{...he,gridId:le,gridPosition:{col:J}}:Pe);return Oe!==-1&&(Ne=Ne.map((Pe,De)=>{if(De!==Oe)return Pe;const cn={...Pe};return delete cn.gridId,delete cn.gridPosition,cn})),{...me,questionData:Ne}}if(he.gridId&&W!==void 0&&le===void 0){const Oe={...he};delete Oe.gridId,delete Oe.gridPosition;const Ne=((Te=(Ie=re.find(De=>De.id===z))==null?void 0:Ie.questionData)==null?void 0:Te.filter(De=>De.gridId!==Y))||[],Pe=Math.min(W,Ne.length);return Ne.splice(Pe,0,Oe),{...me,questionData:Ne}}if(!he.gridId&&W!==void 0&&le===void 0&&!q){de.splice(_e,1);const Oe=Math.min(W,de.length);return de.splice(Oe,0,he),{...me,questionData:de}}if(q){const Oe=de.findIndex(Ne=>Ne.id===q);return Oe===-1?me:(de.splice(_e,1),de.splice(Oe,0,he),{...me,questionData:de})}return me}if(me.id===pe&&me.id!==z)return de.splice(ye,1),se.length>0&&(de=de.filter(_e=>_e.gridId!==oe.id)),{...me,questionData:de};if(me.id===z&&me.id!==pe){const _e=se.map(Ne=>({...Ne,sectionId:z}));if(le!==void 0&&J!==void 0){const Ne=de.findIndex(De=>{var cn;return De.gridId===le&&((cn=De.gridPosition)==null?void 0:cn.col)===J}),Pe={...he,gridId:le,gridPosition:{col:J}};if(Ne!==-1){const De={...de[Ne]};delete De.gridId,delete De.gridPosition,de[Ne]=De,de.push(Pe,..._e)}else de.push(Pe,..._e);return{...me,questionData:de}}if(W!==void 0&&le===void 0&&!q){const Ne={...he};delete Ne.gridId,delete Ne.gridPosition;const Pe=Math.min(W,de.length);return de.splice(Pe,0,Ne,..._e),{...me,questionData:de}}if(q){const Ne={...he};delete Ne.gridId,delete Ne.gridPosition;const Pe=de.findIndex(De=>De.id===q);return Pe!==-1?de.splice(Pe,0,Ne,..._e):de.push(Ne,..._e),{...me,questionData:de}}const Oe={...he};return delete Oe.gridId,delete Oe.gridPosition,de.push(Oe,..._e),{...me,questionData:de}}return me})}),i==null||i("MOVE_ELEMENT",F)},[g,i]),te=N.useCallback((F,Y)=>{g(z=>z==null?void 0:z.map(W=>W.id===Y?{...W,...F}:W)),i==null||i("UPDATE_SECTION",{sectionId:Y,value:F})},[g,i]),X=N.useMemo(()=>({deleteMode:o,formData:x,setFormData:g,handleDragStop:D,removeElement:G,elementData:d,setElementData:u,updateElementPosition:ee,addElement:j,addElementInPosition:R,updateElement:V,addSection:O,removeSection:B,updateSection:te,isDragging:C,setIsDragging:k,selectedSection:E,setSelectedSection:_,activeSections:M,setActiveSections:L,updateGridElement:ce,answerData:l,setAnswerData:r,uploadUrl:H,setUploadUrl:T,apiActivityCount:P,setApiActivityCount:I,duplicateElement:U,moveElement:Q,showPreview:s,setShowPreview:t,undo:y,redo:h,canUndo:A,canRedo:w,copyElement:K,pasteElement:$,copySection:Z,pasteSection:ae,duplicateSection:ie}),[o,x,D,G,d,ee,j,R,V,O,B,te,C,E,M,ce,l,H,P,U,Q,s,y,h,A,w,K,$,Z,ae,ie]);return a.jsx(He.Provider,{value:X,children:e})};function Ts(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=Ts(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function ge(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ts(e))&&(o&&(o+=" "),o+=n);return o}function kr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Ps=Object.freeze({left:0,top:0,width:16,height:16}),ci=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),so=Object.freeze({...Ps,...ci}),ao=Object.freeze({...so,body:"",hidden:!1});function Er(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ls(e,n){const i=Er(e,n);for(const o in ao)o in ci?o in e&&!(o in i)&&(i[o]=ci[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Mr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ls(o[r]||s[r],t)}return l(n),i.forEach(l),Ls(e,t)}function Bs(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=kr(e);for(const s in o){const t=o[s];t&&(n(s,Mr(e,s,t)),i.push(s))}return i}const Tr={provider:"",aliases:{},not_found:{},...Ps};function to(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Is(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!to(e,Tr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!to(t,ao))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!to(t,ao))return null}return n}const Ds=Object.create(null);function Pr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function Sn(e,n){const i=Ds[e]||(Ds[e]=Object.create(null));return i[n]||(i[n]=Pr(e,n))}function _s(e,n){return Is(n)?Bs(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Lr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Os=/^[a-z0-9]+(-[a-z0-9]+)*$/,bi=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!mi(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!mi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!mi(r,i)?null:r}return null},mi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Fn=!1;function Hs(e){return typeof e=="boolean"&&(Fn=e),Fn}function Fs(e){const n=typeof e=="string"?bi(e,!0,Fn):e;if(n){const i=Sn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Br(e,n){const i=bi(e,!0,Fn);if(!i)return!1;const o=Sn(i.provider,i.prefix);return n?Lr(o,i.name,n):(o.missing.add(i.name),!0)}function Ir(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Fn&&!n&&!e.prefix){let s=!1;return Is(e)&&(e.prefix="",Bs(e,(t,l)=>{Br(t,l)&&(s=!0)})),s}const i=e.prefix;if(!mi({prefix:i,name:"a"}))return!1;const o=Sn(n,i);return!!_s(o,e)}const Ks=Object.freeze({width:null,height:null}),Vs=Object.freeze({...Ks,...ci}),Dr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,_r=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Gs(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(Dr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=_r.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Or(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Hr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Fr(e,n,i){const o=Or(e);return Hr(o.defs,n+o.content+i)}const Kr=e=>e==="unset"||e==="undefined"||e==="none";function Vr(e,n){const i={...so,...e},o={...Vs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(p=>{const S=[],g=p.hFlip,y=p.vFlip;let h=p.rotate;g?y?h+=2:(S.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),S.push("scale(-1 1)"),s.top=s.left=0):y&&(S.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),S.push("scale(1 -1)"),s.top=s.left=0);let x;switch(h<0&&(h-=Math.floor(h/4)*4),h=h%4,h){case 1:x=s.height/2+s.top,S.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:S.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:x=s.width/2+s.left,S.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}h%2===1&&(s.left!==s.top&&(x=s.left,s.left=s.top,s.top=x),s.width!==s.height&&(x=s.width,s.width=s.height,s.height=x)),S.length&&(t=Fr(t,'<g transform="'+S.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let b,c;l===null?(c=r===null?"1em":r==="auto"?u:r,b=Gs(c,d/u)):(b=l==="auto"?d:l,c=r===null?Gs(b,u/d):r==="auto"?u:r);const m={},f=(p,S)=>{Kr(S)||(m[p]=S.toString())};f("width",b),f("height",c);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Gr=/\sid="(\S+)"/g,zr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let $r=0;function Wr(e,n=zr){const i=[];let o;for(;o=Gr.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+($r++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const lo=Object.create(null);function jr(e,n){lo[e]=n}function ro(e){return lo[e]||lo[""]}function uo(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const co=Object.create(null),Kn=["https://api.simplesvg.com","https://api.unisvg.com"],vi=[];for(;Kn.length>0;)Kn.length===1||Math.random()>.5?vi.push(Kn.shift()):vi.push(Kn.pop());co[""]=uo({resources:["https://api.iconify.design"].concat(vi)});function Ur(e,n){const i=uo(n);return i===null?!1:(co[e]=i,!0)}function bo(e){return co[e]}let zs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function qr(e,n){const i=bo(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Yr(e){return e===404}const Jr=(e,n,i)=>{const o=[],s=qr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Zr(e){if(typeof e=="string"){const n=bo(e);if(n)return n.path}return"/"}const Xr={prepare:Jr,send:(e,n,i)=>{if(!zs){i("abort",424);return}let o=Zr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;zs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Yr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function $s(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Qr(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||$s([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Rr=0;function ed(e,n,i){const o=Rr++,s=$s.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function nd(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=Sn(t,l));let b;r in u.icons?b=n.loaded:l===""||u.missing.has(r)?b=n.missing:b=n.pending;const c={provider:t,prefix:l,name:r};b.push(c)}),n}function id(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?bi(s,n,i):s;t&&o.push(t)}),o}const od={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sd(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let w=e.resources.slice(0);for(l=[];w.length>1;){const C=Math.floor(Math.random()*w.length);l.push(w[C]),w=w.slice(0,C).concat(w.slice(C+1))}l=l.concat(w)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,b,c=null,m=[],f=[];typeof o=="function"&&f.push(o);function v(){c&&(clearTimeout(c),c=null)}function p(){d==="pending"&&(d="aborted"),v(),m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function S(w,C){C&&(f=[]),typeof w=="function"&&f.push(w)}function g(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:S,abort:p}}function y(){d="failed",f.forEach(w=>{w(void 0,b)})}function h(){m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function x(w,C,k){const E=C!=="success";switch(m=m.filter(_=>_!==w),d){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){b=k,y();return}if(E){b=k,m.length||(l.length?A():y());return}if(v(),h(),!e.random){const _=e.resources.indexOf(w.resource);_!==-1&&_!==e.index&&(e.index=_)}d="completed",f.forEach(_=>{_(k)})}function A(){if(d!=="pending")return;v();const w=l.shift();if(w===void 0){if(m.length){c=setTimeout(()=>{v(),d==="pending"&&(h(),y())},e.timeout);return}y();return}const C={status:"pending",resource:w,callback:(k,E)=>{x(C,k,E)}};m.push(C),u++,c=setTimeout(A,e.rotate),i(w,n,C.callback)}return setTimeout(A),g}function Ws(e){const n={...od,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const b=sd(n,r,d,(c,m)=>{o(),u&&u(c,m)});return i.push(b),b}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function js(){}const mo=Object.create(null);function ad(e){if(!mo[e]){const n=bo(e);if(!n)return;const i=Ws(n),o={config:n,redundancy:i};mo[e]=o}return mo[e]}function td(e,n,i){let o,s;if(typeof e=="string"){const t=ro(e);if(!t)return i(void 0,424),js;s=t.send;const l=ad(e);l&&(o=l.redundancy)}else{const t=uo(e);if(t){o=Ws(t);const l=e.resources?e.resources[0]:"",r=ro(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),js):o.query(n,s,i)().abort}function Us(){}function ld(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Qr(e)}))}function rd(e){const n=[],i=[];return e.forEach(o=>{(o.match(Os)?n:i).push(o)}),{valid:n,invalid:i}}function Vn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!_s(e,i).length){o();return}}catch(s){console.error(s)}o(),ld(e)}function qs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function dd(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){qs(e.loadIcons(s,o,i),b=>{Vn(e,s,b)});return}if(t){s.forEach(b=>{const c=t(b,o,i);qs(c,m=>{const f=m?{prefix:o,icons:{[b]:m}}:null;Vn(e,[b],f)})});return}const{valid:l,invalid:r}=rd(s);if(r.length&&Vn(e,r,null),!l.length)return;const d=o.match(Os)?ro(i):null;if(!d){Vn(e,l,null);return}d.prepare(i,o,l).forEach(b=>{td(i,b,c=>{Vn(e,b.icons,c)})})}))}const ud=(e,n)=>{const i=id(e,!0,Hs()),o=nd(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Us)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:b}=d;if(b===r&&u===l)return;l=u,r=b,t.push(Sn(u,b));const c=s[u]||(s[u]=Object.create(null));c[b]||(c[b]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:b,name:c}=d,m=Sn(u,b),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(c)||(f.add(c),s[u][b].push(c))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&dd(d,u)}),n?ed(n,o,t):Us};function cd(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in Ks?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const bd=/[\s,]+/;function md(e,n){n.split(bd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function vd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function fd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function hd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function pd(e){return"data:image/svg+xml,"+hd(e)}function gd(e){return'url("'+pd(e)+'")'}let Gn;function yd(){try{Gn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Gn=null}}function xd(e){return Gn===void 0&&yd(),Gn?Gn.createHTML(e):e}const Ys={...Vs,inline:!1},Sd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},wd={display:"inline-block"},vo={backgroundColor:"currentColor"},Js={backgroundColor:"transparent"},Zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Xs={WebkitMask:vo,mask:vo,background:Js};for(const e in Xs){const n=Xs[e];for(const i in Zs)n[e+i]=Zs[i]}const Nd={...Ys,inline:!0};function Qs(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Cd=(e,n,i)=>{const o=n.inline?Nd:Ys,s=cd(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?Sd:{}};if(i){const S=bi(i,!1,!0);if(S){const g=["iconify"],y=["provider","prefix"];for(const h of y)S[h]&&g.push("iconify--"+S[h]);d.className=g.join(" ")}}for(let S in n){const g=n[S];if(g!==void 0)switch(S){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=g;break;case"className":d[S]=(d[S]?d[S]+" ":"")+g;break;case"inline":case"hFlip":case"vFlip":s[S]=g===!0||g==="true"||g===1;break;case"flip":typeof g=="string"&&md(s,g);break;case"color":l.color=g;break;case"rotate":typeof g=="string"?s[S]=vd(g):typeof g=="number"&&(s[S]=g);break;case"ariaHidden":case"aria-hidden":g!==!0&&g!=="true"&&delete d["aria-hidden"];break;default:o[S]===void 0&&(d[S]=g)}}const u=Vr(e,s),b=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,b);let S=0,g=n.id;return typeof g=="string"&&(g=g.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:xd(Wr(u.body,g?()=>g+"ID"+S++:"iconifyReact"))},N.createElement("svg",d)}const{body:c,width:m,height:f}=e,v=t==="mask"||(t==="bg"?!1:c.indexOf("currentColor")!==-1),p=fd(c,{...b,width:m+"",height:f+""});return d.style={...l,"--svg":gd(p),width:Qs(b.width),height:Qs(b.height),...wd,...v?vo:Js,...r},N.createElement("span",d)};if(Hs(!0),jr("",Xr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ir(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;Ur(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Rs(e){const[n,i]=N.useState(!!e.ssr),[o,s]=N.useState({});function t(f){if(f){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const p=Fs(v);if(p)return{name:v,data:p}}return{name:""}}const[l,r]=N.useState(t(!!e.ssr));function d(){const f=o.callback;f&&(f(),s({}))}function u(f){if(JSON.stringify(l)!==JSON.stringify(f))return d(),r(f),!0}function b(){var f;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const p=Fs(v);if(u({name:v,data:p}))if(p===void 0){const S=ud([v],b);s({callback:S})}else p&&((f=e.onLoad)===null||f===void 0||f.call(e,v))}N.useEffect(()=>(i(!0),d),[]),N.useEffect(()=>{n&&b()},[e.icon,n]);const{name:c,data:m}=l;return m?Cd({...so,...m},e,c):e.children?e.children:e.fallback?e.fallback:N.createElement("span",{})}const ea=N.forwardRef((e,n)=>Rs({...e,_ref:n}));N.forwardRef((e,n)=>Rs({inline:!0,...e,_ref:n}));function ue({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(ea,{icon:e,className:n})})}function fo(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Cs.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Cs.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,b){if(u[b.path]||(u[b.path]={message:b.message,type:b.type}),d){var c=u[b.path].types,m=c&&c[b.type];u[b.path]=Re.appendErrors(b.path,d,u,b.type,m?[].concat(m,b.message):b.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ad=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=ge("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,b=ge("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),c=ge({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:ge(b,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})};function kd({className:e}){return a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",className:e,children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m4 12l6 6L20 6"})]})}const ve=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:b,prefix:c,disabled:m,watch:f,min:v,max:p,description:S,onChange:g,readOnly:y})=>{var x,A,w,C;const h=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(ui,{onValueChange:k=>{d(n,k!=null?k:null),i&&i(n),b&&b(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:c,disabled:m,readOnly:y}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(x=o[n])==null?void 0:x.message})]});if(["checkbox","radio"].includes(t)){const k=f==null?void 0:f(n);let E=!1;if(k!=null)if(t==="checkbox"){let _=k;if(typeof k=="string"&&k.trim().startsWith("["))try{_=JSON.parse(k)}catch(M){}Array.isArray(_)?E=_.includes(u):typeof _=="boolean"?E=_:E=_==u}else E=k==u;return a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${S?"items-start":"items-center"}`,children:[a.jsx("input",{...h,type:t,value:u||"",disabled:m,readOnly:y,className:"peer sr-only"}),a.jsx("div",{className:`
2
2
  w-[18px] h-[18px] flex items-center justify-center
3
3
  border rounded-md transition-all duration-200
4
4
  ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}
@@ -6,24 +6,24 @@
6
6
  peer-checked:border-[#7F56D9]
7
7
  peer-disabled:opacity-60
8
8
  peer-disabled:cursor-not-allowed
9
- `,children:E&&a.jsx(re,{icon:"bi:check-lg",iconClass:"w-4 h-4 text-white"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),y&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:y})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(A=o[n])==null?void 0:A.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...p,onChange:k=>{var E;(E=p.onChange)==null||E.call(p,k),g==null||g(k)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:S,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(N=o[n])==null?void 0:N.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...p,onChange:k=>{var E;(E=p.onChange)==null||E.call(p,k),g==null||g(k)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:S,min:v,max:h,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},fi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),kd={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},Ye=(e,n=e)=>({label:e,value:n,id:Me.v4()}),we=e=>({...kd,...e}),Ed=fi==null?void 0:fi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Md=[we({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),we({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),we({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),we({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Ye("Placeholder 1","placeholder_1")]}),we({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[Ye("Placeholder 1","placeholder_1")]}),we({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),we({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),we({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),we({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),we({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),we({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),we({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),we({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[Ye("Checkbox Option","option")]}),we({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),we({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Ye("Radio Option","")]}),we({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),we({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),we({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Ed,showState:!1}),we({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),we({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Me.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),we({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),we({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),we({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),we({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),we({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),we({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),we({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),we({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")]}),we({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[Ye("Image 1","image_1"),Ye("Image 2","image_2")]})],Td=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Pd=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice"],layoutAndInfo:["basicText","divider"]}),Ld=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Bd=["amount"],Id=["text","number"],Dd=["text","number","amount","date","time","password"],_d=["amount"],hi=["grid","section","divider","spacer","basicText"],Od=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Hd=["dataLookup"],Fd=["tableInput"],ho=["basicText"],Kd=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Gd=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],an=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:c,subText:b,labelClass:m="text-[10px]",loading:f,disabled:v})=>{const[h,y]=w.useState(u?[]:null),g=w.useRef(!1),S=w.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(N=>r.some(C=>{var k;return typeof N.value=="object"?((k=N.value)==null?void 0:k.id)===(C==null?void 0:C.id):N.value===C})):[]:e.find(N=>{var C;return typeof N.value=="string"&&typeof r=="string"?N.value.toLowerCase()===r.toLowerCase():typeof N.value=="object"&&typeof r=="object"?((C=N.value)==null?void 0:C.id)===(r==null?void 0:r.id):N.value===r})||null,[r,e,u]),p=w.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(S==null?void 0:S.length)<r.length:S===null,[r,e,S,u]);w.useEffect(()=>{if(g.current){g.current=!1;return}if(u&&Array.isArray(S)&&Array.isArray(h)){const N=h==null?void 0:h.map(k=>k.value),C=S==null?void 0:S.map(k=>k.value);JSON.stringify(N)!==JSON.stringify(C)&&y(S)}else(S==null?void 0:S.value)!==(h==null?void 0:h.value)&&y(S)},[S,u]);const x=w.useCallback(N=>{var C;if(g.current=!0,y(N),s){const k=u?Array.isArray(N)?N==null?void 0:N.map(E=>E.value):[]:(C=N==null?void 0:N.value)!=null?C:null;s(t,k),d==null||d(t)}o&&!g.current&&o(t)},[s,t,d,o,u]),A=w.useMemo(()=>f?"Fetching data...":h?u&&Array.isArray(h)?h.length>0?h==null?void 0:h.map(N=>N.label).join(", "):n:(h==null?void 0:h.label)||n:n,[h,f,n,u]);return a.jsxs("div",{className:"relative",children:[!c&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),c&&l&&a.jsx("label",{className:he("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(be.Listbox,{value:h,onChange:x,multiple:u,disabled:v||f,children:a.jsxs("div",{className:"relative",children:[a.jsxs(be.Listbox.Button,{className:"field-control",disabled:v||f,children:[a.jsx("span",{className:he("block text-sm text-left truncate",{"opacity-60":!h||f}),children:A}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(re,{icon:"lucide:chevron-down"})})]}),a.jsx(be.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((N,C)=>{var k;return a.jsx(be.Listbox.Option,{value:N,className:({active:E})=>he("select-option",{active:E}),children:({selected:E})=>a.jsx("div",{className:he("option-text",{selected:E}),children:N.label})},`${((k=N.value)==null?void 0:k.id)||N.value}-${C}`)})})})]})}),!i&&b&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:b}),p&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Vd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=w.useState((e==null?void 0:e.length)>0?e:[{value:""}]);w.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const c=[...o];c[u]={...c[u],value:d},s(c),n&&n(c)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((c,b)=>b!==d);s(u),n&&n(u)}return w.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:c=>t(c,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const zd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),Pe=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},na=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},$d=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
9
+ `,children:E&&a.jsx(kd,{className:"text-white z-10"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),S&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:S})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(A=o[n])==null?void 0:A.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...h,onChange:k=>{var E;(E=h.onChange)==null||E.call(h,k),g==null||g(k)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:y,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(w=o[n])==null?void 0:w.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...h,onChange:k=>{var E;(E=h.onChange)==null||E.call(h,k),g==null||g(k)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:y,min:v,max:p,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},fi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),Ed={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},Ye=(e,n=e)=>({label:e,value:n,id:Me.v4()}),Se=e=>({...Ed,...e}),Md=fi==null?void 0:fi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Td=[Se({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),Se({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),Se({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),Se({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Ye("Placeholder 1","placeholder_1")]}),Se({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[Ye("Placeholder 1","placeholder_1")]}),Se({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),Se({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),Se({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),Se({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),Se({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),Se({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),Se({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),Se({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[Ye("Checkbox Option","option")]}),Se({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),Se({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Ye("Radio Option","")]}),Se({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),Se({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),Se({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Md,showState:!1}),Se({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),Se({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Me.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),Se({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),Se({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),Se({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),Se({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),Se({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),Se({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),Se({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),Se({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")]}),Se({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[Ye("Image 1","image_1"),Ye("Image 2","image_2")]})],Pd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Ld=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice"],layoutAndInfo:["basicText","divider"]}),Bd=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Id=["amount"],Dd=["text","number"],_d=["text","number","amount","date","time","password"],Od=["amount"],hi=["grid","section","divider","spacer","basicText"],Hd=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Fd=["dataLookup"],Kd=["tableInput"],ho=["basicText"],Vd=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Gd=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],an=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:b,subText:c,labelClass:m="text-[10px]",loading:f,disabled:v})=>{const[p,S]=N.useState(u?[]:null),g=N.useRef(!1),y=N.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(C=>{var k;return typeof w.value=="object"?((k=w.value)==null?void 0:k.id)===(C==null?void 0:C.id):w.value===C})):[]:e.find(w=>{var C;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((C=w.value)==null?void 0:C.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]),h=N.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(y==null?void 0:y.length)<r.length:y===null,[r,e,y,u]);N.useEffect(()=>{if(g.current){g.current=!1;return}if(u&&Array.isArray(y)&&Array.isArray(p)){const w=p==null?void 0:p.map(k=>k.value),C=y==null?void 0:y.map(k=>k.value);JSON.stringify(w)!==JSON.stringify(C)&&S(y)}else(y==null?void 0:y.value)!==(p==null?void 0:p.value)&&S(y)},[y,u]);const x=N.useCallback(w=>{var C;if(g.current=!0,S(w),s){const k=u?Array.isArray(w)?w==null?void 0:w.map(E=>E.value):[]:(C=w==null?void 0:w.value)!=null?C:null;s(t,k),d==null||d(t)}o&&!g.current&&o(t)},[s,t,d,o,u]),A=N.useMemo(()=>f?"Fetching data...":p?u&&Array.isArray(p)?p.length>0?p==null?void 0:p.map(w=>w.label).join(", "):n:(p==null?void 0:p.label)||n:n,[p,f,n,u]);return a.jsxs("div",{className:"relative",children:[!b&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),b&&l&&a.jsx("label",{className:ge("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(fe.Listbox,{value:p,onChange:x,multiple:u,disabled:v||f,children:a.jsxs("div",{className:"relative",children:[a.jsxs(fe.Listbox.Button,{className:"field-control",disabled:v||f,children:[a.jsx("span",{className:ge("block text-sm text-left truncate",{"opacity-60":!p||f}),children:A}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(ue,{icon:"lucide:chevron-down"})})]}),a.jsx(fe.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(fe.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,C)=>{var k;return a.jsx(fe.Listbox.Option,{value:w,className:({active:E})=>ge("select-option",{active:E}),children:({selected:E})=>a.jsx("div",{className:ge("option-text",{selected:E}),children:w.label})},`${((k=w.value)==null?void 0:k.id)||w.value}-${C}`)})})})]})}),!i&&c&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),h&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function zd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=N.useState((e==null?void 0:e.length)>0?e:[{value:""}]);N.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const b=[...o];b[u]={...b[u],value:d},s(b),n&&n(b)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((b,c)=>c!==d);s(u),n&&n(u)}return N.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:b=>t(b,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const $d=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),Le=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},na=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},Wd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
10
10
  "data": [
11
11
  { "label": "Option 1", "value": "1" },
12
12
  { "label": "Option 2", "value": "2" }
13
13
  ]
14
- }`})})]})]})}),ia=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),po=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:ia((i=n.label)!=null?i:"")}}),go=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:ia((i=n.headerName)!=null?i:"")}}),oa=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=w.useState(""),l=Pe("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const c=new FileReader;u.name.endsWith(".csv")?(c.onload=b=>{const m=b.target.result,f=wr.parse(m,{header:!0});e(n,(o==="dataGrid"?go:po)(f.data))},c.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(c.onload=b=>{const m=new Uint8Array(b.target.result),f=ks.read(m,{type:"array"}),v=f.SheetNames[0],h=f.Sheets[v],y=ks.utils.sheet_to_json(h);e(n,(o==="dataGrid"?go:po)(y))},c.readAsArrayBuffer(u)):Ne.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},jd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
14
+ }`})})]})]})}),ia=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),po=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:ia((i=n.label)!=null?i:"")}}),go=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:ia((i=n.headerName)!=null?i:"")}}),oa=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=N.useState(""),l=Le("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const b=new FileReader;u.name.endsWith(".csv")?(b.onload=c=>{const m=c.target.result,f=wr.parse(m,{header:!0});e(n,(o==="dataGrid"?go:po)(f.data))},b.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(b.onload=c=>{const m=new Uint8Array(c.target.result),f=ks.read(m,{type:"array"}),v=f.SheetNames[0],p=f.Sheets[v],S=ks.utils.sheet_to_json(p);e(n,(o==="dataGrid"?go:po)(S))},b.readAsArrayBuffer(u)):we.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},jd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
15
15
  "data": [
16
16
  { "field": "Name", "headerName": "name", editable:true },
17
17
  ]
18
- }`})})]})]})}),Wd=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
18
+ }`})})]})]})}),Ud=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
19
19
  "data": [
20
20
  { "name": "Document Name", "id": "documentMainId", ...restObject },
21
21
  ]
22
- }`})})]})})}),Ud=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function qd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const yo=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const h=new Date(v);return isNaN(h.getTime())?null:h},c=u(e),[b,m]=w.useState(c);w.useEffect(()=>{const v=u(e);(v&&b&&v.getTime()!==b.getTime()||!v&&b||v&&!b)&&m(v)},[e]),w.useEffect(()=>{n&&n(s,b)},[b,n,s]);const f=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(Cr,{showIcon:!0,icon:a.jsx(qd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:b,onChange:f,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function sa(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isDeleted)))!=null?o:[]}function xo({element:e,validationData:n,placeholder:i}){var N;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,c]=w.useState(""),[b,m]=w.useState([]),[f,v]=w.useState(!1),h=d?e.apiUrl:void 0;w.useEffect(()=>{if(!h)return;const C=new AbortController,k=setTimeout(()=>{(async()=>{var _,M;v(!0);try{const L=Pe("token"),H={...L?{headers:{Authorization:`Bearer ${L}`}}:{},signal:C.signal,params:u?{search:u}:{}};let P=(await qe.get(h,H)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(_=P.data)!=null&&_.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(M=P.data)!=null&&M.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const I=P.map(B=>typeof B=="string"?{label:B,value:B}:{label:B.label||B.name||String(B.id||B.value),value:String(B.value||B.id||B.name)});m(I)}}catch(L){qe.isCancel(L)||console.error("Failed to fetch options",L)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(k),C.abort()}},[h,u]);const y=h?b:(N=e==null?void 0:e.options)!=null?N:[],g=C=>C.map(k=>typeof k=="object"&&k!==null&&"value"in k?k:y.find(_=>String(_.value)===String(k))||{label:String(k),value:k}),[S,p]=w.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?g(C):[]});w.useEffect(()=>{o(e.id)},[e.id,o]),w.useEffect(()=>{if(!l)return;const C=l(k=>{const E=k[e.id];E!==void 0&&p(Array.isArray(E)?g(E):[])});return()=>{var k;return(k=C.unsubscribe)==null?void 0:k.call(C)}},[l,e.id,y]);const x=w.useMemo(()=>{if(u==="")return y;const C=u.toLowerCase();return y.filter(k=>k.label.toLowerCase().includes(C))},[u,y]),A=(C,k)=>{k.stopPropagation();const E=S.filter(_=>_.value!==C.value);p(E),s==null||s(e.id,E.map(_=>_.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(be.Combobox,{value:S||[],onChange:C=>{p(C),s==null||s(e.id,C.map(k=>k.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(be.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[S.map((C,k)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:E=>A(C,E),className:"custom-select__chip-remove",children:a.jsx(re,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},k)),!t&&a.jsx(be.Combobox.Input,{className:"multiselect-search",onChange:C=>c(C.target.value),onFocus:()=>c(""),displayValue:()=>"",placeholder:S.length===0?i!=null?i:"Select options...":"Search..."}),t&&S.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(be.Combobox.Button,{className:"select-icon",children:f?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(re,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(be.Transition,{as:w.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>c(""),children:a.jsx(be.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:f&&b.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):x.map((C,k)=>a.jsx(be.Combobox.Option,{value:C,className:({active:E})=>`select-option ${E?"active":""}`,children:({selected:E})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${E?"selected":""}`,children:C.label}),E?a.jsx("span",{className:"text-blue-600",children:a.jsx(re,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},k))})})]})})})}const So=["text","number","boolean"],aa=["equals","not_equals","contains","not_contains"],Yd=["greater","less"];function Jd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=w.useContext(De),l=o("visibilityDependentFields")||[],r=w.useMemo(()=>{var u;return(u=sa(t).filter(c=>c.id!==s))==null?void 0:u.map(c=>{const b=l.find(m=>m.id===c.id);return{id:c.id,value:c.id,label:c.inputLabel,sectionId:c.sectionId,fieldType:(b==null?void 0:b.fieldType)||"text",operator:(b==null?void 0:b.operator)||"equals",fieldValue:(b==null?void 0:b.fieldValue)!==void 0?b.fieldValue:""}})},[t,l,s]),d=(u,c,b)=>{const m=l==null?void 0:l.map((f,v)=>v===u?{...f,[c]:b}:f);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(xo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,c)=>{var v,h,y,g;const b=sa(t).find(S=>S.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(b==null?void 0:b.type),f=(b==null?void 0:b.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:u.fieldType,onChange:S=>d(c,"fieldType",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:So==null?void 0:So.map(S=>a.jsx(be.Listbox.Option,{value:S,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S},S))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:u.operator,onChange:S=>d(c,"operator",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...aa,...Yd]:aa)==null?void 0:v.map(S=>a.jsx(be.Listbox.Option,{value:S,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S.replace("_"," ")},S))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&f.length>0?a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:(h=u.fieldValue)!=null?h:"",onChange:S=>d(c,"fieldValue",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((y=f.find(S=>S.value===u.fieldValue))==null?void 0:y.label)||"Select value"}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:f.map((S,p)=>a.jsx(be.Listbox.Option,{value:S.value,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S.label},p))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:S=>d(c,"fieldValue",S.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:(g=u.fieldValue)!=null?g:"",onChange:S=>d(c,"fieldValue",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(be.Listbox.Option,{value:!0,className:({active:S})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${S?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(be.Listbox.Option,{value:!1,className:({active:S})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${S?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function ta(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function Zd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function Xd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=w.useState(()=>ta(e)),[l,r]=w.useState(null),[d,u]=w.useState(!1),[c,b]=w.useState(""),[m,f]=w.useState(null),v=w.useRef(null),h=w.useRef(null),y=w.useRef(new Map);w.useEffect(()=>{const E=ta(e);t(E)},[]);const g=w.useCallback(E=>{n(Zd(E))},[n]),S=(E,_)=>{const M=[...s];M[E]={type:"operator",value:_},t(M),g(M)},p=E=>{const _=s.filter((M,L)=>L!==E);t(_),g(_)},x=E=>{f(E),b(""),u(!0)},A=(E,_)=>{const M=_!==void 0?_:m!=null?m:s.length,L=[...s],H=L.slice(0,M),T=L.slice(M),P=[...H,{type:"field",id:E.id,display:E.display},...T],I=N(P);t(I),g(I),u(!1),f(null)};function N(E){const _=[];if(E.length===0)return[{type:"operator",value:""}];E[0].type==="field"&&_.push({type:"operator",value:""});for(let M=0;M<E.length;M++)_.push(E[M]),E[M].type==="field"&&(M+1>=E.length||E[M+1].type==="field")&&_.push({type:"operator",value:""});return _}const C=i.filter(E=>E.display.toLowerCase().includes(c.toLowerCase())),k=s.every(E=>E.type==="operator"&&E.value.trim()==="");return a.jsxs("div",{className:"relative",ref:h,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var _;const E=[...s].reverse().findIndex(M=>M.type==="operator");if(E!==-1){const M=s.length-1-E;(_=y.current.get(M))==null||_.focus()}},children:[k&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((E,_)=>E.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[E.display,a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),p(_)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${E.display}`,children:"×"})]},_):a.jsx("input",{ref:M=>{M?y.current.set(_,M):y.current.delete(_)},type:"text",value:E.value,onChange:M=>S(_,M.target.value),onFocus:()=>r(_),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(E.value.length*9+8,l===_?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${_}`},_)),a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),x(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!k&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(E=>E.type==="field"?`[${E.display}]`:E.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:c,onChange:E=>b(E.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:E=>{E.key==="Escape"&&u(!1),E.key==="Enter"&&C.length>0&&A(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(E=>a.jsxs("div",{onMouseDown:_=>{_.preventDefault(),A(E)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:E.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[E.id.slice(0,8),"..."]})]},E.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(E=>a.jsxs("button",{type:"button",onMouseDown:_=>{_.preventDefault(),A(E,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",E.display]},E.id))})]})}const Qd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],Rd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Qd.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},eu={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function la({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=w.useState(!1),[t,l]=w.useState("unknown"),[r,d]=w.useState(null);w.useEffect(()=>{e&&l(Rd(e))},[e]),w.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),v=new ArrayBuffer(f.length),h=new Uint8Array(v);for(let S=0;S<f.length;S++)h[S]=f.charCodeAt(S);const y=new Blob([v],{type:"application/pdf"}),g=URL.createObjectURL(y);return d(g),()=>URL.revokeObjectURL(g)}catch(f){console.error("Error creating blob URL:",f)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},c=()=>s(!1),b=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,v="download"){if(!f)return;if(f.startsWith("data:")){const y=document.createElement("a");y.href=f,y.download=v,document.body.appendChild(y),y.click(),document.body.removeChild(y);return}const h=document.createElement("a");h.href=f,h.setAttribute("download",v),document.body.appendChild(h),h.click(),document.body.removeChild(h)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${b}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center ",children:a.jsx(re,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx(re,{icon:eu[t],iconClass:"text-4xl"}),a.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:b})]}),a.jsxs("div",{className:"flex gap-x-1 items-center",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${b}`,children:a.jsx(re,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(re,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:c,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:f=>f.stopPropagation(),children:[a.jsx("button",{onClick:c,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:b,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:b,className:"w-full h-[80vh] rounded border"}):null]})})]})}function ra({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=w.useContext(De),u=w.useRef(null),[c,b]=w.useState(s),[m,f]=w.useState(!1);w.useEffect(()=>{b(s)},[s]);const v=w.useMemo(()=>t==null?void 0:t.map(N=>N.value).join(", "),[t]),h=w.useMemo(()=>t==null?void 0:t.map(N=>N.label).join(", "),[t]),y=w.useCallback(async N=>{var E,_;const C=Pe("token"),k=((E=Pe("orgData"))==null?void 0:E.id)||Pe("organizationId");try{const{data:M}=await qe.post(r,{...N,service:"FORM",organizationId:k||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(_=M==null?void 0:M.data)==null?void 0:_.url}catch(M){throw console.error("File upload error:",M),M}},[r]),g=w.useCallback(N=>new Promise((C,k)=>{const E=new FileReader;E.onloadend=async()=>{try{const _=E.result.replace(/^data:.*;base64,/,""),M=r?await y({base64:_,ext:`.${N.name.split(".").pop()}`,fileName:N.name}):E.result;C({base64:M,type:N.type,name:N.name})}catch(_){k(_)}},E.onerror=()=>k(new Error("File read failed")),E.readAsDataURL(N)}),[r,y]),S=w.useCallback(N=>{var E;const C=v?(E=v.split(","))==null?void 0:E.map(_=>_.trim()):[],k=l*1024*1024;for(const _ of N){if(_.size>k)return Ne.toast.error(`File "${_.name}" exceeds ${l}MB limit (${(_.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(M=>{if(M.endsWith("/*")){const L=M.split("/")[0];return _.type.startsWith(`${L}/`)}return _.type===M||_.name.toLowerCase().endsWith(M.replace("*",""))}))return Ne.toast.error(`File "${_.name}" is not an allowed type. Allowed: ${h||"any"}`),!1}return!0},[v,h,l]),p=w.useCallback(async N=>{const C=Array.from(N.target.files||[]);if(!(!C.length||m)){if(!S(C)){u.current&&(u.current.value="");return}try{f(!0),d==null||d(_=>_+1);const k=await Promise.all(C==null?void 0:C.map(g)),E=o&&c?[...c,...k]:k;b(E),e(E),Ne.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(k){console.error("Upload error:",k)}finally{f(!1),d==null||d(k=>Math.max(0,k-1)),u.current&&(u.current.value="")}}},[m,S,g,e,o,c,d]),x=w.useCallback(N=>{m||(u.current&&(u.current.value=""),b(C=>{const k=N===void 0?null:(C==null?void 0:C.filter((E,_)=>_!==N))||null;return e(k),k}),i==null||i())},[i,e,m]),A=c&&c.length>0;return a.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&!(A&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:p,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
22
+ }`})})]})})}),qd=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function Yd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const yo=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const p=new Date(v);return isNaN(p.getTime())?null:p},b=u(e),[c,m]=N.useState(b);N.useEffect(()=>{const v=u(e);(v&&c&&v.getTime()!==c.getTime()||!v&&c||v&&!c)&&m(v)},[e]),N.useEffect(()=>{n&&n(s,c)},[c,n,s]);const f=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(Cr,{showIcon:!0,icon:a.jsx(Yd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:c,onChange:f,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function sa(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isDeleted)))!=null?o:[]}function xo({element:e,validationData:n,placeholder:i}){var w;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,b]=N.useState(""),[c,m]=N.useState([]),[f,v]=N.useState(!1),p=d?e.apiUrl:void 0;N.useEffect(()=>{if(!p)return;const C=new AbortController,k=setTimeout(()=>{(async()=>{var _,M;v(!0);try{const L=Le("token"),H={...L?{headers:{Authorization:`Bearer ${L}`}}:{},signal:C.signal,params:u?{search:u}:{}};let P=(await qe.get(p,H)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(_=P.data)!=null&&_.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(M=P.data)!=null&&M.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const I=P.map(D=>typeof D=="string"?{label:D,value:D}:{label:D.label||D.name||String(D.id||D.value),value:String(D.value||D.id||D.name)});m(I)}}catch(L){qe.isCancel(L)||console.error("Failed to fetch options",L)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(k),C.abort()}},[p,u]);const S=p?c:(w=e==null?void 0:e.options)!=null?w:[],g=C=>C.map(k=>typeof k=="object"&&k!==null&&"value"in k?k:S.find(_=>String(_.value)===String(k))||{label:String(k),value:k}),[y,h]=N.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?g(C):[]});N.useEffect(()=>{o(e.id)},[e.id,o]),N.useEffect(()=>{if(!l)return;const C=l(k=>{const E=k[e.id];E!==void 0&&h(Array.isArray(E)?g(E):[])});return()=>{var k;return(k=C.unsubscribe)==null?void 0:k.call(C)}},[l,e.id,S]);const x=N.useMemo(()=>{if(u==="")return S;const C=u.toLowerCase();return S.filter(k=>k.label.toLowerCase().includes(C))},[u,S]),A=(C,k)=>{k.stopPropagation();const E=y.filter(_=>_.value!==C.value);h(E),s==null||s(e.id,E.map(_=>_.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(fe.Combobox,{value:y||[],onChange:C=>{h(C),s==null||s(e.id,C.map(k=>k.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(fe.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[y.map((C,k)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:E=>A(C,E),className:"custom-select__chip-remove",children:a.jsx(ue,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},k)),!t&&a.jsx(fe.Combobox.Input,{className:"multiselect-search",onChange:C=>b(C.target.value),onFocus:()=>b(""),displayValue:()=>"",placeholder:y.length===0?i!=null?i:"Select options...":"Search..."}),t&&y.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(fe.Combobox.Button,{className:"select-icon",children:f?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(ue,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(fe.Transition,{as:N.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>b(""),children:a.jsx(fe.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:f&&c.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):x.map((C,k)=>a.jsx(fe.Combobox.Option,{value:C,className:({active:E})=>`select-option ${E?"active":""}`,children:({selected:E})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${E?"selected":""}`,children:C.label}),E?a.jsx("span",{className:"text-blue-600",children:a.jsx(ue,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},k))})})]})})})}const So=["text","number","boolean"],aa=["equals","not_equals","contains","not_contains"],Jd=["greater","less"];function Zd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=N.useContext(He),l=o("visibilityDependentFields")||[],r=N.useMemo(()=>{var u;return(u=sa(t).filter(b=>b.id!==s))==null?void 0:u.map(b=>{const c=l.find(m=>m.id===b.id);return{id:b.id,value:b.id,label:b.inputLabel,sectionId:b.sectionId,fieldType:(c==null?void 0:c.fieldType)||"text",operator:(c==null?void 0:c.operator)||"equals",fieldValue:(c==null?void 0:c.fieldValue)!==void 0?c.fieldValue:""}})},[t,l,s]),d=(u,b,c)=>{const m=l==null?void 0:l.map((f,v)=>v===u?{...f,[b]:c}:f);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(xo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,b)=>{var v,p,S,g;const c=sa(t).find(y=>y.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(c==null?void 0:c.type),f=(c==null?void 0:c.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(fe.Listbox,{value:u.fieldType,onChange:y=>d(b,"fieldType",y),children:[a.jsxs(fe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(ue,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(fe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(fe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:So==null?void 0:So.map(y=>a.jsx(fe.Listbox.Option,{value:y,className:({active:h})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${h?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y},y))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(fe.Listbox,{value:u.operator,onChange:y=>d(b,"operator",y),children:[a.jsxs(fe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(ue,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(fe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(fe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...aa,...Jd]:aa)==null?void 0:v.map(y=>a.jsx(fe.Listbox.Option,{value:y,className:({active:h})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${h?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y.replace("_"," ")},y))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&f.length>0?a.jsx("div",{className:"relative",children:a.jsxs(fe.Listbox,{value:(p=u.fieldValue)!=null?p:"",onChange:y=>d(b,"fieldValue",y),children:[a.jsxs(fe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((S=f.find(y=>y.value===u.fieldValue))==null?void 0:S.label)||"Select value"}),a.jsx(ue,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(fe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(fe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:f.map((y,h)=>a.jsx(fe.Listbox.Option,{value:y.value,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y.label},h))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:y=>d(b,"fieldValue",y.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(fe.Listbox,{value:(g=u.fieldValue)!=null?g:"",onChange:y=>d(b,"fieldValue",y),children:[a.jsxs(fe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(ue,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(fe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(fe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(fe.Listbox.Option,{value:!0,className:({active:y})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${y?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(fe.Listbox.Option,{value:!1,className:({active:y})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${y?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function ta(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function Xd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function Qd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=N.useState(()=>ta(e)),[l,r]=N.useState(null),[d,u]=N.useState(!1),[b,c]=N.useState(""),[m,f]=N.useState(null),v=N.useRef(null),p=N.useRef(null),S=N.useRef(new Map);N.useEffect(()=>{const E=ta(e);t(E)},[]);const g=N.useCallback(E=>{n(Xd(E))},[n]),y=(E,_)=>{const M=[...s];M[E]={type:"operator",value:_},t(M),g(M)},h=E=>{const _=s.filter((M,L)=>L!==E);t(_),g(_)},x=E=>{f(E),c(""),u(!0)},A=(E,_)=>{const M=_!==void 0?_:m!=null?m:s.length,L=[...s],H=L.slice(0,M),T=L.slice(M),P=[...H,{type:"field",id:E.id,display:E.display},...T],I=w(P);t(I),g(I),u(!1),f(null)};function w(E){const _=[];if(E.length===0)return[{type:"operator",value:""}];E[0].type==="field"&&_.push({type:"operator",value:""});for(let M=0;M<E.length;M++)_.push(E[M]),E[M].type==="field"&&(M+1>=E.length||E[M+1].type==="field")&&_.push({type:"operator",value:""});return _}const C=i.filter(E=>E.display.toLowerCase().includes(b.toLowerCase())),k=s.every(E=>E.type==="operator"&&E.value.trim()==="");return a.jsxs("div",{className:"relative",ref:p,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var _;const E=[...s].reverse().findIndex(M=>M.type==="operator");if(E!==-1){const M=s.length-1-E;(_=S.current.get(M))==null||_.focus()}},children:[k&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((E,_)=>E.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[E.display,a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),h(_)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${E.display}`,children:"×"})]},_):a.jsx("input",{ref:M=>{M?S.current.set(_,M):S.current.delete(_)},type:"text",value:E.value,onChange:M=>y(_,M.target.value),onFocus:()=>r(_),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(E.value.length*9+8,l===_?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${_}`},_)),a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),x(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!k&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(E=>E.type==="field"?`[${E.display}]`:E.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:b,onChange:E=>c(E.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:E=>{E.key==="Escape"&&u(!1),E.key==="Enter"&&C.length>0&&A(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(E=>a.jsxs("div",{onMouseDown:_=>{_.preventDefault(),A(E)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:E.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[E.id.slice(0,8),"..."]})]},E.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(E=>a.jsxs("button",{type:"button",onMouseDown:_=>{_.preventDefault(),A(E,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",E.display]},E.id))})]})}const Rd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],eu=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Rd.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},nu={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function la({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=N.useState(!1),[t,l]=N.useState("unknown"),[r,d]=N.useState(null);N.useEffect(()=>{e&&l(eu(e))},[e]),N.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),v=new ArrayBuffer(f.length),p=new Uint8Array(v);for(let y=0;y<f.length;y++)p[y]=f.charCodeAt(y);const S=new Blob([v],{type:"application/pdf"}),g=URL.createObjectURL(S);return d(g),()=>URL.revokeObjectURL(g)}catch(f){console.error("Error creating blob URL:",f)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},b=()=>s(!1),c=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,v="download"){if(!f)return;if(f.startsWith("data:")){const S=document.createElement("a");S.href=f,S.download=v,document.body.appendChild(S),S.click(),document.body.removeChild(S);return}const p=document.createElement("a");p.href=f,p.setAttribute("download",v),document.body.appendChild(p),p.click(),document.body.removeChild(p)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-4 items-center w-full min-w-0 max-w-full overflow-hidden",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3 min-w-0 flex-1 overflow-hidden",title:`Click to preview ${c}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center shrink-0",children:a.jsx(ue,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx("div",{className:"shrink-0 flex items-center justify-center",children:a.jsx(ue,{icon:nu[t],iconClass:"text-4xl"})}),a.jsx("span",{className:"text-sm font-semibold text-gray-700 truncate min-w-0 flex-1 block",children:c})]}),a.jsxs("div",{className:"flex gap-x-1 items-center shrink-0",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${c}`,children:a.jsx(ue,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(ue,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:b,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:f=>f.stopPropagation(),children:[a.jsx("button",{onClick:b,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}function ra({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=N.useContext(He),u=N.useRef(null),[b,c]=N.useState(s),[m,f]=N.useState(!1);N.useEffect(()=>{c(s)},[s]);const v=N.useMemo(()=>t==null?void 0:t.map(w=>w.value).join(", "),[t]),p=N.useMemo(()=>t==null?void 0:t.map(w=>w.label).join(", "),[t]),S=N.useCallback(async w=>{var E,_;const C=Le("token"),k=((E=Le("orgData"))==null?void 0:E.id)||Le("organizationId");try{const{data:M}=await qe.post(r,{...w,service:"FORM",organizationId:k||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(_=M==null?void 0:M.data)==null?void 0:_.url}catch(M){throw console.error("File upload error:",M),M}},[r]),g=N.useCallback(w=>new Promise((C,k)=>{const E=new FileReader;E.onloadend=async()=>{try{const _=E.result.replace(/^data:.*;base64,/,""),M=r?await S({base64:_,ext:`.${w.name.split(".").pop()}`,fileName:w.name}):E.result;C({base64:M,type:w.type,name:w.name})}catch(_){k(_)}},E.onerror=()=>k(new Error("File read failed")),E.readAsDataURL(w)}),[r,S]),y=N.useCallback(w=>{var E;const C=v?(E=v.split(","))==null?void 0:E.map(_=>_.trim()):[],k=l*1024*1024;for(const _ of w){if(_.size>k)return we.toast.error(`File "${_.name}" exceeds ${l}MB limit (${(_.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(M=>{if(M.endsWith("/*")){const L=M.split("/")[0];return _.type.startsWith(`${L}/`)}return _.type===M||_.name.toLowerCase().endsWith(M.replace("*",""))}))return we.toast.error(`File "${_.name}" is not an allowed type. Allowed: ${p||"any"}`),!1}return!0},[v,p,l]),h=N.useCallback(async w=>{const C=Array.from(w.target.files||[]);if(!(!C.length||m)){if(!y(C)){u.current&&(u.current.value="");return}try{f(!0),d==null||d(_=>_+1);const k=await Promise.all(C==null?void 0:C.map(g)),E=o&&b?[...b,...k]:k;c(E),e(E),we.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(k){console.error("Upload error:",k)}finally{f(!1),d==null||d(k=>Math.max(0,k-1)),u.current&&(u.current.value="")}}},[m,y,g,e,o,b,d]),x=N.useCallback(w=>{m||(u.current&&(u.current.value=""),c(C=>{const k=w===void 0?null:(C==null?void 0:C.filter((E,_)=>_!==w))||null;return e(k),k}),i==null||i())},[i,e,m]),A=b&&b.length>0;return a.jsxs("div",{className:"flex flex-col gap-2 w-full min-w-0 max-w-full",children:[!n&&!(A&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:h,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
23
23
  file:rounded-[6px] file:py-[6px] file:border-0\r
24
24
  file:text-sm file:font-semibold\r
25
25
  file:bg-blue-50 file:text-blue-700\r
26
- hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),A&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>x(),disabled:m,"aria-label":"Remove all files",children:a.jsx(re,{icon:"lets-icons:trash-duotone"})})]}),(A||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${A?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof c=="object"&&(c==null?void 0:c.map((N,C)=>a.jsx(la,{fileUrl:N.base64,fileName:N.name,removeFile:()=>x(C)},`${N.name}-${C}`)))]})]})}const nu=oe.object().shape({inputLabel:oe.string().nullable(),minLabel:oe.string().nullable(),maxLabel:oe.string().nullable(),placeholder:oe.string().nullable(),description:oe.string().nullable(),isReadOnly:oe.boolean(),isDisabled:oe.boolean(),isRequired:oe.boolean(),requiredMessage:oe.string().nullable(),minLengthMessage:oe.string().nullable(),maxLengthMessage:oe.string().nullable(),maxLength:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:oe.boolean(),inputType:oe.string().nullable(),maxAmountMessage:oe.string().nullable(),maxAmount:oe.string().nullable(),options:oe.array().of(oe.object().shape({label:oe.string().nullable(),value:oe.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:oe.array().of(oe.object().shape({label:oe.string().nullable(),value:oe.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:oe.string().nullable(),url:oe.string().nullable(),method:oe.string().nullable(),denominators:oe.mixed().nullable(),responseType:oe.string().nullable(),minAmount:oe.string().nullable(),heading:oe.string().nullable(),minAmountMessage:oe.string().nullable(),columns:oe.number().nullable().max(4).min(2),value:oe.mixed().nullable(),customClass:oe.string().nullable(),elementClass:oe.string().nullable(),apiUrl:oe.string().nullable(),selectType:oe.string().default("list"),dateType:oe.string().default("basic"),validationUrl:oe.string(),signatureLink:oe.string(),minDate:oe.string().nullable(),maxDate:oe.string().nullable(),canHaveDateRange:oe.boolean(),allowYearPicker:oe.boolean(),is24Hour:oe.boolean(),isHidden:oe.boolean(),visibilityDependentFields:oe.array().nullable(),isMultiple:oe.boolean(),acceptedFiles:oe.array(),maxFileSize:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:oe.boolean(),formula:oe.string().nullable(),fetchExternalResults:oe.boolean(),externalApiUrl:oe.string().nullable(),valueSource:oe.string().nullable(),sourceFieldId:oe.string().nullable()}),iu=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],ou=({isOpen:e,onClose:n,element:i})=>{var ie,U,ee,de;const o=iu.filter(z=>!hi.includes(i.inputType)||z.key!=="validation"),{updateElement:s,formData:t}=w.useContext(De),[l,r]=w.useState("basic"),[d,u]=w.useState(!1),[c,b]=w.useState("manual"),m=((ee=(U=(ie=t==null?void 0:t.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:ie.flatMap(z=>(z==null?void 0:z.questionData)||[]))==null?void 0:U.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:ee.length)||0,f=w.useMemo(()=>{var z;return((z=t==null?void 0:t.filter(R=>!(R!=null&&R.isDeleted)))==null?void 0:z.flatMap(R=>(R==null?void 0:R.questionData)||[]).filter(R=>{var ae;return!(R!=null&&R.isDeleted)&&R.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((ae=R.type)==null?void 0:ae.toLowerCase())}).map(R=>({id:R.id,display:R.inputLabel||R.label||"Unnamed"})))||[]},[m,i==null?void 0:i.id]),v=Pe("config"),{register:h,handleSubmit:y,control:g,setValue:S,watch:p,trigger:x,formState:{errors:A,isSubmitting:N,isValid:C},reset:k}=Re.useForm({resolver:fo(nu),defaultValues:{...i,options:i.options||[]}}),E=p(),{fields:_,append:M,remove:L}=Re.useFieldArray({control:g,name:"options"}),{fields:H,append:T,remove:P}=Re.useFieldArray({control:g,name:"options1"}),{fields:I,append:B,remove:O}=Re.useFieldArray({control:g,name:"dataColumns"});w.useEffect(()=>{e||k()},[e,k]);const D=z=>{s(z,i.sectionId),n()},j=w.useRef(null),q=w.useCallback(async()=>{var R;if(!E.apiUrl||!/^https?:\/\//.test(E.apiUrl)){Ne.toast.info("Please provide a valid API URL");return}j.current&&j.current.abort();const z=new AbortController;j.current=z;try{u(!0);const Q={headers:{Authorization:`Bearer ${Pe("token")}`},signal:z.signal,defaultMessage:"Unable to load options"},{status:G,data:Y}=await qe.get(E.apiUrl,Q);if(G!==200||!Y){Ne.toast.error("Unexpected response from server.");return}const $=Y.data||Y.record||Y.result;if(!Array.isArray($)){Ne.toast.error("Expected an array in response (data, record, or result).");return}((R=i.type)==null?void 0:R.toLowerCase())==="datagrid"?S("dataColumns",go($)):S("options",po($))}catch(ae){qe.isCancel(ae)||console.error(ae)}finally{j.current===z&&u(!1)}},[i.type,S,E.apiUrl]),K=["manual","api","sheet"];function V(){c==="api"&&q()}const Z=()=>{var z,R;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(ae=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:Q=>b(Q.target.value),value:ae})," ",a.jsxs("span",{children:[ae," options"]})]},ae))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ce,{watch:p,label:"Load Options from Api",name:"apiUrl",errors:A,register:h,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx($d,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:S,name:"options"})}),c==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((z=i==null?void 0:i.type)==null?void 0:z.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),_==null?void 0:_.map((ae,Q)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Label":"",name:`options.${Q}.label`,register:h,errors:A,element:i,placeholder:"Label",onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options.${Q}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Value":"",name:`options.${Q}.value`,register:h,errors:A,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:_.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${Q===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>L(Q),children:a.jsx(re,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[Q===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ra,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:G=>{G&&G.length>0?S(`options.${Q}.imageUrl`,G[0].base64,{shouldDirty:!0,shouldValidate:!0}):S(`options.${Q}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:p(`options.${Q}.imageUrl`)?[{base64:p(`options.${Q}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(ce,{watch:p,label:"",name:`options.${Q}.imageUrl`,register:h,errors:A,element:i})})]})]})]},ae.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>M({label:"",value:"",id:Me.v4()}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((R=i==null?void 0:i.type)==null?void 0:R.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),H==null?void 0:H.map((ae,Q)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Label":"",name:`options1.${Q}.label`,register:h,errors:A,element:i,placeholder:"Label",onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options1.${Q}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Value":"",name:`options1.${Q}.value`,register:h,errors:A,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Key":"",name:`options1.${Q}.key`,register:h,errors:A,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:H.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>P(Q),children:a.jsx(re,{icon:"iconamoon:sign-times-fill"})})]},ae.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",key:"",id:Me.v4()}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},te=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(z=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:R=>b(R.target.value),value:z,checked:z===c})," ",a.jsxs("span",{children:[z," options"]})]},z))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ce,{watch:p,label:"Load Columns from Api",name:"apiUrl",errors:A,register:h,className:"!w-full",placeholder:"https://example.com/columns"}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(jd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:S,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:I==null?void 0:I.map((z,R)=>{var ae,Q;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(an,{label:R===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:h,name:`dataColumns.${R}.type`,setValue:S,trigger:x,value:E.dataColumns[R].type})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:R===0?"Display header":"",name:`dataColumns.${R}.headerName`,register:h,onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`dataColumns.${R}.field`,$,{shouldValidate:!0,shouldDirty:!0})},errors:A,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:R===0?"Field key":"",name:`dataColumns.${R}.field`,register:h,errors:A,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(R),children:a.jsx(re,{icon:"iconamoon:sign-times-fill"})})]}),((Q=(ae=E.dataColumns)==null?void 0:ae[R])==null?void 0:Q.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Options API URL",name:`dataColumns.${R}.optionsUrl`,register:h,errors:A,element:i,placeholder:"https://api.example.com/options"})})})]},z.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>B({headerName:"",field:"",editable:!0,id:Me.v4(),type:"text",validate:!1}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),se=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:z=>z.stopPropagation(),onPointerDown:z=>z.stopPropagation(),onDragStart:z=>{z.preventDefault(),z.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(re,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(Ad,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:y(D),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[l==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ho.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(ce,{watch:p,label:"Value",name:"value",register:h,errors:A,element:i})}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Label",name:"inputLabel",register:h,errors:A,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(ce,{watch:p,label:"Child Label",name:"childLabel",register:h,errors:A,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:h,errors:A,element:i,placeholder:"Not at all likely"}),a.jsx(ce,{watch:p,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:h,errors:A,element:i,placeholder:"Extremely likely"})]})]}),Dd.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Placeholder",name:"placeholder",register:h,errors:A,element:i}),Bd.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Prefix",name:"prefix",register:h,errors:A,element:i}),Kd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(an,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:h,name:"valueSource",setValue:S,trigger:x,value:p("valueSource")||"manual"}),p("valueSource")==="field"&&a.jsx(an,{label:"Source Field",options:f.map(z=>({label:z.display,value:z.id})),register:h,name:"sourceFieldId",setValue:S,trigger:x,value:p("sourceFieldId")})]}),Hd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(zd,{}),a.jsx(ce,{watch:p,label:"Api Url",name:"url",register:h,errors:A,element:i}),a.jsx(an,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:h,name:"method",setValue:S,trigger:x,value:p("method")}),a.jsx(an,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:h,name:"responseType",setValue:S,trigger:x,value:p("responseType")})]}),Fd.includes(i.inputType)&&a.jsx(Vd,{onChange:z=>{S("denominators",z)},value:p("denominators")}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Short Description",name:"description",register:h,errors:A,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(an,{label:"Date Format",options:Ld,register:h,name:"dateFormat",setValue:S,trigger:x,value:p("dateFormat")}),a.jsx(ce,{watch:p,label:"Allow Range",name:"canHaveDateRange",register:h,errors:A,element:i,type:"checkbox",value:E.canHaveDateRange}),(E==null?void 0:E.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(yo,{name:"minDate",value:E==null?void 0:E.minDate,onGetValue:S,placeholder:"Select min date"}),a.jsx(yo,{name:"maxDate",value:E==null?void 0:E.minDate,onGetValue:S,placeholder:"Select max date",minDate:E==null?void 0:E.minDate})]}),a.jsx(ce,{watch:p,label:"Allow Year Picker",name:"allowYearPicker",register:h,errors:A,element:i,type:"checkbox",value:E.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(ce,{watch:p,label:"24 Hour Format",name:"is24Hour",register:h,errors:A,element:i,type:"checkbox",value:E.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(ce,{watch:p,label:"Allow States",name:"showState",register:h,errors:A,element:i,type:"checkbox",value:E.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(an,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:h,name:"selectType",setValue:S,trigger:x,value:p("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Minimum Options Checked",name:"minChecked",register:h,errors:A,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(ce,{watch:p,label:"Require All Checked",name:"requireAllChecked",register:h,errors:A,element:i,type:"checkbox",value:E.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(ce,{watch:p,label:"Number of columns (max: 4)",name:"columns",register:h,errors:A,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ce,{watch:p,label:"Document Options Url",name:"url",register:h,errors:A,element:i})," ",a.jsx(Wd,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ce,{watch:p,label:"Document Validation Url",name:"validationUrl",register:h,errors:A,element:i}),a.jsx(Ud,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(ce,{watch:p,label:"Signature Page Url",name:"signatureLink",register:h,errors:A,element:i})})]}),i.type.toLowerCase()==="datagrid"&&te(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Allow Multiple Uploads",name:"isMultiple",register:h,errors:A,element:i,type:"checkbox",value:E.isMultiple}),a.jsx(xo,{element:{options:Gd,id:"acceptedFiles",value:E==null?void 0:E.acceptedFiles},validationData:{register:h,setValue:S,trigger:x,watch:p},placeholder:"Choose file types"}),a.jsx(ce,{watch:p,label:"Max File Size (MB)",name:"maxFileSize",register:h,errors:A,element:i,type:"number"})]}),Od.includes(i.inputType)&&Z(),!["spacer","divider","section","grid"].includes((de=i.type)==null?void 0:de.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Disabled",name:"isDisabled",register:h,errors:A,element:i,type:"checkbox",value:E.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Read Only",name:"isReadOnly",register:h,errors:A,element:i,type:"checkbox",value:E.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(ce,{watch:p,label:"Toggle Visibility",name:"isHidden",register:h,errors:A,element:i,type:"checkbox",value:E.isHidden})})," ",E.isHidden&&a.jsx(Jd,{register:h,setValue:S,trigger:x,watch:p,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(Xd,{value:p("formula")||"",onChange:z=>S("formula",z,{shouldValidate:!0,shouldDirty:!0}),fields:f,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(ce,{watch:p,label:"Fetch results from external API",name:"fetchExternalResults",register:h,errors:A,element:i,type:"checkbox",value:E.fetchExternalResults}),E.fetchExternalResults&&a.jsx(ce,{watch:p,label:"External API URL (returns options results)",name:"externalApiUrl",register:h,errors:A,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!hi.includes(i.type.toLowerCase())&&l==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Required",name:"isRequired",register:h,errors:A,element:i,type:"checkbox",value:E.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"requiredMessage",register:h,errors:A,element:i})})]}),Id.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Min Length",name:"minLength",register:h,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"minLengthMessage",register:h,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Max Length",name:"maxLength",register:h,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"maxLengthMessage",register:h,errors:A,element:i})})]})]}),_d.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Min Amount",name:"minAmount",register:h,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"minAmountMessage",register:h,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Max Amount",name:"maxAmount",register:h,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"maxAmountMessage",register:h,errors:A,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!C||N,style:{background:(v==null?void 0:v.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||N?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||N?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:N?"Saving...":"Save"})]})]})]})});return document.body?xr.createPortal(se,document.body):se},wo=w.memo(({state:e,element:n,children:i})=>{var b,m;const[o,s]=w.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=w.useContext(De),u=w.useMemo(()=>{var f;return(f=n==null?void 0:n.acceptedFiles)==null?void 0:f.map(v=>v.label).join(", ")},[n]),c=w.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(ou,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((b=n.type)==null?void 0:b.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:f=>r({...n,isRequired:f.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(re,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(re,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(re,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:c,title:"Remove",children:a.jsx(re,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});wo.displayName="ElementContainer";function su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(yo,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const au=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=w.useState(e||null),d=Pe("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";w.useEffect(()=>{e!==l&&r(e||null)},[e]);const c=S=>{r(S),n&&n(o,S)},b=t?Array.from({length:24},(S,p)=>p.toString().padStart(2,"0")):Array.from({length:12},(S,p)=>(p===0?12:p).toString().padStart(2,"0")),m=Array.from({length:60},(S,p)=>p.toString().padStart(2,"0")),f=["AM","PM"];let v="12",h="00",y="AM";if(l){const[S,p]=l.split(" ");if(S){const[x,A]=S.split(":");x&&(v=x.padStart(2,"0")),A&&(h=A.padStart(2,"0"))}p&&(y=p.toUpperCase())}const g=(S,p,x)=>{const A=t?`${S}:${p}`:`${S}:${p} ${x}`;c(A)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
26
+ hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),A&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>x(),disabled:m,"aria-label":"Remove all files",children:a.jsx(ue,{icon:"lets-icons:trash-duotone"})})]}),(A||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${A?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof b=="object"&&(b==null?void 0:b.map((w,C)=>a.jsx(la,{fileUrl:w.base64,fileName:w.name,removeFile:()=>x(C)},`${w.name}-${C}`)))]})]})}const iu=ne.object().shape({inputLabel:ne.string().nullable(),minLabel:ne.string().nullable(),maxLabel:ne.string().nullable(),placeholder:ne.string().nullable(),description:ne.string().nullable(),isReadOnly:ne.boolean(),isDisabled:ne.boolean(),isRequired:ne.boolean(),requiredMessage:ne.string().nullable(),minLengthMessage:ne.string().nullable(),maxLengthMessage:ne.string().nullable(),maxLength:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:ne.boolean(),inputType:ne.string().nullable(),maxAmountMessage:ne.string().nullable(),maxAmount:ne.string().nullable(),options:ne.array().of(ne.object().shape({label:ne.string().nullable(),value:ne.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:ne.array().of(ne.object().shape({label:ne.string().nullable(),value:ne.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:ne.string().nullable(),url:ne.string().nullable(),method:ne.string().nullable(),denominators:ne.mixed().nullable(),responseType:ne.string().nullable(),minAmount:ne.string().nullable(),heading:ne.string().nullable(),minAmountMessage:ne.string().nullable(),columns:ne.number().nullable().max(4).min(2),value:ne.mixed().nullable(),customClass:ne.string().nullable(),elementClass:ne.string().nullable(),apiUrl:ne.string().nullable(),selectType:ne.string().default("list"),dateType:ne.string().default("basic"),validationUrl:ne.string(),signatureLink:ne.string(),minDate:ne.string().nullable(),maxDate:ne.string().nullable(),canHaveDateRange:ne.boolean(),allowYearPicker:ne.boolean(),is24Hour:ne.boolean(),isHidden:ne.boolean(),visibilityDependentFields:ne.array().nullable(),isMultiple:ne.boolean(),acceptedFiles:ne.array(),maxFileSize:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:ne.boolean(),formula:ne.string().nullable(),fetchExternalResults:ne.boolean(),externalApiUrl:ne.string().nullable(),valueSource:ne.string().nullable(),sourceFieldId:ne.string().nullable()}),ou=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],su=({isOpen:e,onClose:n,element:i})=>{var ee,j,R,ce;const o=ou.filter(V=>!hi.includes(i.inputType)||V.key!=="validation"),{updateElement:s,formData:t}=N.useContext(He),[l,r]=N.useState("basic"),[d,u]=N.useState(!1),[b,c]=N.useState("manual"),m=((R=(j=(ee=t==null?void 0:t.filter(V=>!(V!=null&&V.isDeleted)))==null?void 0:ee.flatMap(V=>(V==null?void 0:V.questionData)||[]))==null?void 0:j.filter(V=>!(V!=null&&V.isDeleted)))==null?void 0:R.length)||0,f=N.useMemo(()=>{var V;return((V=t==null?void 0:t.filter(Q=>!(Q!=null&&Q.isDeleted)))==null?void 0:V.flatMap(Q=>(Q==null?void 0:Q.questionData)||[]).filter(Q=>{var te;return!(Q!=null&&Q.isDeleted)&&Q.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((te=Q.type)==null?void 0:te.toLowerCase())}).map(Q=>({id:Q.id,display:Q.inputLabel||Q.label||"Unnamed"})))||[]},[m,i==null?void 0:i.id]),v=Le("config"),{register:p,handleSubmit:S,control:g,setValue:y,watch:h,trigger:x,formState:{errors:A,isSubmitting:w,isValid:C},reset:k}=Re.useForm({resolver:fo(iu),defaultValues:{...i,options:i.options||[]}}),E=h(),{fields:_,append:M,remove:L}=Re.useFieldArray({control:g,name:"options"}),{fields:H,append:T,remove:P}=Re.useFieldArray({control:g,name:"options1"}),{fields:I,append:D,remove:O}=Re.useFieldArray({control:g,name:"dataColumns"});N.useEffect(()=>{e||k()},[e,k]);const B=V=>{s(V,i.sectionId),n()},G=N.useRef(null),U=N.useCallback(async()=>{var Q;if(!E.apiUrl||!/^https?:\/\//.test(E.apiUrl)){we.toast.info("Please provide a valid API URL");return}G.current&&G.current.abort();const V=new AbortController;G.current=V;try{u(!0);const X={headers:{Authorization:`Bearer ${Le("token")}`},signal:V.signal,defaultMessage:"Unable to load options"},{status:F,data:Y}=await qe.get(E.apiUrl,X);if(F!==200||!Y){we.toast.error("Unexpected response from server.");return}const z=Y.data||Y.record||Y.result;if(!Array.isArray(z)){we.toast.error("Expected an array in response (data, record, or result).");return}((Q=i.type)==null?void 0:Q.toLowerCase())==="datagrid"?y("dataColumns",go(z)):y("options",po(z))}catch(te){qe.isCancel(te)||console.error(te)}finally{G.current===V&&u(!1)}},[i.type,y,E.apiUrl]),K=["manual","api","sheet"];function $(){b==="api"&&U()}const Z=()=>{var V,Q;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(te=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:X=>c(X.target.value),value:te})," ",a.jsxs("span",{children:[te," options"]})]},te))}),b==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ve,{watch:h,label:"Load Options from Api",name:"apiUrl",errors:A,register:p,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:$,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx(Wd,{})]}),b==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:y,name:"options"})}),b==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((V=i==null?void 0:i.type)==null?void 0:V.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),_==null?void 0:_.map((te,X)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:X===0?"Label":"",name:`options.${X}.label`,register:p,errors:A,element:i,placeholder:"Label",onChange:F=>{const z=F.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");y(`options.${X}.value`,z,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:X===0?"Value":"",name:`options.${X}.value`,register:p,errors:A,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:_.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${X===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>L(X),children:a.jsx(ue,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[X===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ra,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:F=>{F&&F.length>0?y(`options.${X}.imageUrl`,F[0].base64,{shouldDirty:!0,shouldValidate:!0}):y(`options.${X}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:h(`options.${X}.imageUrl`)?[{base64:h(`options.${X}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(ve,{watch:h,label:"",name:`options.${X}.imageUrl`,register:p,errors:A,element:i})})]})]})]},te.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>M({label:"",value:"",id:Me.v4()}),children:[a.jsx(ue,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((Q=i==null?void 0:i.type)==null?void 0:Q.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),H==null?void 0:H.map((te,X)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:X===0?"Label":"",name:`options1.${X}.label`,register:p,errors:A,element:i,placeholder:"Label",onChange:F=>{const z=F.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");y(`options1.${X}.value`,z,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:X===0?"Value":"",name:`options1.${X}.value`,register:p,errors:A,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:X===0?"Key":"",name:`options1.${X}.key`,register:p,errors:A,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:H.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>P(X),children:a.jsx(ue,{icon:"iconamoon:sign-times-fill"})})]},te.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",key:"",id:Me.v4()}),children:[a.jsx(ue,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},ie=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(V=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:Q=>c(Q.target.value),value:V,checked:V===b})," ",a.jsxs("span",{children:[V," options"]})]},V))}),b==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ve,{watch:h,label:"Load Columns from Api",name:"apiUrl",errors:A,register:p,className:"!w-full",placeholder:"https://example.com/columns"}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:$,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(jd,{})]}),b==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:y,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:I==null?void 0:I.map((V,Q)=>{var te,X;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(an,{label:Q===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:p,name:`dataColumns.${Q}.type`,setValue:y,trigger:x,value:E.dataColumns[Q].type})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:Q===0?"Display header":"",name:`dataColumns.${Q}.headerName`,register:p,onChange:F=>{const z=F.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");y(`dataColumns.${Q}.field`,z,{shouldValidate:!0,shouldDirty:!0})},errors:A,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:Q===0?"Field key":"",name:`dataColumns.${Q}.field`,register:p,errors:A,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(Q),children:a.jsx(ue,{icon:"iconamoon:sign-times-fill"})})]}),((X=(te=E.dataColumns)==null?void 0:te[Q])==null?void 0:X.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Options API URL",name:`dataColumns.${Q}.optionsUrl`,register:p,errors:A,element:i,placeholder:"https://api.example.com/options"})})})]},V.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>D({headerName:"",field:"",editable:!0,id:Me.v4(),type:"text",validate:!1}),children:[a.jsx(ue,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),ae=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:V=>V.stopPropagation(),onPointerDown:V=>V.stopPropagation(),onDragStart:V=>{V.preventDefault(),V.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(ue,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(Ad,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:S(B),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[l==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ho.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(ve,{watch:h,label:"Value",name:"value",register:p,errors:A,element:i})}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:h,label:"Label",name:"inputLabel",register:p,errors:A,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(ve,{watch:h,label:"Child Label",name:"childLabel",register:p,errors:A,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:h,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:p,errors:A,element:i,placeholder:"Not at all likely"}),a.jsx(ve,{watch:h,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:p,errors:A,element:i,placeholder:"Extremely likely"})]})]}),_d.includes(i.inputType)&&a.jsx(ve,{watch:h,label:"Placeholder",name:"placeholder",register:p,errors:A,element:i}),Id.includes(i.inputType)&&a.jsx(ve,{watch:h,label:"Prefix",name:"prefix",register:p,errors:A,element:i}),Vd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(an,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:p,name:"valueSource",setValue:y,trigger:x,value:h("valueSource")||"manual"}),h("valueSource")==="field"&&a.jsx(an,{label:"Source Field",options:f.map(V=>({label:V.display,value:V.id})),register:p,name:"sourceFieldId",setValue:y,trigger:x,value:h("sourceFieldId")})]}),Fd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx($d,{}),a.jsx(ve,{watch:h,label:"Api Url",name:"url",register:p,errors:A,element:i}),a.jsx(an,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:p,name:"method",setValue:y,trigger:x,value:h("method")}),a.jsx(an,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:p,name:"responseType",setValue:y,trigger:x,value:h("responseType")})]}),Kd.includes(i.inputType)&&a.jsx(zd,{onChange:V=>{y("denominators",V)},value:h("denominators")}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsx(ve,{watch:h,label:"Short Description",name:"description",register:p,errors:A,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(an,{label:"Date Format",options:Bd,register:p,name:"dateFormat",setValue:y,trigger:x,value:h("dateFormat")}),a.jsx(ve,{watch:h,label:"Allow Range",name:"canHaveDateRange",register:p,errors:A,element:i,type:"checkbox",value:E.canHaveDateRange}),(E==null?void 0:E.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(yo,{name:"minDate",value:E==null?void 0:E.minDate,onGetValue:y,placeholder:"Select min date"}),a.jsx(yo,{name:"maxDate",value:E==null?void 0:E.minDate,onGetValue:y,placeholder:"Select max date",minDate:E==null?void 0:E.minDate})]}),a.jsx(ve,{watch:h,label:"Allow Year Picker",name:"allowYearPicker",register:p,errors:A,element:i,type:"checkbox",value:E.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(ve,{watch:h,label:"24 Hour Format",name:"is24Hour",register:p,errors:A,element:i,type:"checkbox",value:E.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(ve,{watch:h,label:"Allow States",name:"showState",register:p,errors:A,element:i,type:"checkbox",value:E.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(an,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:p,name:"selectType",setValue:y,trigger:x,value:h("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:h,label:"Minimum Options Checked",name:"minChecked",register:p,errors:A,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(ve,{watch:h,label:"Require All Checked",name:"requireAllChecked",register:p,errors:A,element:i,type:"checkbox",value:E.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(ve,{watch:h,label:"Number of columns (max: 4)",name:"columns",register:p,errors:A,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ve,{watch:h,label:"Document Options Url",name:"url",register:p,errors:A,element:i})," ",a.jsx(Ud,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ve,{watch:h,label:"Document Validation Url",name:"validationUrl",register:p,errors:A,element:i}),a.jsx(qd,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(ve,{watch:h,label:"Signature Page Url",name:"signatureLink",register:p,errors:A,element:i})})]}),i.type.toLowerCase()==="datagrid"&&ie(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:h,label:"Allow Multiple Uploads",name:"isMultiple",register:p,errors:A,element:i,type:"checkbox",value:E.isMultiple}),a.jsx(xo,{element:{options:Gd,id:"acceptedFiles",value:E==null?void 0:E.acceptedFiles},validationData:{register:p,setValue:y,trigger:x,watch:h},placeholder:"Choose file types"}),a.jsx(ve,{watch:h,label:"Max File Size (MB)",name:"maxFileSize",register:p,errors:A,element:i,type:"number"})]}),Hd.includes(i.inputType)&&Z(),!["spacer","divider","section","grid"].includes((ce=i.type)==null?void 0:ce.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Disabled",name:"isDisabled",register:p,errors:A,element:i,type:"checkbox",value:E.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Read Only",name:"isReadOnly",register:p,errors:A,element:i,type:"checkbox",value:E.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(ve,{watch:h,label:"Toggle Visibility",name:"isHidden",register:p,errors:A,element:i,type:"checkbox",value:E.isHidden})})," ",E.isHidden&&a.jsx(Zd,{register:p,setValue:y,trigger:x,watch:h,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(Qd,{value:h("formula")||"",onChange:V=>y("formula",V,{shouldValidate:!0,shouldDirty:!0}),fields:f,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(ve,{watch:h,label:"Fetch results from external API",name:"fetchExternalResults",register:p,errors:A,element:i,type:"checkbox",value:E.fetchExternalResults}),E.fetchExternalResults&&a.jsx(ve,{watch:h,label:"External API URL (returns options results)",name:"externalApiUrl",register:p,errors:A,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!hi.includes(i.type.toLowerCase())&&l==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Required",name:"isRequired",register:p,errors:A,element:i,type:"checkbox",value:E.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Error message text",name:"requiredMessage",register:p,errors:A,element:i})})]}),Dd.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Min Length",name:"minLength",register:p,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Error message text",name:"minLengthMessage",register:p,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Max Length",name:"maxLength",register:p,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Error message text",name:"maxLengthMessage",register:p,errors:A,element:i})})]})]}),Od.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Min Amount",name:"minAmount",register:p,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Error message text",name:"minAmountMessage",register:p,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:h,label:"Max Amount",name:"maxAmount",register:p,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:h,label:"Error message text",name:"maxAmountMessage",register:p,errors:A,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!C||w,style:{background:(v==null?void 0:v.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||w?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||w?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:w?"Saving...":"Save"})]})]})]})});return document.body?xr.createPortal(ae,document.body):ae},wo=N.memo(({state:e,element:n,children:i})=>{var c,m;const[o,s]=N.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=N.useContext(He),u=N.useMemo(()=>{var f;return(f=n==null?void 0:n.acceptedFiles)==null?void 0:f.map(v=>v.label).join(", ")},[n]),b=N.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(su,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((c=n.type)==null?void 0:c.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:f=>r({...n,isRequired:f.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(ue,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(ue,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(ue,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:b,title:"Remove",children:a.jsx(ue,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});wo.displayName="ElementContainer";function au({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(yo,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const tu=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=N.useState(e||null),d=Le("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";N.useEffect(()=>{e!==l&&r(e||null)},[e]);const b=y=>{r(y),n&&n(o,y)},c=t?Array.from({length:24},(y,h)=>h.toString().padStart(2,"0")):Array.from({length:12},(y,h)=>(h===0?12:h).toString().padStart(2,"0")),m=Array.from({length:60},(y,h)=>h.toString().padStart(2,"0")),f=["AM","PM"];let v="12",p="00",S="AM";if(l){const[y,h]=l.split(" ");if(y){const[x,A]=y.split(":");x&&(v=x.padStart(2,"0")),A&&(p=A.padStart(2,"0"))}h&&(S=h.toUpperCase())}const g=(y,h,x)=>{const A=t?`${y}:${h}`:`${y}:${h} ${x}`;b(A)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
27
27
  .hide-time-scrollbar::-webkit-scrollbar {
28
28
  display: none;
29
29
  }
@@ -31,11 +31,11 @@
31
31
  -ms-overflow-style: none;
32
32
  scrollbar-width: none;
33
33
  }
34
- `}),a.jsx(be.Popover,{className:"relative w-full",children:({open:S})=>a.jsxs(a.Fragment,{children:[a.jsxs(be.Popover.Button,{disabled:i,className:he(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(re,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(be.Transition,{show:S,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(be.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:b.map(p=>a.jsx("button",{type:"button",onClick:()=>g(p,h,y),style:v===p?{backgroundColor:u}:{},className:he("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(p=>a.jsx("button",{type:"button",onClick:()=>g(v,p,y),style:h===p?{backgroundColor:u}:{},className:he("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",h===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:f.map(p=>a.jsx("button",{type:"button",onClick:()=>g(v,h,p),style:y===p?{backgroundColor:u}:{},className:he("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",y===p?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:p},p))})]})]})})]})})]})};function tu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(au,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function No({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:he("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function lu({element:e,validationData:n}){var c;const[i,o]=w.useState((c=e==null?void 0:e.value)!=null?c:null),{register:s=()=>({}),setValue:t,isReadOnly:l,watch:r}=n||{};w.useEffect(()=>{s(e.id)},[e.id,s]),w.useEffect(()=>{if(r){const b=r(m=>{o(m[e.id])});return()=>{var m;return(m=b.unsubscribe)==null?void 0:m.call(b)}}},[r,e.id]);const d=w.useCallback(b=>{t==null||t(e.id,b),o(b)},[e.id,t]),u=()=>{t==null||t(e.id,null),o(null)};return a.jsxs("div",{children:[!l&&a.jsx(ra,{onFileLoaded:d,disabled:l,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),l&&a.jsx(a.Fragment,{children:i?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((b,m)=>a.jsx("div",{children:a.jsx(la,{fileUrl:b.base64,fileName:b.name})},m))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function ru({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=w.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsxs("div",{className:"relative w-full",children:[a.jsx("input",{placeholder:e.placeholder,type:t?"text":"password",className:he("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none",title:t?"Hide password":"Show password",children:a.jsx(re,{icon:t?"fluent:eye-off-24-regular":"fluent:eye-24-regular",iconClass:"text-lg"})})]})}function du({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:he("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function uu(){return a.jsx("div",{children:"SectionInput"})}function cu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:he("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const wn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function zn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,c]=w.useState(null),[b,m]=w.useState([]),[f,v]=w.useState(!1),h=w.useRef(!0);w.useEffect(()=>{const N=new AbortController,C=i!=null?i:o;let k="";u!==null?k=u:C&&(k=String(C));const E=async()=>{var L,H;if(n){v(!0);try{const T=Pe("token"),P={...T?{headers:{Authorization:`Bearer ${T}`}}:{},signal:N.signal,params:k?{search:k}:{}};let B=(await qe.get(n,P)).data;if(B&&!Array.isArray(B)&&(B.data&&Array.isArray(B.data)?B=B.data:(L=B.data)!=null&&L.data&&Array.isArray(B.data.data)?B=B.data.data:B.results&&Array.isArray(B.results)?B=B.results:(H=B.data)!=null&&H.results&&Array.isArray(B.data.results)?B=B.data.results:B.items&&Array.isArray(B.items)&&(B=B.items)),Array.isArray(B)){const O=B.map(D=>{var K,V,Z,te,se,ie,U,ee,de,z,R,ae,Q,G;if(typeof D=="string")return{label:D,value:D};const j=(de=(ie=(se=(te=(Z=(V=(K=D.label)!=null?K:D.name)!=null?V:D.title)!=null?Z:D.productName)!=null?te:D.description)!=null?se:D.text)!=null?ie:D.displayName)!=null?de:String((ee=(U=D.id)!=null?U:D.value)!=null?ee:""),q=String((G=(Q=(ae=(R=(z=D.value)!=null?z:D.id)!=null?R:D.key)!=null?ae:D.code)!=null?Q:D.name)!=null?G:"");return{label:String(j),value:String(q)}});m(O)}}catch(T){qe.isCancel(T)||console.error("Failed to fetch options",T)}finally{N.signal.aborted||v(!1)}}},_=h.current&&C?0:400;h.current=!1;const M=setTimeout(()=>{E()},_);return()=>{clearTimeout(M),N.abort()}},[n,u,i,o]);const y=n?b:e,g=w.useMemo(()=>{const N=i!=null?i:o;if(N==null||N==="")return null;const C=y.find(k=>String(k.value)===String(N)||String(k.label)===String(N));return C||{label:s||(wn(N)?"":String(N)),value:String(N)}},[i,o,s,y]),[S,p]=w.useState(g);w.useEffect(()=>{const N=i!==void 0?i:o;if(N!==void 0)if(N===null||N==="")p(null);else{const C=y.find(k=>String(k.value)===String(N)||String(k.label)===String(N));p(C||(k=>k&&(String(k.value)===String(N)||String(k.label)===String(N))?{label:s||(k.label&&!wn(k.label)?k.label:wn(N)?"":String(N)),value:String(N)}:{label:s||(wn(N)?"":String(N)),value:String(N)}))}},[i,o,s,y]);const x=w.useMemo(()=>{let N=y;if(S&&!N.some(k=>String(k.value)===String(S.value)||String(k.label)===String(S.label))&&(N=[S,...N]),!u)return N;const C=u.toLowerCase();return N.filter(k=>k.label.toLowerCase().includes(C))},[u,y,S]),A=w.useCallback(N=>{p(N),t(r,N)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(be.Combobox,{value:S,onChange:A,disabled:l,by:(N,C)=>N&&C?String(N.value)===String(C.value)||String(N.label)===String(C.label):N===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(be.ComboboxInput,{className:`field-control ${d}`,displayValue:N=>{if(N!=null&&N.label&&!wn(N.label))return N.label;if(s)return s;if(N!=null&&N.label)return N.label;const C=i!=null?i:o;return C&&!wn(C)?String(C):""},onChange:N=>c(N.target.value),placeholder:f?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(be.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:f?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(re,{icon:"octicon:chevron-down-12"})})]}),a.jsx(be.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:f?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):x==null?void 0:x.map((N,C)=>a.jsx(be.ComboboxOption,{value:N,className:({active:k,selected:E})=>he("select-option",{active:k,selected:E}),children:({selected:k})=>a.jsx("div",{className:he("option-text",{selected:k}),children:N.label})},`${N.value}-${C}`))})]})})}function bu({element:e,validationData:n}){var c,b,m,f;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isViewer:l}=n||{};let r,d;if(t){const v=t();r=v[e.id];const h=v[`${e.id}_metaData`];d=(h==null?void 0:h.label)||(h==null?void 0:h.name)||((b=(c=e==null?void 0:e.metaData)==null?void 0:c.responseObject)==null?void 0:b.label)}w.useEffect(()=>{i(e.id)},[e.id,i]);const u=l?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!l?a.jsx(an,{options:(m=e==null?void 0:e.options)!=null?m:[],register:i,name:e.id,setValue:s,trigger:o,value:r,className:he("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(zn,{name:e.id,options:(f=e==null?void 0:e.options)!=null?f:[],apiUrl:u,value:r,selectedLabel:d,onGetValue:(v,h)=>{var y;s==null||s(v,(y=h==null?void 0:h.value)!=null?y:""),h&&(s==null||s(`${v}_metaData`,h)),o&&o(v)},readOnly:n==null?void 0:n.isReadOnly})})}function mu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:he("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function vu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return w.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function fu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const hu=({imageUrl:e})=>{const[n,i]=w.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},pu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function gu({element:e,validationData:n}){var N;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=w.useState(),[r,d]=w.useState(!1),[u,c]=w.useState(!1),[b,m]=w.useState(""),f=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;w.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(f)},[f,v,e.valueSource,e.id,o]);const[h,y]=w.useState("");w.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:S,responseType:p}=e||{},x=w.useRef(null),A=w.useCallback(async C=>{var E,_,M,L,H,T,P,I,B,O,D,j,q,K;if(!g||typeof g!="string"||!g.trim()||!S)return;x.current&&x.current.abort();const k=new AbortController;x.current=k,d(!0),m(""),c(!1);try{let V;const Z={headers:{Authorization:`Bearer ${Pe("token")}`},signal:k.signal};if(S.toLowerCase()==="get"){const te=`${g}?value=${C}`;V=await qe.get(te,Z)}else if(S.toLowerCase()==="post")V=await qe.post(g,{value:C},Z);else throw new Error("Unsupported HTTP method");if(V.status===200)if(((_=(E=V==null?void 0:V.data)==null?void 0:E.data)==null?void 0:_.status)===!1||((M=V==null?void 0:V.data)==null?void 0:M.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),c(!1);else if(c(!0),p==="string"){let se=((H=(L=V==null?void 0:V.data)==null?void 0:L.data)==null?void 0:H.description)||((T=V==null?void 0:V.data)==null?void 0:T.description)||((P=V==null?void 0:V.data)==null?void 0:P.data)||(V==null?void 0:V.data)||"Validation successful";typeof se=="object"&&se!==null&&(se=JSON.stringify(se)),m(se)}else{const se=((B=(I=V==null?void 0:V.data)==null?void 0:I.data)==null?void 0:B.description)||((O=V==null?void 0:V.data)==null?void 0:O.description)||((D=V==null?void 0:V.data)==null?void 0:D.data)||(V==null?void 0:V.data)||{};y(se),typeof se=="object"&&se!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,se)}}catch(V){if(!qe.isCancel(V)){console.error("Error validating input:",V);let Z=((q=(j=V==null?void 0:V.response)==null?void 0:j.data)==null?void 0:q.message)||((K=V==null?void 0:V.response)==null?void 0:K.data)||"Unable to validate input";typeof Z=="object"&&Z!==null&&(Z=JSON.stringify(Z)),m(Z),c(!1)}}finally{x.current===k&&d(!1)}},[S,p,g]);return w.useEffect(()=>{if(t){const C=setTimeout(()=>{A(t)},700);return()=>clearTimeout(C)}},[A,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:he("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(re,{icon:"gg:check-o"})})]})]}),b&&p==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:b}),p==="object"&&h&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(N=Object.entries(h))==null?void 0:N.map(([C,k])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:pu(C)}),fu(k)?a.jsx(hu,{imageUrl:k}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(k)})]},C))})]})}function yu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=w.useState([...i]);function l(u,c){t(b=>{const m=[...b];return m[c]={...m[c],value:u},m})}function r(u,c){return parseFloat(u)*parseFloat(c)||0}const d=w.useMemo(()=>s.reduce((u,c)=>{const b=r(c.key,c.value);return u+b},0),[s]);return w.useEffect(()=>{e&&e(s)},[s]),w.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((c,b)=>({key:c.value,value:Array.isArray(i)&&i[b]?i[b].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,c)=>{var b,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(b=parseFloat(u.key))==null?void 0:b.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>l(f,c),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},c+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function xu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(yu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function Su({element:e}){return a.jsx("div",{className:he("py-6",e==null?void 0:e.customClass)})}function wu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:he("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function Nu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Cu({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function Au({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var f;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:c}=s(e.id,l.field);let b="border-gray-300";l.validate&&((c==null?void 0:c.isValid)===!1?b="border-red-500 bg-red-50":(c==null?void 0:c.isValid)===!0&&(b="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${b}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(ui,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const h=v==="yes",y=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:y,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:y,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===h,onChange:()=>o(h,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:h?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,h)=>o((h==null?void 0:h.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&c?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",c.data&&`[${c.data}]`]}),c.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=c.error)!=null?f:"",children:"✗"})]}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(re,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const ku=w.memo(Au);function Eu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=w.useState(e),l=Pe("config"),r=w.useRef(s);r.current=s,w.useEffect(()=>{t(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const d=w.useCallback((m,f,v)=>{const h=r.current.map(y=>y.id===f?{...y,[v]:m}:y);t(h),n==null||n(h)},[n]),u=w.useCallback(()=>{const m=Me.v4(),f=o.reduce((h,y)=>(h[y.field]=y.field==="id"?m:"",h),{}),v=[...r.current,{id:m,...f}];t(v),n==null||n(v)},[o,n]),c=w.useCallback(m=>{const f=r.current.filter(v=>v.id!==m);t(f),n==null||n(f)},[n]),b=w.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,f)=>{var v;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(v=m.headerName)!=null?v:String(m.field),m.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${f}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(m=>a.jsx(ku,{row:m,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:b,deleteRow:c},m.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:u,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Mu({element:e,validationData:n}){var f;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=s&&s(e==null?void 0:e.id)||{},r=Array.isArray(l)?l:(f=l==null?void 0:l.rows)!=null?f:[];w.useEffect(()=>{i(e.id)},[e.id,i]);const d=w.useRef(""),u=w.useRef(e==null?void 0:e.id),c=w.useRef(e==null?void 0:e.dataColumns),b=w.useRef(o);u.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,b.current=o;const m=w.useCallback(v=>{var y;const h=JSON.stringify(v);h!==d.current&&(d.current=h,(y=b.current)==null||y.call(b,u.current,{rows:v,columns:c.current}))},[]);return a.jsx(Eu,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const da=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:c=!1,isFloatingLabel:b=!1,subText:m,labelClass:f="",loading:v,disabled:h})=>{const[y,g]=w.useState(c?[]:null),S=he("custom-select__control",e),p=w.useMemo(()=>n,[n]);w.useEffect(()=>{const A=n==null?void 0:n.find(N=>{var C;return typeof N.value=="string"&&typeof d=="string"?N.value.toLowerCase()===d.toLowerCase():typeof N.value=="object"&&typeof d=="object"?((C=N.value)==null?void 0:C.id)===(d==null?void 0:d.id):N.value===d});g(A||null)},[d,n]);const x=w.useMemo(()=>d==null||d===""||!n||n.length===0?!1:c&&Array.isArray(d)?Array.isArray(y)&&y.length<d.length:!n.some(N=>{var C;return typeof N.value=="string"&&typeof d=="string"?N.value.toLowerCase()===d.toLowerCase():typeof N.value=="object"&&typeof d=="object"?((C=N.value)==null?void 0:C.id)===(d==null?void 0:d.id):N.value===d}),[d,n,y,c]);return w.useEffect(()=>{y&&t&&s&&(t(l,y==null?void 0:y.value),s(l),u==null||u(l))},[l,y,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!b&&a.jsx("label",{className:"custom-select__label",children:r}),b&&r&&a.jsx("label",{className:he("custom-select__floating-label",f),children:r}),a.jsx(be.Listbox,{value:y,onChange:g,multiple:c,disabled:h,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(be.Listbox.Button,{className:S,disabled:h,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(y==null?void 0:y.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(re,{icon:"lucide:chevron-down"})})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"custom-select__transition",children:a.jsx(be.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:p==null?void 0:p.map((A,N)=>a.jsx(be.Listbox.Option,{value:A,className:({active:C})=>he("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:he("custom-select__option-label",C&&"custom-select__option--selected"),children:A.label})},N))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),x&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},Tu=({element:e,validationData:n})=>{var h;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{},r=(h=e==null?void 0:e.id)!=null?h:"cascadeValue",[d,u]=w.useState(""),[c,b]=w.useState(""),m=(y,g)=>{const S=y&&g?`${y}_${g}`:"";s==null||s(r,S),o==null||o(r)},f=(y,g)=>{y==="first"?(u(g),b(""),m(g,"")):(b(g),m(d,g))};w.useEffect(()=>{if(t){const y=t(r);if(y!=null&&y.includes("_")){const[g,S]=y.split("_");u(g),b(S)}}},[t,r]);const v=w.useMemo(()=>{var y;return(y=e.options1)==null?void 0:y.filter(g=>g.key===d)},[e.options1,d]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(r)}),a.jsx("div",{className:"relative",children:a.jsx(da,{setValue:(y,g)=>f("first",g),options:e.options,name:`${r}`,register:i,value:d})}),d&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(da,{setValue:(y,g)=>f("second",g),options:v,name:`${r}`,register:i,value:c})]})]})},Pu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var g;const{register:d=()=>({}),trigger:u,setValue:c,watch:b,isReadOnly:m}=r||{},f=(g=b==null?void 0:b(l.id))!=null?g:0,[v,h]=w.useState(null);w.useEffect(()=>{f==null&&(c==null||c(l.id,e))},[]);const y=S=>{if(!i&&!m){const p=S+1;c==null||c(l.id,p),u==null||u(l.id),o==null||o(p)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(S,p)=>{const x=v!==null?p<=v:p<f;return a.jsx(ea,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&h(p),onMouseLeave:()=>!(i||m)&&h(null),onClick:()=>y(p)},p)})]})};function Lu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:he("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function ua({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=w.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,h]=r.split(",").map(y=>y.trim());return{country:h,state:v}}return{country:r,state:""}},[r]),c=w.useRef(r),b=w.useMemo(()=>{var v,h;return d?((h=(v=fi.find(y=>y.name===d))==null?void 0:v.states)==null?void 0:h.map(y=>({label:y.name,value:y.name})))||[]:[]},[d]),m=(v,h)=>{const g=(h==null?void 0:h.value)||"";o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)},f=(v,h)=>{const y=(h==null?void 0:h.value)||"",g=y?`${y}, ${d}`:d;o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)};return w.useEffect(()=>{c.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(zn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),b.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(zn,{options:b,onGetValue:f,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const Co=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Bu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:c,description:b,onChange:m,onError:f}){const[v,h]=w.useState(""),[y,g]=w.useState(null),[S,p]=w.useState(""),x=w.useMemo(()=>{var M;return(M=Co==null?void 0:Co.slice().sort((L,H)=>L.label.localeCompare(H.label)))==null?void 0:M.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=w.useMemo(()=>v?x.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(v.toLowerCase())):x,[v,x]),N=(y==null?void 0:y.min)||10,C=(y==null?void 0:y.max)||10,k=()=>S?`${(y==null?void 0:y.phone)||"+234"}-${S}`:"",E=M=>{if(!M||typeof M!="string")return{code:"+234",number:""};const L=M.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};w.useEffect(()=>{if(l){const M=k();if(l!==M){const L=E(l);g(x.find(H=>H.phone===L.code)||x[0]),p(L.number)}}},[l,x]);const _=w.useMemo(()=>{if(r)return r;const M=S.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(S)?"Phone number must contain only digits":M>0&&M<N?`Minimum length is ${N}`:M>C?`Maximum length is ${C}`:""},[r,S,N,C,o]);return w.useEffect(()=>{const M=k();M!==l&&(m==null||m(M))},[S,y]),w.useEffect(()=>{f==null||f(_||null)},[_]),a.jsxs("div",{className:`relative formGroup ${_&&!u?"has-error":""} ${c?"flex":""} ${!_&&S.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${c?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(re,{icon:"lucide:phone-call"}),a.jsx(be.Combobox,{value:y,onChange:g,children:a.jsxs("div",{className:"relative",children:[a.jsx(be.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:M=>(M==null?void 0:M.phone)||"+234",placeholder:"+234",onChange:M=>h(M.target.value)}),a.jsx(be.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(re,{icon:"lucide:chevron-down"})}),a.jsx(be.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:A==null?void 0:A.map((M,L)=>a.jsxs(be.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${L}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:S,disabled:d,readOnly:u,onChange:M=>{const L=M.target.value.replace(/\D/g,"");p(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:N}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!_&&S.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(re,{icon:"bi:check-lg"})})})]})]}),b&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:b})]})}function Iu({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return w.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Bu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function Du({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;w.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),c=d?u?d:`https://${d}`:"",b=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[b&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:he("field-control",b&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:c,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function _u({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=w.useMemo(()=>{const c=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const v=/@\[.*?\]\((.*?)\)/.exec(f);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...c,...m]))},[s]),l=i?i(t):[],r=w.useMemo(()=>{if(!s)return"";let u=s,c=!1;if(t.forEach((b,m)=>{const f=l[m],v=Number(f);(isNaN(v)||f===void 0||f===null||f==="")&&(c=!0),u=u.replace(new RegExp(`\\{\\{${b}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${b}\\)`,"g"),String(v||0))}),c)return"";try{const b=u.replace(/[^0-9+\-*/().\s]/g,"");if(!b)return"";const m=new Function(`return ${b}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(b){return"Error"}},[s,t,l]);return w.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:he("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Ou({element:e,validationData:n,state:i}){var f;const{register:o,watch:s,setValue:t}=n||{},[l,r]=w.useState({}),[d,u]=w.useState(0),c=s?s(e.id):null,b=!!(c||n!=null&&n.showResults);w.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const y=await fetch(e.externalApiUrl);if(!y.ok)return;const g=await y.json();let S={};Array.isArray(g)?g.forEach(x=>{const A=x.value||x.id||x.option,N=x.count||x.votes||x.value||0;A&&(S[A]=Number(N))}):typeof g=="object"&&(S=g),r(S);const p=Object.values(S).reduce((x,A)=>x+Number(A),0);u(p)}catch(y){console.error("Failed to fetch polling results",y)}};v();const h=setInterval(v,1e4);return()=>clearInterval(h)},[e.fetchExternalResults,e.externalApiUrl]),w.useEffect(()=>{e.fetchExternalResults||(c?(r({[c]:1}),u(1)):(r({}),u(0)))},[c,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(v=>{const h=l[v.value]||0,y=d>0?Math.round(h/d*100):0,g=c===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:he("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",g?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[b&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${y}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:he("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",g?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:g&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:he("font-medium text-sm",g?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),b&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[y,"%"]}),g&&a.jsx(re,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),b&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ca={textField:No,longText:mu,selectField:bu,multiSelect:xo,numberField:No,amountField:vu,date:su,time:tu,password:ru,checkbox:cu,radio:du,email:No,file:lu,dataGrid:Mu,section:uu,dataLookup:gu,tableInput:xu,spacer:Su,divider:wu,header:Nu,basicText:Cu,phoneField:Iu,cascadeSelect:Tu,rating:Pu,matrix:Lu,country:ua,bank:ua,url:Du,calculatedField:_u,polling:Ou,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:he("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=w.useState(r||e.options||[]);w.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const c=m=>{if(o||n==="edit"||m===0)return;const f=[...d],v=f[m-1];f[m-1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})},b=m=>{if(o||n==="edit"||m===d.length-1)return;const f=[...d],v=f[m+1];f[m+1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,f)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>c(f),disabled:o||n==="edit"||f===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(re,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>b(f),disabled:o||n==="edit"||f===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(re,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:f+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=c=>{o||n==="edit"||typeof l=="function"&&l(e.id,c,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(c=>a.jsxs("div",{onClick:()=>d(c.value),className:he("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===c.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:c.imageUrl?a.jsx("img",{src:c.imageUrl,alt:c.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(re,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:he("p-3 text-center text-sm font-medium",r===c.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:c.label})]},c.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},ba="edit",Hu=(e,n)=>{var o;const i=ca[e.type];return i?a.jsx(wo,{element:e,state:ba,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:ba,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},pi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:he("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Fu=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:c,removeElement:b}=w.useContext(De),m=w.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,v]=w.useState(null);w.useEffect(()=>{const x=()=>{v(null),d(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[d]);const h=w.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",v(A)},[]),y=w.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),v(A)},[]),g=w.useCallback((x,A)=>{const N=x.relatedTarget;N&&x.currentTarget.contains(N)||v(C=>C===A?null:C)},[]),S=w.useCallback((x,A)=>{var k;x.preventDefault(),x.stopPropagation(),d(!1),v(null);const N=A+1,C=x.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:N});return}try{const E=x.dataTransfer.getData("properties");if(!E)return;const _=JSON.parse(E);if((_==null?void 0:_.type)==="grid")return;const M=l.find(T=>T.id===n),L=(k=M==null?void 0:M.questionData)==null?void 0:k.find(T=>{var P;return!T.isDeleted&&T.gridId===e.id&&((P=T.gridPosition)==null?void 0:P.col)===N});L&&b(L.id,n);const H={..._,id:Me.v4(),sectionId:n,gridId:e.id,gridPosition:{col:N}};r(H,n)}catch(E){console.error("Drop failed in grid:",E),d(!1)}},[r,e.id,l,n,d,u]),p=(x,A,N)=>{var P,I,B;const C=x+1,k=(I=(P=l.find(O=>O.id===n))==null?void 0:P.questionData)==null?void 0:I.find(O=>{var D;return!O.isDeleted&&O.gridId===e.id&&((D=O.gridPosition)==null?void 0:D.col)===C}),E=(B=k==null?void 0:k.id)!=null?B:null,_=Array.isArray(i)&&i.find(O=>{var D;return((D=O==null?void 0:O.props)==null?void 0:D.col)===C}),M=c&&f===x,L=!!_,H=c&&!!t,T=L&&E&&N==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",E),O.dataTransfer.setData("properties",E),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:O=>S(O,x),onDragEnter:O=>y(O,x),onDragOver:O=>h(O,x),onDragLeave:O=>g(O,x),className:he("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",N==="edit"?"py-3 ":"",L&&N==="edit"&&"cursor-grab active:cursor-grabbing border-none",A,!H&&!M&&"bg-white border-gray-200 text-gray-300",H&&!M&&!L&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",H&&!M&&L&&"bg-white border-orange-200 border-dashed",M&&!L&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",M&&L&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[L&&N==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(re,{icon:"ph:dots-six-bold"})}),M&&!L&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(re,{icon:"ph:plus-bold"}),"Drop here"]}),M&&L&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:he("w-full select-none min-w-0",M&&"opacity-50 pointer-events-none"),children:_||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:N==="edit"&&a.jsx(re,{icon:"ph:plus-bold"})})})]})},x)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((x,A)=>p(A,o,s))})})},gi=w.memo(Fu),Ku="edit";function Ao({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=w.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:he("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(re,{icon:"octicon:plus-16"}),"Drop here"]})})}function Gu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=w.useContext(De),[r,d]=w.useState(null),u=w.useMemo(()=>{var S;return((S=i.find(p=>p.id===n))==null?void 0:S.questionData)||[]},[i,n]),c=w.useCallback((S,p)=>{S.dataTransfer.setData("elementId",p),S.dataTransfer.setData("properties",p),S.dataTransfer.effectAllowed="move",d(p),s(!0)},[s]),b=w.useCallback(()=>{d(null),s(!1)},[s]);w.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=w.useCallback(S=>{S.preventDefault(),S.stopPropagation();const p=S.dataTransfer.getData("elementId"),x=S.currentTarget.id;if(!p||!x||p===x){b();return}const A=u.find(C=>C.id===p),N=u.findIndex(C=>C.id===x);A!=null&&A.gridId&&N!==-1?l({draggedId:p,sectionId:n,targetIndex:N}):l({draggedId:p,sectionId:n,targetId:x}),d(null),s(!1)},[n,l,s,b,u]),f=w.useCallback((S,p)=>{S.preventDefault(),S.stopPropagation(),s(!1);const x=S.dataTransfer.getData("elementId");if(x){l({draggedId:x,sectionId:n,targetIndex:p}),d(null);return}try{const A=JSON.parse(S.dataTransfer.getData("properties"));if((A==null?void 0:A.type)==="section")return;const N={...A,id:Me.v4(),sectionId:n};t(N,n,p),d(null)}catch(A){console.error("Drop error:",A)}},[t,n,s,l]),v=w.useCallback((S,p=!1)=>a.jsx("div",{id:S.id,draggable:!0,onDragStart:x=>c(x,S.id),onDragOver:p?void 0:x=>{x.preventDefault(),x.stopPropagation()},onDrop:p?void 0:m,onDragEnd:b,className:he("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===S.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Hu(S,n)},S.id),[r,m,n,c,b]),h=w.useMemo(()=>(e==null?void 0:e.reduce((S,p)=>(p.gridId&&!p.isDeleted&&(S[p.gridId]=S[p.gridId]||[],S[p.gridId].push(p)),S),{}))||{},[e]),y=w.useMemo(()=>(e==null?void 0:e.filter(S=>!S.isDeleted))||[],[e]);if(!y.length)return a.jsx("div",{onDragOver:S=>S.preventDefault(),onDrop:S=>f(S,0),onDragEnd:b,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const g=y.filter(S=>!S.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(Ao,{index:0,isDragging:o,onDrop:f,onDragEnd:b}),g.map(S=>{const p=u.findIndex(x=>x.id===S.id);if(S.type==="grid"){const x=h[S.id]||[],A=r===S.id,N=!!r&&!A;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:S.id,draggable:!0,onDragStart:C=>c(C,S.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:b,className:he("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",A?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":N?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(wo,{element:S,state:"edit",children:a.jsx(gi,{element:S,sectionId:n,state:Ku,draggedElementId:r,children:x==null?void 0:x.map(C=>{var k;return a.jsx(pi,{col:(k=C.gridPosition)==null?void 0:k.col,children:v(C,!0)},C.id)})})})}),a.jsx(Ao,{index:p+1,isDragging:o,onDrop:f,onDragEnd:b})]},S.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(S),a.jsx(Ao,{index:p+1,isDragging:o,onDrop:f,onDragEnd:b})]},S.id)})]})}const Vu=w.memo(Gu),zu=oe.object({title:oe.string(),description:oe.string(),disabled:oe.boolean().default(!1),isHidden:oe.boolean().default(!1),sendEmptyWhenHidden:oe.boolean().default(!1)}).required(),ko=Pe("config"),$u=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=w.useContext(De),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:c}=Re.useForm({resolver:fo(zu),defaultValues:i});if(w.useEffect(()=>{e||c()},[e,c]),!e)return null;const b=f=>{o(f,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(re,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(b),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(ce,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(ce,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(ce,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(ce,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"}),a.jsx(ce,{label:"Send Empty When Hidden",name:"sendEmptyWhenHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.sendEmptyWhenHidden,description:"Submits empty values for this section's fields when hidden"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(ko==null?void 0:ko.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},ju=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(re,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Wu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],Uu=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,copySection:d,duplicateSection:u,formDataLength:c,onDragOver:b,setIsDragging:m,isDragging:f,onReorderSection:v})=>{var S,p;const h=w.useRef(null),y=w.useRef((S=e==null?void 0:e.questionData)==null?void 0:S.length),g=w.useRef(f);return w.useEffect(()=>{var x,A;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>y.current&&!f&&!g.current){const N=document.getElementById("section-container");N&&requestAnimationFrame(()=>{N.scrollTo({top:N.scrollHeight,behavior:"smooth"})})}y.current=(A=e==null?void 0:e.questionData)==null?void 0:A.length},[(p=e==null?void 0:e.questionData)==null?void 0:p.length,f]),w.useEffect(()=>{g.current=f},[f]),a.jsx("div",{ref:h,onDragOver:x=>{x.dataTransfer.types.includes("sectionid")&&x.preventDefault()},onDrop:x=>{const A=x.dataTransfer.getData("sectionid");A&&(x.preventDefault(),x.stopPropagation(),v&&v(A,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
- ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:x=>{x.dataTransfer.setData("sectionid",e.id),x.dataTransfer.effectAllowed="move",m(!0)},onDragEnd:()=>m(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(re,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Copy section to clipboard",onClick:x=>{x.stopPropagation(),d==null||d(e.id)},children:a.jsx(re,{icon:"fluent:copy-20-regular"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Duplicate section",onClick:x=>{x.stopPropagation(),u==null||u(e.id)},children:a.jsx(re,{icon:"lucide:copy-plus"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Edit section",onClick:()=>l(e),children:a.jsx(re,{icon:"fluent:edit-28-regular"})}),c>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-red-50 text-gray-600 hover:text-red-600 transition-colors",title:"Delete section",onClick:()=>r(e.id),children:a.jsx(re,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(re,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:b,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(Vu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},qu=({onAddTemplate:e,templates:n})=>{var T;const i=[...Wu,...n||[]],[o,s]=w.useState(!1),[t,l]=w.useState(!1),r=w.useRef(null),d=w.useRef(null),{removeSection:u,addSection:c,formData:b,setIsDragging:m,setSelectedSection:f,selectedSection:v,activeSections:h,setActiveSections:y,setFormData:g,isDragging:S,pasteElement:p,copySection:x,pasteSection:A,duplicateSection:N}=w.useContext(De);w.useEffect(()=>{const P=I=>{var D;const B=I.target;if(B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable)return;const O=((D=I.clipboardData)==null?void 0:D.getData("text"))||"";O.includes("FORM_BUILDER_SECTION_CLIPBOARD")?A(void 0,O):v&&p(v,void 0,O)};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,p,A]);const C=w.useRef((b==null?void 0:b.length)||0);w.useEffect(()=>{var P;f(((P=b[0])==null?void 0:P.id)||null)},[]),w.useEffect(()=>{(b==null?void 0:b.length)>C.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),C.current=(b==null?void 0:b.length)||0},[b==null?void 0:b.length]);const k=w.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),E=w.useCallback((P,I)=>{g(B=>{const O=B.findIndex(K=>K.id===P),D=B.findIndex(K=>K.id===I);if(O===-1||D===-1||O===D)return B;const j=[...B],[q]=j.splice(O,1);return j.splice(D,0,q),j})},[g]);function _(P){h.includes(P)?y(I=>I.filter(B=>B!==P)):y(I=>[...I,P])}function M(P){r.current=P,s(!0)}const L=P=>{var B,O,D,j;const I=(q,K={})=>({...JSON.parse(JSON.stringify(q)),...K});if(P.sections&&Array.isArray(P.sections)){const K=P.sections.filter(Boolean).map(Z=>{var ie;const te=Me.v4(),se=(ie=Z.questionData)==null?void 0:ie.map(U=>I(U,{id:Me.v4(),sectionId:te}));if(se){const U=new Map;Z.questionData.forEach((ee,de)=>{U.set(ee.id,se[de].id)}),se.forEach(ee=>{ee.gridId&&U.has(ee.gridId)&&(ee.gridId=U.get(ee.gridId))})}return I(Z,{id:te,questionData:se||[]})});b.length===1&&b[0].title===""&&b[0].description===""&&(!((B=b[0])!=null&&B.questionData)||((D=(O=b[0])==null?void 0:O.questionData)==null?void 0:D.length)===0)?(g(K),K.length>0&&f((j=K[0])==null?void 0:j.id)):g(Z=>[...Z,...K])}},H=Pe("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx($u,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=b==null?void 0:b.filter(P=>!(P!=null&&P.isDeleted)))==null?void 0:T.map((P,I)=>{var B;return a.jsx(Uu,{section:P,index:I,selectedSection:v,setSelectedSection:f,activeSections:h,toggleSection:_,handleSectionEdit:M,removeSection:u,copySection:x,duplicateSection:N,formDataLength:((B=b==null?void 0:b.filter(O=>!(O!=null&&O.isDeleted)))==null?void 0:B.length)||0,onDragOver:k,setIsDragging:m,isDragging:S,onReorderSection:E},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4 flex-wrap gap-y-2",children:[a.jsx("button",{type:"button",onClick:()=>c(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline",children:"+ Add section"}),a.jsxs("button",{type:"button",onClick:()=>A(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline flex items-center gap-1",title:"Paste section from clipboard",children:[a.jsx(re,{icon:"lucide:clipboard-paste",iconClass:"text-sm"}),"Paste section"]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(ju,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:L})]})},Yu=()=>{const{formData:e,uploadUrl:n}=w.useContext(De),[i,o]=w.useState("multi"),s=Pe("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Po,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n||"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t)})})]})},Eo=({loadingClass:e})=>{const n=he("h-full w-full min-h-[300px] flex justify-center items-center",e);return w.useEffect(()=>{const i=Pe("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Ju=w.lazy(()=>Promise.resolve().then(()=>Dg));function Zu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=w.useContext(De);w.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),w.useEffect(()=>{r(n)},[n,r]);const c=w.useCallback(b=>{b.preventDefault();try{const m=JSON.parse(b.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:b=>b.preventDefault(),onDrop:b=>c(b),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(qu,{onAddTemplate:i,templates:o}):a.jsx(w.Suspense,{fallback:a.jsx(Eo,{loadingClass:"!w-full !h-full"}),children:a.jsx(Ju,{formData:u})})}),s==="canvas"&&a.jsx(be.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Yu,{})})})]})}const Xu=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],Qu=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],Ru=({formType:e="default"})=>{const[n,i]=w.useState(""),[o,s]=w.useState(null),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d,pasteSection:u}=w.useContext(De);w.useEffect(()=>{const x=()=>{try{const N=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard");if(N){const C=JSON.parse(N);(C==null?void 0:C.type)==="FORM_BUILDER_SECTION_CLIPBOARD"&&(C!=null&&C.section)?s("section"):(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.element)?(C==null?void 0:C.timestamp)&&Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(null)):s("element"):s(null)}else s(null)}catch(N){s(null)}};x();const A=setInterval(x,1e3);return()=>clearInterval(A)},[]);const c=w.useCallback((x,A)=>{if(!r){Ne.toast.error("Please select a section to add an element.");return}x.dataTransfer.setData("properties",JSON.stringify(A)),x.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function b(x){if(!r){Ne.toast.error("Please select a section to add an element.");return}const A={...x,id:Me.v4(),sectionId:r};l(A,r)}const m=Pe("config")||{},f=m.elementColor,v=m.elementBgColor,h=m.elementBorderColor,y=Md.filter(x=>x.label.toLowerCase().includes(n.toLowerCase())),g=e==="poll"?Qu:Xu,S=e==="poll"?Pd:Td,p=g==null?void 0:g.map(x=>({title:x.title,elements:y.filter(A=>{var N;return(N=S[x.key])==null?void 0:N.includes(A.type)})})).filter(x=>x.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:x=>i(x.target.value),name:"search",id:"search",autoComplete:"off"}),o==="section"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-purple-50 text-purple-700 hover:bg-purple-100 rounded-lg text-sm font-medium transition-colors border border-purple-200",onClick:()=>{typeof u=="function"&&u()},title:"Paste copied section",children:[a.jsx(re,{icon:"lucide:clipboard-paste"}),"Paste Section (Ctrl+V)"]}),o==="element"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors border border-blue-200",onClick:()=>{if(!r){Ne.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(re,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:p==null?void 0:p.map((x,A)=>{var N;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:x.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(N=x.elements)==null?void 0:N.map(C=>a.jsx("li",{onDragStart:k=>c(k,C),onDragEnd:()=>t(!1),onClick:()=>b(C),style:{borderColor:h,backgroundColor:v},className:`cursor-move text-[#475467] flex justify-between items-center \r
34
+ `}),a.jsx(fe.Popover,{className:"relative w-full",children:({open:y})=>a.jsxs(a.Fragment,{children:[a.jsxs(fe.Popover.Button,{disabled:i,className:ge(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(ue,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(fe.Transition,{show:y,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(fe.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:c.map(h=>a.jsx("button",{type:"button",onClick:()=>g(h,p,S),style:v===h?{backgroundColor:u}:{},className:ge("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===h?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:h},h))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(h=>a.jsx("button",{type:"button",onClick:()=>g(v,h,S),style:p===h?{backgroundColor:u}:{},className:ge("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",p===h?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:h},h))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:f.map(h=>a.jsx("button",{type:"button",onClick:()=>g(v,p,h),style:S===h?{backgroundColor:u}:{},className:ge("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",S===h?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:h},h))})]})]})})]})})]})};function lu({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(tu,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function No({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ge("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function ru({element:e,validationData:n}){var S,g;const{register:i=()=>({}),setValue:o,isReadOnly:s,watch:t,getValues:l}=n||{},r=typeof t=="function"?t(e==null?void 0:e.id):void 0,d=typeof l=="function"?l(e==null?void 0:e.id):void 0,[u,b]=N.useState(r!==void 0?r:d!==void 0?d:(S=e==null?void 0:e.value)!=null?S:null),c=r!==void 0?r:d!==void 0?d:u!=null?u:(g=e==null?void 0:e.value)!=null?g:null;N.useEffect(()=>{i(e.id)},[e.id,i]),N.useEffect(()=>{if(t){const y=t(h=>{h&&h[e.id]!==void 0&&b(h[e.id])});return()=>{var h;return(h=y.unsubscribe)==null?void 0:h.call(y)}}},[t,e.id]);const m=N.useCallback(y=>{o==null||o(e.id,y),b(y)},[e.id,o]),f=()=>{o==null||o(e.id,null),b(null)},p=(y=>{if(!y)return null;if(typeof y=="string")try{const h=JSON.parse(y);return Array.isArray(h)?h:[h]}catch(h){return null}return Array.isArray(y)?y:[y]})(c);return a.jsxs("div",{className:"w-full min-w-0 max-w-full",children:[!s&&a.jsx(ra,{onFileLoaded:m,disabled:s,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:f,list:p,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),s&&a.jsx(a.Fragment,{children:p&&p.length>0?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full",children:p.map((y,h)=>a.jsx("div",{className:"w-full min-w-0 max-w-full",children:a.jsx(la,{fileUrl:y.base64,fileName:y.name})},h))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function du({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=N.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsxs("div",{className:"relative w-full",children:[a.jsx("input",{placeholder:e.placeholder,type:t?"text":"password",className:ge("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none",title:t?"Hide password":"Show password",children:a.jsx(ue,{icon:t?"fluent:eye-off-24-regular":"fluent:eye-24-regular",iconClass:"text-lg"})})]})}function uu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:ge("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function cu(){return a.jsx("div",{children:"SectionInput"})}function bu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:ge("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const wn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function zn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,b]=N.useState(null),[c,m]=N.useState([]),[f,v]=N.useState(!1),p=N.useRef(!0);N.useEffect(()=>{const w=new AbortController,C=i!=null?i:o;let k="";u!==null?k=u:C&&(k=String(C));const E=async()=>{var L,H;if(n){v(!0);try{const T=Le("token"),P={...T?{headers:{Authorization:`Bearer ${T}`}}:{},signal:w.signal,params:k?{search:k}:{}};let D=(await qe.get(n,P)).data;if(D&&!Array.isArray(D)&&(D.data&&Array.isArray(D.data)?D=D.data:(L=D.data)!=null&&L.data&&Array.isArray(D.data.data)?D=D.data.data:D.results&&Array.isArray(D.results)?D=D.results:(H=D.data)!=null&&H.results&&Array.isArray(D.data.results)?D=D.data.results:D.items&&Array.isArray(D.items)&&(D=D.items)),Array.isArray(D)){const O=D.map(B=>{var K,$,Z,ie,ae,ee,j,R,ce,V,Q,te,X,F;if(typeof B=="string")return{label:B,value:B};const G=(ce=(ee=(ae=(ie=(Z=($=(K=B.label)!=null?K:B.name)!=null?$:B.title)!=null?Z:B.productName)!=null?ie:B.description)!=null?ae:B.text)!=null?ee:B.displayName)!=null?ce:String((R=(j=B.id)!=null?j:B.value)!=null?R:""),U=String((F=(X=(te=(Q=(V=B.value)!=null?V:B.id)!=null?Q:B.key)!=null?te:B.code)!=null?X:B.name)!=null?F:"");return{label:String(G),value:String(U)}});m(O)}}catch(T){qe.isCancel(T)||console.error("Failed to fetch options",T)}finally{w.signal.aborted||v(!1)}}},_=p.current&&C?0:400;p.current=!1;const M=setTimeout(()=>{E()},_);return()=>{clearTimeout(M),w.abort()}},[n,u,i,o]);const S=n?c:e,g=N.useMemo(()=>{const w=i!=null?i:o;if(w==null||w==="")return null;const C=S.find(k=>String(k.value)===String(w)||String(k.label)===String(w));return C||{label:s||(wn(w)?"":String(w)),value:String(w)}},[i,o,s,S]),[y,h]=N.useState(g);N.useEffect(()=>{const w=i!==void 0?i:o;if(w!==void 0)if(w===null||w==="")h(null);else{const C=S.find(k=>String(k.value)===String(w)||String(k.label)===String(w));h(C||(k=>k&&(String(k.value)===String(w)||String(k.label)===String(w))?{label:s||(k.label&&!wn(k.label)?k.label:wn(w)?"":String(w)),value:String(w)}:{label:s||(wn(w)?"":String(w)),value:String(w)}))}},[i,o,s,S]);const x=N.useMemo(()=>{let w=S;if(y&&!w.some(k=>String(k.value)===String(y.value)||String(k.label)===String(y.label))&&(w=[y,...w]),!u)return w;const C=u.toLowerCase();return w.filter(k=>k.label.toLowerCase().includes(C))},[u,S,y]),A=N.useCallback(w=>{h(w),t(r,w)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(fe.Combobox,{value:y,onChange:A,disabled:l,by:(w,C)=>w&&C?String(w.value)===String(C.value)||String(w.label)===String(C.label):w===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(fe.ComboboxInput,{className:`field-control ${d}`,displayValue:w=>{if(w!=null&&w.label&&!wn(w.label))return w.label;if(s)return s;if(w!=null&&w.label)return w.label;const C=i!=null?i:o;return C&&!wn(C)?String(C):""},onChange:w=>b(w.target.value),placeholder:f?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(fe.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:f?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(ue,{icon:"octicon:chevron-down-12"})})]}),a.jsx(fe.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:f?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):x==null?void 0:x.map((w,C)=>a.jsx(fe.ComboboxOption,{value:w,className:({active:k,selected:E})=>ge("select-option",{active:k,selected:E}),children:({selected:k})=>a.jsx("div",{className:ge("option-text",{selected:k}),children:w.label})},`${w.value}-${C}`))})]})})}function mu({element:e,validationData:n}){var v,p,S,g,y;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isViewer:r}=n||{},d=(p=(v=t?t(e.id):void 0)!=null?v:l?l(e.id):void 0)!=null?p:e==null?void 0:e.value,u=t?t(`${e.id}_metaData`):void 0,b=l?l(`${e.id}_metaData`):void 0,c=u||b||((S=e==null?void 0:e.metaData)==null?void 0:S.responseObject),m=(c==null?void 0:c.label)||(c==null?void 0:c.name);N.useEffect(()=>{i(e.id)},[e.id,i]);const f=r?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!r?a.jsx(an,{options:(g=e==null?void 0:e.options)!=null?g:[],register:i,name:e.id,setValue:s,trigger:o,value:d,className:ge("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(zn,{name:e.id,options:(y=e==null?void 0:e.options)!=null?y:[],apiUrl:f,value:d,selectedLabel:m,onGetValue:(h,x)=>{var A;s==null||s(h,(A=x==null?void 0:x.value)!=null?A:""),x&&(s==null||s(`${h}_metaData`,x)),o&&o(h)},readOnly:n==null?void 0:n.isReadOnly})})}function vu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:ge("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function fu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return N.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function hu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const pu=({imageUrl:e})=>{const[n,i]=N.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},gu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function yu({element:e,validationData:n}){var w;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=N.useState(),[r,d]=N.useState(!1),[u,b]=N.useState(!1),[c,m]=N.useState(""),f=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;N.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(f)},[f,v,e.valueSource,e.id,o]);const[p,S]=N.useState("");N.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:y,responseType:h}=e||{},x=N.useRef(null),A=N.useCallback(async C=>{var E,_,M,L,H,T,P,I,D,O,B,G,U,K;if(!g||typeof g!="string"||!g.trim()||!y)return;x.current&&x.current.abort();const k=new AbortController;x.current=k,d(!0),m(""),b(!1);try{let $;const Z={headers:{Authorization:`Bearer ${Le("token")}`},signal:k.signal};if(y.toLowerCase()==="get"){const ie=`${g}?value=${C}`;$=await qe.get(ie,Z)}else if(y.toLowerCase()==="post")$=await qe.post(g,{value:C},Z);else throw new Error("Unsupported HTTP method");if($.status===200)if(((_=(E=$==null?void 0:$.data)==null?void 0:E.data)==null?void 0:_.status)===!1||((M=$==null?void 0:$.data)==null?void 0:M.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),b(!1);else if(b(!0),h==="string"){let ae=((H=(L=$==null?void 0:$.data)==null?void 0:L.data)==null?void 0:H.description)||((T=$==null?void 0:$.data)==null?void 0:T.description)||((P=$==null?void 0:$.data)==null?void 0:P.data)||($==null?void 0:$.data)||"Validation successful";typeof ae=="object"&&ae!==null&&(ae=JSON.stringify(ae)),m(ae)}else{const ae=((D=(I=$==null?void 0:$.data)==null?void 0:I.data)==null?void 0:D.description)||((O=$==null?void 0:$.data)==null?void 0:O.description)||((B=$==null?void 0:$.data)==null?void 0:B.data)||($==null?void 0:$.data)||{};S(ae),typeof ae=="object"&&ae!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,ae)}}catch($){if(!qe.isCancel($)){console.error("Error validating input:",$);let Z=((U=(G=$==null?void 0:$.response)==null?void 0:G.data)==null?void 0:U.message)||((K=$==null?void 0:$.response)==null?void 0:K.data)||"Unable to validate input";typeof Z=="object"&&Z!==null&&(Z=JSON.stringify(Z)),m(Z),b(!1)}}finally{x.current===k&&d(!1)}},[y,h,g]);return N.useEffect(()=>{if(t){const C=setTimeout(()=>{A(t)},700);return()=>clearTimeout(C)}},[A,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ge("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(ue,{icon:"gg:check-o"})})]})]}),c&&h==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),h==="object"&&p&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(w=Object.entries(p))==null?void 0:w.map(([C,k])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:gu(C)}),hu(k)?a.jsx(pu,{imageUrl:k}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(k)})]},C))})]})}function xu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=N.useState([...i]);function l(u,b){t(c=>{const m=[...c];return m[b]={...m[b],value:u},m})}function r(u,b){return parseFloat(u)*parseFloat(b)||0}const d=N.useMemo(()=>s.reduce((u,b)=>{const c=r(b.key,b.value);return u+c},0),[s]);return N.useEffect(()=>{e&&e(s)},[s]),N.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((b,c)=>({key:b.value,value:Array.isArray(i)&&i[c]?i[c].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,b)=>{var c,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>l(f,b),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},b+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function Su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(xu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function wu({element:e}){return a.jsx("div",{className:ge("py-6",e==null?void 0:e.customClass)})}function Nu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:ge("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function Cu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Au({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function ku({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var f;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:b}=s(e.id,l.field);let c="border-gray-300";l.validate&&((b==null?void 0:b.isValid)===!1?c="border-red-500 bg-red-50":(b==null?void 0:b.isValid)===!0&&(c="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${c}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(ui,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const p=v==="yes",S=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:S,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:S,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===p,onChange:()=>o(p,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:p?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,p)=>o((p==null?void 0:p.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&b?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",b.data&&`[${b.data}]`]}),b.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=b.error)!=null?f:"",children:"✗"})]}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(ue,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const Eu=N.memo(ku);function Mu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=N.useState(e),l=Le("config"),r=N.useRef(s);r.current=s,N.useEffect(()=>{t(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const d=N.useCallback((m,f,v)=>{const p=r.current.map(S=>S.id===f?{...S,[v]:m}:S);t(p),n==null||n(p)},[n]),u=N.useCallback(()=>{const m=Me.v4(),f=o.reduce((p,S)=>(p[S.field]=S.field==="id"?m:"",p),{}),v=[...r.current,{id:m,...f}];t(v),n==null||n(v)},[o,n]),b=N.useCallback(m=>{const f=r.current.filter(v=>v.id!==m);t(f),n==null||n(f)},[n]),c=N.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,f)=>{var v;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(v=m.headerName)!=null?v:String(m.field),m.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${f}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(m=>a.jsx(Eu,{row:m,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:c,deleteRow:b},m.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:u,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Tu({element:e,validationData:n}){var v,p,S,g;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=(S=(p=(v=s&&s(e==null?void 0:e.id))!=null?v:n!=null&&n.getValues?n.getValues(e==null?void 0:e.id):void 0)!=null?p:e==null?void 0:e.value)!=null?S:{};let r=l;if(typeof l=="string"&&(l.trim().startsWith("{")||l.trim().startsWith("[")))try{r=JSON.parse(l)}catch(y){}const d=Array.isArray(r)?r:(g=r==null?void 0:r.rows)!=null?g:[];N.useEffect(()=>{i(e.id)},[e.id,i]);const u=N.useRef(""),b=N.useRef(e==null?void 0:e.id),c=N.useRef(e==null?void 0:e.dataColumns),m=N.useRef(o);b.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,m.current=o;const f=N.useCallback(y=>{var x;const h=JSON.stringify(y);h!==u.current&&(u.current=h,(x=m.current)==null||x.call(m,b.current,{rows:y,columns:c.current}))},[]);return a.jsx(Mu,{value:d,onChange:f,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const da=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:b=!1,isFloatingLabel:c=!1,subText:m,labelClass:f="",loading:v,disabled:p})=>{const[S,g]=N.useState(b?[]:null),y=ge("custom-select__control",e),h=N.useMemo(()=>n,[n]);N.useEffect(()=>{const A=n==null?void 0:n.find(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d});g(A||null)},[d,n]);const x=N.useMemo(()=>d==null||d===""||!n||n.length===0?!1:b&&Array.isArray(d)?Array.isArray(S)&&S.length<d.length:!n.some(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d}),[d,n,S,b]);return N.useEffect(()=>{S&&t&&s&&(t(l,S==null?void 0:S.value),s(l),u==null||u(l))},[l,S,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!c&&a.jsx("label",{className:"custom-select__label",children:r}),c&&r&&a.jsx("label",{className:ge("custom-select__floating-label",f),children:r}),a.jsx(fe.Listbox,{value:S,onChange:g,multiple:b,disabled:p,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(fe.Listbox.Button,{className:y,disabled:p,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(S==null?void 0:S.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(ue,{icon:"lucide:chevron-down"})})]}),a.jsx(fe.Transition,{as:N.Fragment,leave:"custom-select__transition",children:a.jsx(fe.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:h==null?void 0:h.map((A,w)=>a.jsx(fe.Listbox.Option,{value:A,className:({active:C})=>ge("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:ge("custom-select__option-label",C&&"custom-select__option--selected"),children:A.label})},w))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),x&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},Pu=({element:e,validationData:n})=>{var h;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isReadOnly:r}=n||{},d=(h=e==null?void 0:e.id)!=null?h:"cascadeValue",u=typeof t=="function"?t(d):void 0,b=typeof l=="function"?l(d):void 0,c=(u!==void 0?u:b)||"",[m,f]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[0]:""),[v,p]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[1]:""),S=(x,A)=>{const w=x&&A?`${x}_${A}`:"";s==null||s(d,w),o==null||o(d)},g=(x,A)=>{x==="first"?(f(A),p(""),S(A,"")):(p(A),S(m,A))};N.useEffect(()=>{if(typeof c=="string"&&c.includes("_")){const[x,A]=c.split("_");f(x),p(A)}else c||(f(""),p(""))},[c]);const y=N.useMemo(()=>{var x;return(x=e.options1)==null?void 0:x.filter(A=>A.key===m)},[e.options1,m]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(d)}),a.jsx("div",{className:"relative",children:a.jsx(da,{setValue:(x,A)=>g("first",A),options:e.options,name:`${d}`,register:i,value:m})}),m&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(da,{setValue:(x,A)=>g("second",A),options:y,name:`${d}`,register:i,value:v})]})]})},Lu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var g;const{register:d=()=>({}),trigger:u,setValue:b,watch:c,isReadOnly:m}=r||{},f=(g=c==null?void 0:c(l.id))!=null?g:0,[v,p]=N.useState(null);N.useEffect(()=>{f==null&&(b==null||b(l.id,e))},[]);const S=y=>{if(!i&&!m){const h=y+1;b==null||b(l.id,h),u==null||u(l.id),o==null||o(h)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(y,h)=>{const x=v!==null?h<=v:h<f;return a.jsx(ea,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&p(h),onMouseLeave:()=>!(i||m)&&p(null),onClick:()=>S(h)},h)})]})};function Bu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:ge("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function ua({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=N.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,p]=r.split(",").map(S=>S.trim());return{country:p,state:v}}return{country:r,state:""}},[r]),b=N.useRef(r),c=N.useMemo(()=>{var v,p;return d?((p=(v=fi.find(S=>S.name===d))==null?void 0:v.states)==null?void 0:p.map(S=>({label:S.name,value:S.name})))||[]:[]},[d]),m=(v,p)=>{const g=(p==null?void 0:p.value)||"";o&&g!==b.current&&(o(e.id,g),s==null||s(e.id),b.current=g)},f=(v,p)=>{const S=(p==null?void 0:p.value)||"",g=S?`${S}, ${d}`:d;o&&g!==b.current&&(o(e.id,g),s==null||s(e.id),b.current=g)};return N.useEffect(()=>{b.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(zn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),c.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(zn,{options:c,onGetValue:f,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const Co=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Iu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:b,description:c,onChange:m,onError:f}){const[v,p]=N.useState(""),[S,g]=N.useState(null),[y,h]=N.useState(""),x=N.useMemo(()=>{var M;return(M=Co==null?void 0:Co.slice().sort((L,H)=>L.label.localeCompare(H.label)))==null?void 0:M.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=N.useMemo(()=>v?x.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(v.toLowerCase())):x,[v,x]),w=(S==null?void 0:S.min)||10,C=(S==null?void 0:S.max)||10,k=()=>y?`${(S==null?void 0:S.phone)||"+234"}-${y}`:"",E=M=>{if(!M||typeof M!="string")return{code:"+234",number:""};const L=M.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};N.useEffect(()=>{if(l){const M=k();if(l!==M){const L=E(l);g(x.find(H=>H.phone===L.code)||x[0]),h(L.number)}}},[l,x]);const _=N.useMemo(()=>{if(r)return r;const M=y.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":M>0&&M<w?`Minimum length is ${w}`:M>C?`Maximum length is ${C}`:""},[r,y,w,C,o]);return N.useEffect(()=>{const M=k();M!==l&&(m==null||m(M))},[y,S]),N.useEffect(()=>{f==null||f(_||null)},[_]),a.jsxs("div",{className:`relative formGroup ${_&&!u?"has-error":""} ${b?"flex":""} ${!_&&y.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${b?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(ue,{icon:"lucide:phone-call"}),a.jsx(fe.Combobox,{value:S,onChange:g,children:a.jsxs("div",{className:"relative",children:[a.jsx(fe.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:M=>(M==null?void 0:M.phone)||"+234",placeholder:"+234",onChange:M=>p(M.target.value)}),a.jsx(fe.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(ue,{icon:"lucide:chevron-down"})}),a.jsx(fe.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:A==null?void 0:A.map((M,L)=>a.jsxs(fe.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${L}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:d,readOnly:u,onChange:M=>{const L=M.target.value.replace(/\D/g,"");h(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:w}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!_&&y.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(ue,{icon:"bi:check-lg"})})})]})]}),c&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function Du({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return N.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Iu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function _u({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;N.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),b=d?u?d:`https://${d}`:"",c=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[c&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:ge("field-control",c&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:b,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Ou({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=N.useMemo(()=>{const b=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const v=/@\[.*?\]\((.*?)\)/.exec(f);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...b,...m]))},[s]),l=i?i(t):[],r=N.useMemo(()=>{if(!s)return"";let u=s,b=!1;if(t.forEach((c,m)=>{const f=l[m],v=Number(f);(isNaN(v)||f===void 0||f===null||f==="")&&(b=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(v||0))}),b)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const m=new Function(`return ${c}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(c){return"Error"}},[s,t,l]);return N.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:ge("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Hu({element:e,validationData:n,state:i}){var f;const{register:o,watch:s,setValue:t}=n||{},[l,r]=N.useState({}),[d,u]=N.useState(0),b=s?s(e.id):null,c=!!(b||n!=null&&n.showResults);N.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const S=await fetch(e.externalApiUrl);if(!S.ok)return;const g=await S.json();let y={};Array.isArray(g)?g.forEach(x=>{const A=x.value||x.id||x.option,w=x.count||x.votes||x.value||0;A&&(y[A]=Number(w))}):typeof g=="object"&&(y=g),r(y);const h=Object.values(y).reduce((x,A)=>x+Number(A),0);u(h)}catch(S){console.error("Failed to fetch polling results",S)}};v();const p=setInterval(v,1e4);return()=>clearInterval(p)},[e.fetchExternalResults,e.externalApiUrl]),N.useEffect(()=>{e.fetchExternalResults||(b?(r({[b]:1}),u(1)):(r({}),u(0)))},[b,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(v=>{const p=l[v.value]||0,S=d>0?Math.round(p/d*100):0,g=b===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:ge("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",g?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[c&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${S}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:ge("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",g?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:g&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:ge("font-medium text-sm",g?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),c&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[S,"%"]}),g&&a.jsx(ue,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),c&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ca={textField:No,longText:vu,selectField:mu,multiSelect:xo,numberField:No,amountField:fu,date:au,time:lu,password:du,checkbox:bu,radio:uu,email:No,file:ru,dataGrid:Tu,section:cu,dataLookup:yu,tableInput:Su,spacer:wu,divider:Nu,header:Cu,basicText:Au,phoneField:Du,cascadeSelect:Pu,rating:Lu,matrix:Bu,country:ua,bank:ua,url:_u,calculatedField:Ou,polling:Hu,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:ge("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=N.useState(r||e.options||[]);N.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const b=m=>{if(o||n==="edit"||m===0)return;const f=[...d],v=f[m-1];f[m-1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})},c=m=>{if(o||n==="edit"||m===d.length-1)return;const f=[...d],v=f[m+1];f[m+1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,f)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>b(f),disabled:o||n==="edit"||f===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(ue,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>c(f),disabled:o||n==="edit"||f===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(ue,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:f+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=b=>{o||n==="edit"||typeof l=="function"&&l(e.id,b,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(b=>a.jsxs("div",{onClick:()=>d(b.value),className:ge("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===b.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:b.imageUrl?a.jsx("img",{src:b.imageUrl,alt:b.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(ue,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:ge("p-3 text-center text-sm font-medium",r===b.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:b.label})]},b.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},ba="edit",Fu=(e,n)=>{var o;const i=ca[e.type];return i?a.jsx(wo,{element:e,state:ba,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:ba,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},pi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:ge("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Ku=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:b,removeElement:c}=N.useContext(He),m=N.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,v]=N.useState(null);N.useEffect(()=>{const x=()=>{v(null),d(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[d]);const p=N.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",v(A)},[]),S=N.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),v(A)},[]),g=N.useCallback((x,A)=>{const w=x.relatedTarget;w&&x.currentTarget.contains(w)||v(C=>C===A?null:C)},[]),y=N.useCallback((x,A)=>{var k;x.preventDefault(),x.stopPropagation(),d(!1),v(null);const w=A+1,C=x.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:w});return}try{const E=x.dataTransfer.getData("properties");if(!E)return;const _=JSON.parse(E);if((_==null?void 0:_.type)==="grid")return;const M=l.find(T=>T.id===n),L=(k=M==null?void 0:M.questionData)==null?void 0:k.find(T=>{var P;return!T.isDeleted&&T.gridId===e.id&&((P=T.gridPosition)==null?void 0:P.col)===w});L&&c(L.id,n);const H={..._,id:Me.v4(),sectionId:n,gridId:e.id,gridPosition:{col:w}};r(H,n)}catch(E){console.error("Drop failed in grid:",E),d(!1)}},[r,e.id,l,n,d,u]),h=(x,A,w)=>{var P,I,D;const C=x+1,k=(I=(P=l.find(O=>O.id===n))==null?void 0:P.questionData)==null?void 0:I.find(O=>{var B;return!O.isDeleted&&O.gridId===e.id&&((B=O.gridPosition)==null?void 0:B.col)===C}),E=(D=k==null?void 0:k.id)!=null?D:null,_=Array.isArray(i)&&i.find(O=>{var B;return((B=O==null?void 0:O.props)==null?void 0:B.col)===C}),M=b&&f===x,L=!!_,H=b&&!!t,T=L&&E&&w==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",E),O.dataTransfer.setData("properties",E),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:O=>y(O,x),onDragEnter:O=>S(O,x),onDragOver:O=>p(O,x),onDragLeave:O=>g(O,x),className:ge("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",w==="edit"?"py-3 ":"",L&&w==="edit"&&"cursor-grab active:cursor-grabbing border-none",A,!H&&!M&&"bg-white border-gray-200 text-gray-300",H&&!M&&!L&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",H&&!M&&L&&"bg-white border-orange-200 border-dashed",M&&!L&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",M&&L&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[L&&w==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(ue,{icon:"ph:dots-six-bold"})}),M&&!L&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(ue,{icon:"ph:plus-bold"}),"Drop here"]}),M&&L&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:ge("w-full select-none min-w-0",M&&"opacity-50 pointer-events-none"),children:_||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:w==="edit"&&a.jsx(ue,{icon:"ph:plus-bold"})})})]})},x)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((x,A)=>h(A,o,s))})})},gi=N.memo(Ku),Vu="edit";function Ao({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=N.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:ge("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(ue,{icon:"octicon:plus-16"}),"Drop here"]})})}function Gu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=N.useContext(He),[r,d]=N.useState(null),u=N.useMemo(()=>{var y;return((y=i.find(h=>h.id===n))==null?void 0:y.questionData)||[]},[i,n]),b=N.useCallback((y,h)=>{y.dataTransfer.setData("elementId",h),y.dataTransfer.setData("properties",h),y.dataTransfer.effectAllowed="move",d(h),s(!0)},[s]),c=N.useCallback(()=>{d(null),s(!1)},[s]);N.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=N.useCallback(y=>{y.preventDefault(),y.stopPropagation();const h=y.dataTransfer.getData("elementId"),x=y.currentTarget.id;if(!h||!x||h===x){c();return}const A=u.find(C=>C.id===h),w=u.findIndex(C=>C.id===x);A!=null&&A.gridId&&w!==-1?l({draggedId:h,sectionId:n,targetIndex:w}):l({draggedId:h,sectionId:n,targetId:x}),d(null),s(!1)},[n,l,s,c,u]),f=N.useCallback((y,h)=>{y.preventDefault(),y.stopPropagation(),s(!1);const x=y.dataTransfer.getData("elementId");if(x){l({draggedId:x,sectionId:n,targetIndex:h}),d(null);return}try{const A=JSON.parse(y.dataTransfer.getData("properties"));if((A==null?void 0:A.type)==="section")return;const w={...A,id:Me.v4(),sectionId:n};t(w,n,h),d(null)}catch(A){console.error("Drop error:",A)}},[t,n,s,l]),v=N.useCallback((y,h=!1)=>a.jsx("div",{id:y.id,draggable:!0,onDragStart:x=>b(x,y.id),onDragOver:h?void 0:x=>{x.preventDefault(),x.stopPropagation()},onDrop:h?void 0:m,onDragEnd:c,className:ge("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===y.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Fu(y,n)},y.id),[r,m,n,b,c]),p=N.useMemo(()=>(e==null?void 0:e.reduce((y,h)=>(h.gridId&&!h.isDeleted&&(y[h.gridId]=y[h.gridId]||[],y[h.gridId].push(h)),y),{}))||{},[e]),S=N.useMemo(()=>(e==null?void 0:e.filter(y=>!y.isDeleted))||[],[e]);if(!S.length)return a.jsx("div",{onDragOver:y=>y.preventDefault(),onDrop:y=>f(y,0),onDragEnd:c,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const g=S.filter(y=>!y.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(Ao,{index:0,isDragging:o,onDrop:f,onDragEnd:c}),g.map(y=>{const h=u.findIndex(x=>x.id===y.id);if(y.type==="grid"){const x=p[y.id]||[],A=r===y.id,w=!!r&&!A;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:y.id,draggable:!0,onDragStart:C=>b(C,y.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:c,className:ge("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",A?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":w?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(wo,{element:y,state:"edit",children:a.jsx(gi,{element:y,sectionId:n,state:Vu,draggedElementId:r,children:x==null?void 0:x.map(C=>{var k;return a.jsx(pi,{col:(k=C.gridPosition)==null?void 0:k.col,children:v(C,!0)},C.id)})})})}),a.jsx(Ao,{index:h+1,isDragging:o,onDrop:f,onDragEnd:c})]},y.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(y),a.jsx(Ao,{index:h+1,isDragging:o,onDrop:f,onDragEnd:c})]},y.id)})]})}const zu=N.memo(Gu),$u=ne.object({title:ne.string(),description:ne.string(),disabled:ne.boolean().default(!1),isHidden:ne.boolean().default(!1),sendEmptyWhenHidden:ne.boolean().default(!1)}).required(),ko=Le("config"),Wu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=N.useContext(He),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:b}=Re.useForm({resolver:fo($u),defaultValues:i});if(N.useEffect(()=>{e||b()},[e,b]),!e)return null;const c=f=>{o(f,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(ue,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(c),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(ve,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(ve,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(ve,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(ve,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"}),a.jsx(ve,{label:"Send Empty When Hidden",name:"sendEmptyWhenHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.sendEmptyWhenHidden,description:"Submits empty values for this section's fields when hidden"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(ko==null?void 0:ko.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},ju=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(ue,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Uu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],qu=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,copySection:d,duplicateSection:u,formDataLength:b,onDragOver:c,setIsDragging:m,isDragging:f,onReorderSection:v})=>{var y,h;const p=N.useRef(null),S=N.useRef((y=e==null?void 0:e.questionData)==null?void 0:y.length),g=N.useRef(f);return N.useEffect(()=>{var x,A;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>S.current&&!f&&!g.current){const w=document.getElementById("section-container");w&&requestAnimationFrame(()=>{w.scrollTo({top:w.scrollHeight,behavior:"smooth"})})}S.current=(A=e==null?void 0:e.questionData)==null?void 0:A.length},[(h=e==null?void 0:e.questionData)==null?void 0:h.length,f]),N.useEffect(()=>{g.current=f},[f]),a.jsx("div",{ref:p,onDragOver:x=>{x.dataTransfer.types.includes("sectionid")&&x.preventDefault()},onDrop:x=>{const A=x.dataTransfer.getData("sectionid");A&&(x.preventDefault(),x.stopPropagation(),v&&v(A,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
+ ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:x=>{x.dataTransfer.setData("sectionid",e.id),x.dataTransfer.effectAllowed="move",m(!0)},onDragEnd:()=>m(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(ue,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Copy section to clipboard",onClick:x=>{x.stopPropagation(),d==null||d(e.id)},children:a.jsx(ue,{icon:"fluent:copy-20-regular"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Duplicate section",onClick:x=>{x.stopPropagation(),u==null||u(e.id)},children:a.jsx(ue,{icon:"lucide:copy-plus"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Edit section",onClick:()=>l(e),children:a.jsx(ue,{icon:"fluent:edit-28-regular"})}),b>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-red-50 text-gray-600 hover:text-red-600 transition-colors",title:"Delete section",onClick:()=>r(e.id),children:a.jsx(ue,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(ue,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:c,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(zu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},Yu=({onAddTemplate:e,templates:n})=>{var T;const i=[...Uu,...n||[]],[o,s]=N.useState(!1),[t,l]=N.useState(!1),r=N.useRef(null),d=N.useRef(null),{removeSection:u,addSection:b,formData:c,setIsDragging:m,setSelectedSection:f,selectedSection:v,activeSections:p,setActiveSections:S,setFormData:g,isDragging:y,pasteElement:h,copySection:x,pasteSection:A,duplicateSection:w}=N.useContext(He);N.useEffect(()=>{const P=I=>{var B;const D=I.target;if(D.tagName==="INPUT"||D.tagName==="TEXTAREA"||D.isContentEditable)return;const O=((B=I.clipboardData)==null?void 0:B.getData("text"))||"";O.includes("FORM_BUILDER_SECTION_CLIPBOARD")?A(void 0,O):v&&h(v,void 0,O)};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,h,A]);const C=N.useRef((c==null?void 0:c.length)||0);N.useEffect(()=>{var P;f(((P=c[0])==null?void 0:P.id)||null)},[]),N.useEffect(()=>{(c==null?void 0:c.length)>C.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),C.current=(c==null?void 0:c.length)||0},[c==null?void 0:c.length]);const k=N.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),E=N.useCallback((P,I)=>{g(D=>{const O=D.findIndex(K=>K.id===P),B=D.findIndex(K=>K.id===I);if(O===-1||B===-1||O===B)return D;const G=[...D],[U]=G.splice(O,1);return G.splice(B,0,U),G})},[g]);function _(P){p.includes(P)?S(I=>I.filter(D=>D!==P)):S(I=>[...I,P])}function M(P){r.current=P,s(!0)}const L=P=>{var D,O,B,G;const I=(U,K={})=>({...JSON.parse(JSON.stringify(U)),...K});if(P.sections&&Array.isArray(P.sections)){const K=P.sections.filter(Boolean).map(Z=>{var ee;const ie=Me.v4(),ae=(ee=Z.questionData)==null?void 0:ee.map(j=>I(j,{id:Me.v4(),sectionId:ie}));if(ae){const j=new Map;Z.questionData.forEach((R,ce)=>{j.set(R.id,ae[ce].id)}),ae.forEach(R=>{R.gridId&&j.has(R.gridId)&&(R.gridId=j.get(R.gridId))})}return I(Z,{id:ie,questionData:ae||[]})});c.length===1&&c[0].title===""&&c[0].description===""&&(!((D=c[0])!=null&&D.questionData)||((B=(O=c[0])==null?void 0:O.questionData)==null?void 0:B.length)===0)?(g(K),K.length>0&&f((G=K[0])==null?void 0:G.id)):g(Z=>[...Z,...K])}},H=Le("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx(Wu,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=c==null?void 0:c.filter(P=>!(P!=null&&P.isDeleted)))==null?void 0:T.map((P,I)=>{var D;return a.jsx(qu,{section:P,index:I,selectedSection:v,setSelectedSection:f,activeSections:p,toggleSection:_,handleSectionEdit:M,removeSection:u,copySection:x,duplicateSection:w,formDataLength:((D=c==null?void 0:c.filter(O=>!(O!=null&&O.isDeleted)))==null?void 0:D.length)||0,onDragOver:k,setIsDragging:m,isDragging:y,onReorderSection:E},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4 flex-wrap gap-y-2",children:[a.jsx("button",{type:"button",onClick:()=>b(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline",children:"+ Add section"}),a.jsxs("button",{type:"button",onClick:()=>A(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline flex items-center gap-1",title:"Paste section from clipboard",children:[a.jsx(ue,{icon:"lucide:clipboard-paste",iconClass:"text-sm"}),"Paste section"]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(ju,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:L})]})},Ju=()=>{const{formData:e,uploadUrl:n}=N.useContext(He),[i,o]=N.useState("multi"),s=Le("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Po,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n||"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t),preview:!0})})]})},Eo=({loadingClass:e})=>{const n=ge("h-full w-full min-h-[300px] flex justify-center items-center",e);return N.useEffect(()=>{const i=Le("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Zu=N.lazy(()=>Promise.resolve().then(()=>_g));function Xu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=N.useContext(He);N.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),N.useEffect(()=>{r(n)},[n,r]);const b=N.useCallback(c=>{c.preventDefault();try{const m=JSON.parse(c.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:c=>c.preventDefault(),onDrop:c=>b(c),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(Yu,{onAddTemplate:i,templates:o}):a.jsx(N.Suspense,{fallback:a.jsx(Eo,{loadingClass:"!w-full !h-full"}),children:a.jsx(Zu,{formData:u})})}),s==="canvas"&&a.jsx(fe.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Ju,{})})})]})}const Qu=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],Ru=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],ec=({formType:e="default"})=>{const[n,i]=N.useState(""),[o,s]=N.useState(null),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d,pasteSection:u}=N.useContext(He);N.useEffect(()=>{const x=()=>{try{const w=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard");if(w){const C=JSON.parse(w);(C==null?void 0:C.type)==="FORM_BUILDER_SECTION_CLIPBOARD"&&(C!=null&&C.section)?s("section"):(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.element)?(C==null?void 0:C.timestamp)&&Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(null)):s("element"):s(null)}else s(null)}catch(w){s(null)}};x();const A=setInterval(x,1e3);return()=>clearInterval(A)},[]);const b=N.useCallback((x,A)=>{if(!r){we.toast.error("Please select a section to add an element.");return}x.dataTransfer.setData("properties",JSON.stringify(A)),x.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function c(x){if(!r){we.toast.error("Please select a section to add an element.");return}const A={...x,id:Me.v4(),sectionId:r};l(A,r)}const m=Le("config")||{},f=m.elementColor,v=m.elementBgColor,p=m.elementBorderColor,S=Td.filter(x=>x.label.toLowerCase().includes(n.toLowerCase())),g=e==="poll"?Ru:Qu,y=e==="poll"?Ld:Pd,h=g==null?void 0:g.map(x=>({title:x.title,elements:S.filter(A=>{var w;return(w=y[x.key])==null?void 0:w.includes(A.type)})})).filter(x=>x.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:x=>i(x.target.value),name:"search",id:"search",autoComplete:"off"}),o==="section"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-purple-50 text-purple-700 hover:bg-purple-100 rounded-lg text-sm font-medium transition-colors border border-purple-200",onClick:()=>{typeof u=="function"&&u()},title:"Paste copied section",children:[a.jsx(ue,{icon:"lucide:clipboard-paste"}),"Paste Section (Ctrl+V)"]}),o==="element"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors border border-blue-200",onClick:()=>{if(!r){we.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(ue,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:h==null?void 0:h.map((x,A)=>{var w;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:x.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(w=x.elements)==null?void 0:w.map(C=>a.jsx("li",{onDragStart:k=>b(k,C),onDragEnd:()=>t(!1),onClick:()=>c(C),style:{borderColor:p,backgroundColor:v},className:`cursor-move text-[#475467] flex justify-between items-center \r
36
36
  border-[1.5px] border-[#98A2B3] rounded-lg py-2 px-2 shadow-custom\r
37
37
  hover:shadow-lg transition-all duration-200\r
38
- active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:f},children:a.jsx(re,{icon:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:f},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},A)})})})]})},ec=w.memo(Ru),Je=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:c="button",style:b,onClick:m})=>{const f=he("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(re,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(re,{icon:s})})]});return u?a.jsx("div",{className:f,children:v()}):d?a.jsx(Ar.Link,{to:d,className:f,children:v()}):a.jsx("button",{disabled:n,type:c,className:f,"data-testid":"btn",onClick:m,style:b,children:v()})};function nc(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ic=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=w.useContext(De);if(!e)return null;const s=Pe("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(nc,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Po,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function oc(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function sc({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:c}){const{formData:b,setShowPreview:m,showPreview:f,undo:v,redo:h,canUndo:y,canRedo:g}=w.useContext(De),[S,p]=w.useState(!1),[x,A]=w.useState(!1),[N,C]=w.useState(e||""),k=Pe("config");function E(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(L){console.warn("Could not save formData to localStorage",L)}i==null||i(b)}function _(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(L){console.warn("Could not save formData to localStorage",L)}o==null||o(b)}function M(){A(!1),r&&N!==e&&r(N.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(oc,{})})," ",x?a.jsx("input",{type:"text",value:N,onChange:L=>C(L.target.value),onBlur:M,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>A(!0),children:N||"Untitled"})]}),S&&a.jsx(ic,{isOpen:S,onClose:()=>p(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(re,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(re,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Je,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${y?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!y}),a.jsx(Je,{onClick:h,text:"",btnClass:`!px-2 bg-transparent redo ${g?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!g}),c&&a.jsx(Je,{onClick:c,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(k==null?void 0:k.buttonColor)||"#333"}}),a.jsx(Je,{onClick:()=>m(L=>!L),text:f?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:f?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Je,{onClick:E,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Je,{onClick:_,text:"Publish",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function ac({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:v,onAddTemplate:h,templates:y,onShowVersion:g,formType:S="default"}){const[p,x]=w.useState("canvas");return a.jsxs(Ms,{onChange:n,onLogAction:i,deleteMode:s||(t==null?void 0:t.deleteMode)||"remove",children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[p==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(ec,{formType:S})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${p==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(sc,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:f,viewMode:p,setViewMode:x,onShowVersion:g})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(Eo,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Zu,{questionData:o,uploadUrl:v,onAddTemplate:h,templates:y,viewMode:p})})]})]})})]})}const tc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:c,previewLoading:b,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:h,onAddTemplate:y,templates:g,onShowVersion:S,formType:p})=>(w.useEffect(()=>{l&&na("config",l)},[l]),a.jsx(ac,{onSubmit:e,onChange:n,onLogAction:i,onPublish:c,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:b,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:h,onAddTemplate:y,templates:g,onShowVersion:S,formType:p})),tn={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},lc=e=>({textField:oe.string().nullable(),longText:oe.string().nullable(),numberField:oe.number().nullable().transform(i=>isNaN(i)?null:i),amountField:oe.number().nullable().transform(i=>isNaN(i)?null:i),selectField:oe.string().nullable(),checkbox:oe.mixed().nullable(),radio:oe.mixed().nullable(),matrix:oe.mixed().nullable(),email:oe.string().nullable().test("email-format",tn.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:oe.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:oe.string().nullable().test("url-format",tn.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||oe.mixed().nullable(),rc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||tn.required):e.required(i||tn.required):e,dc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||tn.minLength(n))),i&&(t=t.max(i,s||tn.maxLength(i))),t},uc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||tn.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||tn.maxAmount(i))),t},Mo=(e,n)=>{if(e!=null&&e.isDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function cc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isDeleted||!Mo(r,o))return;const{id:d,type:u,isRequired:c,requiredMessage:b}=r,m=!!(r.isDisabled||r.disabled),f=!!(n||r.isReadOnly||r.readOnly);if(m||f||i){s[d]=oe.mixed().notRequired().nullable();return}let v=lc(u);v=rc(v,c,b),u==="textField"||u==="longText"||u==="email"||u==="url"?v=dc(v,r):(u==="numberField"||u==="amountField")&&(v=uc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",h=>{var S;if(h==null||h===""||Array.isArray(h)&&h.length===0)return!c;const g=((S=r.options)==null?void 0:S.length)||0;return Array.isArray(h)?h.length>=g:g<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,h=>h==null||h===""||Array.isArray(h)&&h.length===0?!c:Array.isArray(h)?h.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),oe.object().shape(s)}const ma=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},bc=({results:e})=>{var o,s,t,l,r,d,u;const[n,i]=w.useState(!0);return e?a.jsxs("div",{className:"mt-4 w-full",children:[n&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((o=e.responsesData)==null?void 0:o.options)&&e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b)),e.type==="rating"&&((s=e.responsesData)==null?void 0:s.options)&&a.jsxs(a.Fragment,{children:[((t=e.responsesData)==null?void 0:t.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b))]}),e.type==="matrix"&&((l=e.responsesData)==null?void 0:l.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,b)=>{var m;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(m=c.columns)==null?void 0:m.map((f,v)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:f.label}),a.jsxs("span",{children:[Math.round(f.percentage),"% (",f.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${f.percentage}%`}})})]},v))})]},b)})}),e.type==="ranking"&&((r=e.responsesData)==null?void 0:r.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,b)=>{var m,f;return((m=c.averageRank)!=null?m:1/0)-((f=b.averageRank)!=null?f:1/0)}).map((c,b)=>{var m,f;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(m=c.averageRank)!=null?m:b+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:ma(c.label),children:ma(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(f=c.pointsPercentage)!=null?f:c.percentage}%`}})})]})]},b)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((d=e.responsesData)==null?void 0:d.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((u=e.responsesData)==null?void 0:u.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},b))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>i(!n),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(re,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),n?"Hide Results":"Show Results"]})]}):null},Nn=({element:e,validationData:n})=>{var l;const i=ca[e.type],{answerData:o}=w.useContext(De),s=w.useMemo(()=>{var r;return(r=e==null?void 0:e.acceptedFiles)==null?void 0:r.map(d=>d.label).join(", ")},[e]),t=w.useMemo(()=>Mo(e,o),[o,e]);return i?a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description}),(n==null?void 0:n.showResults)&&((l=n==null?void 0:n.pollResults)==null?void 0:l[e.id])&&a.jsx(bc,{results:n.pollResults[e.id]})]}):null},Cn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function mc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(pi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(Nn,{element:l,validationData:Cn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(Nn,{element:s,validationData:Cn(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function vc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const c=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(b=>b.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:c==null?void 0:c.map(b=>{var m,f,v;return a.jsxs(pi,{col:(m=b.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(Nn,{element:b,validationData:Cn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(f=n==null?void 0:n.errors)==null?void 0:f[b.id])==null?void 0:v.message})]},b.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(Nn,{element:t,validationData:Cn(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const To=Pe("config");function fc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),i())},d=c=>{var b;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(gi,{element:c,customClass:"p-0 min-h-[60px] border-none w-full",children:(b=c.gridChildren)==null?void 0:b.map(m=>{var f,v,h;return a.jsxs(pi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[a.jsx(Nn,{element:m,validationData:Cn(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(h=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:h.message})]},m.id)})})},c.id)},u=c=>{var b,m;return a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0 w-full",c.elementClass),children:[a.jsx(Nn,{element:c,validationData:Cn(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(b=n==null?void 0:n.errors)==null?void 0:b[c.id])==null?void 0:m.message})]},c.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(be.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Je,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(To==null?void 0:To.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-medium text-sm ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(re,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function hc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const pc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:c,showResults:b,sendHiddenSectionsAsEmpty:m=!1})=>{var ee,de,z,R,ae,Q,G,Y,$,W;const{setAnswerData:f,setUploadUrl:v,apiActivityCount:h}=w.useContext(De),[y,g]=w.useState(0),[S,p]=w.useState(0),x=w.useMemo(()=>e.filter(F=>!F.isHidden&&!F.isDeleted).map(F=>{var ne;const X=F.isDisabled||F.disabled,J=((ne=F==null?void 0:F.questionData)==null?void 0:ne.filter(me=>!me.isDeleted))||[];return X?{...F,questionData:J.map(me=>({...me,isDisabled:!0}))}:{...F,questionData:J}}),[e]),A=(ee=x==null?void 0:x.length)!=null?ee:0,N=Pe("config"),C=w.useCallback(async(F,X,J)=>{const ne=cc({formData:x,isReadOnly:t,ignoreValidation:i,answerData:F});return fo(ne)(F,X,J)},[x,t,i]),k=Re.useForm({resolver:C,mode:"onSubmit",defaultValues:{}}),{register:E,setValue:_,control:M,handleSubmit:L,reset:H,getValues:T,watch:P,formState:{errors:I,isSubmitting:B},trigger:O,setError:D,clearErrors:j}=k,q=Re.useWatch({control:M}),K=w.useMemo(()=>q,[JSON.stringify(q)]),V=w.useMemo(()=>{if(l!=="conversational")return[];const F=[];return x.forEach(X=>{var J;(J=X==null?void 0:X.questionData)==null||J.forEach(ne=>{var me;if(Mo(ne,K))if(ne.type==="grid"){const fe=(me=X==null?void 0:X.questionData)==null?void 0:me.filter(pe=>pe.gridId===ne.id);F.push({...ne,gridChildren:fe})}else ne.gridId||F.push(ne)})}),F},[x,K,l]),Z=w.useCallback(F=>{s&&s(F)},[s]);w.useEffect(()=>{v(u)},[v,u]),w.useEffect(()=>{if(!(e!=null&&e.length)||!s)return;const F={...T?T():{},...K||{}},X=e.filter(J=>!(J!=null&&J.isDeleted)).flatMap(J=>{var pe,ye;const ne=!!(J!=null&&J.isHidden),me=!!(m||J!=null&&J.sendEmptyWhenHidden||J!=null&&J.clearWhenHidden),fe=ne&&me;return((ye=(pe=J==null?void 0:J.questionData)==null?void 0:pe.filter(le=>!(le!=null&&le.isDeleted)))==null?void 0:ye.map(le=>{var ve;const xe=F[le.id]!==void 0?F[le.id]:le.value!==void 0&&le.value!==null?le.value:"",ge=F[`${le.id}_metaData`]||((ve=le.metaData)==null?void 0:ve.responseObject);return{id:le.id,value:fe?"":xe!=null?xe:"",sectionId:J.id,type:le.type,metaData:{prefix:le.prefix,dateFormat:le.dateFormat,...fe||!ge?{}:{responseObject:ge}}}}))||[]});Z(X),f(F)},[K,e,Z,s,f,m,T]),w.useEffect(()=>{n!=null&&n.length&&H(hc(n))},[n,H]);const te=w.useCallback(F=>{const X={...T?T():{},...F||{}},J=e.filter(ne=>!(ne!=null&&ne.isDeleted)).flatMap(ne=>{var ye,le;const me=!!(ne!=null&&ne.isHidden),fe=!!(m||ne!=null&&ne.sendEmptyWhenHidden||ne!=null&&ne.clearWhenHidden),pe=me&&fe;return((le=(ye=ne==null?void 0:ne.questionData)==null?void 0:ye.filter(xe=>!(xe!=null&&xe.isDeleted)))==null?void 0:le.map(xe=>{var _e;const ge=X[xe.id]!==void 0?X[xe.id]:xe.value!==void 0&&xe.value!==null?xe.value:"",ve=X[`${xe.id}_metaData`]||((_e=xe.metaData)==null?void 0:_e.responseObject);return{id:xe.id,value:pe?"":ge!=null?ge:"",sectionId:ne.id,type:xe.type,metaData:{prefix:xe.prefix,dateFormat:xe.dateFormat,...pe||!ve?{}:{responseObject:ve}}}}))||[]});Object.keys(I).length>0||o==null||o(J)},[I,e,T,o,m]),se=w.useCallback(async()=>{var F,X;if(l==="conversational"){if(!i){const J=V[S];if(!J)return;const ne=J.gridChildren?J.gridChildren.map(fe=>fe.id):[J.id];if(!await O(ne))return}S<V.length-1?p(J=>J+1):L(te)();return}if(!i){const J=(X=(F=x==null?void 0:x[y])==null?void 0:F.questionData)==null?void 0:X.map(me=>me.id);if(!await O(J))return}g(J=>J+1)},[y,S,V,x,i,O,l,L,te]),ie=w.useCallback(()=>{if(l==="conversational"){p(F=>Math.max(0,F-1));return}g(F=>F-1)},[l]),U=w.useMemo(()=>({register:E,setValue:_,watch:P,errors:I,trigger:O,isSubmitting:B,isReadOnly:t,getValues:T,setError:D,clearErrors:j,apiActivityCount:h,pollResults:c,showResults:b,isViewer:!0}),[E,_,P,I,O,B,t,T,D,j,h,c,b]);return a.jsxs(Re.FormProvider,{...k,children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:L(te),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((de=x==null?void 0:x[y])==null?void 0:de.title)||((z=x==null?void 0:x[y])==null?void 0:z.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((R=x[y])==null?void 0:R.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(ae=x[y])==null?void 0:ae.title}),((Q=x[y])==null?void 0:Q.description)&&a.jsx("p",{className:"text-sm",children:(G=x[y])==null?void 0:G.description})]}),l==="multi"?a.jsx(vc,{form_data:x,options:U,current:y}):l==="conversational"?a.jsx(fc,{element:V[S],options:U,onNext:se,onPrev:ie,isFirst:S===0,isLast:S===V.length-1,isReadOnly:t}):a.jsx(mc,{form_data:x,options:U})]},l==="conversational"?`conv-${S}`:(Y=x==null?void 0:x[y])==null?void 0:Y.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",y>0&&a.jsxs("button",{type:"button",onClick:ie,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[a.jsx(re,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),y<A-1&&a.jsx(Je,{type:"button",text:"Next",onClick:se,style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(y===A-1||t)&&!i&&(($=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(I).length>0}):r)!=null?$:a.jsx(Je,{isDisabled:B||Object.keys(I).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((W=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(I).length>0}):r)!=null?W:a.jsx(Je,{isDisabled:B||Object.keys(I).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&V.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(S+1)/V.length*100}%`,background:(N==null?void 0:N.buttonColor)||"#2563EB"}})})]})]})},gc=w.memo(pc);function Po({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:c,uploadUrl:b,pollResults:m,showResults:f,sendHiddenSectionsAsEmpty:v=!1}){w.useEffect(()=>{l&&na("config",l)},[l]);const h=w.useCallback(y=>{c&&c(y)},[c]);return t?a.jsx(Eo,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Ms,{children:a.jsx(gc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:h,uploadUrl:b,pollResults:m,showResults:f,sendHiddenSectionsAsEmpty:v,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Le(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Le(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var yc={value:()=>{}};function yi(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new xi(i)}function xi(e){this._=e}function xc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}xi.prototype=yi.prototype={constructor:xi,on:function(e,n){var i=this._,o=xc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=Sc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=va(i[s],e.name,n);else if(n==null)for(s in i)i[s]=va(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new xi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function Sc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function va(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=yc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Lo="http://www.w3.org/1999/xhtml";const fa={svg:"http://www.w3.org/2000/svg",xhtml:Lo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Si(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),fa.hasOwnProperty(n)?{space:fa[n],local:e}:e}function wc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Lo&&n.documentElement.namespaceURI===Lo?n.createElement(e):n.createElementNS(i,e)}}function Nc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ha(e){var n=Si(e);return(n.local?Nc:wc)(n)}function Cc(){}function Bo(e){return e==null?Cc:function(){return this.querySelector(e)}}function Ac(e){typeof e!="function"&&(e=Bo(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,c=0;c<l;++c)(d=t[c])&&(u=e.call(d,d.__data__,c,t))&&("__data__"in d&&(u.__data__=d.__data__),r[c]=u);return new Ke(o,this._parents)}function kc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ec(){return[]}function pa(e){return e==null?Ec:function(){return this.querySelectorAll(e)}}function Mc(e){return function(){return kc(e.apply(this,arguments))}}function Tc(e){typeof e=="function"?e=Mc(e):e=pa(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Ke(o,s)}function ga(e){return function(){return this.matches(e)}}function ya(e){return function(n){return n.matches(e)}}var Pc=Array.prototype.find;function Lc(e){return function(){return Pc.call(this.children,e)}}function Bc(){return this.firstElementChild}function Ic(e){return this.select(e==null?Bc:Lc(typeof e=="function"?e:ya(e)))}var Dc=Array.prototype.filter;function _c(){return Array.from(this.children)}function Oc(e){return function(){return Dc.call(this.children,e)}}function Hc(e){return this.selectAll(e==null?_c:Oc(typeof e=="function"?e:ya(e)))}function Fc(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Ke(o,this._parents)}function xa(e){return new Array(e.length)}function Kc(){return new Ke(this._enter||this._groups.map(xa),this._parents)}function wi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}wi.prototype={constructor:wi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Gc(e){return function(){return e}}function Vc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new wi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function zc(e,n,i,o,s,t,l){var r,d,u=new Map,c=n.length,b=t.length,m=new Array(c),f;for(r=0;r<c;++r)(d=n[r])&&(m[r]=f=l.call(d,d.__data__,r,n)+"",u.has(f)?s[r]=d:u.set(f,d));for(r=0;r<b;++r)f=l.call(e,t[r],r,t)+"",(d=u.get(f))?(o[r]=d,d.__data__=t[r],u.delete(f)):i[r]=new wi(e,t[r]);for(r=0;r<c;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function $c(e){return e.__data__}function jc(e,n){if(!arguments.length)return Array.from(this,$c);var i=n?zc:Vc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Gc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var c=o[u],b=s[u],m=b.length,f=Wc(e.call(c,c&&c.__data__,u,o)),v=f.length,h=r[u]=new Array(v),y=l[u]=new Array(v),g=d[u]=new Array(m);i(c,b,h,y,g,f,n);for(var S=0,p=0,x,A;S<v;++S)if(x=h[S]){for(S>=p&&(p=S+1);!(A=y[p])&&++p<v;);x._next=A||null}}return l=new Ke(l,o),l._enter=r,l._exit=d,l}function Wc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Uc(){return new Ke(this._exit||this._groups.map(xa),this._parents)}function qc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Yc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],c=o[d],b=u.length,m=r[d]=new Array(b),f,v=0;v<b;++v)(f=u[v]||c[v])&&(m[v]=f);for(;d<s;++d)r[d]=i[d];return new Ke(r,this._parents)}function Jc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function Zc(e){e||(e=Xc);function n(b,m){return b&&m?e(b.__data__,m.__data__):!b-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,c=0;c<r;++c)(u=l[c])&&(d[c]=u);d.sort(n)}return new Ke(s,this._parents).order()}function Xc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Qc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Rc(){return Array.from(this)}function eb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function nb(){let e=0;for(const n of this)++e;return e}function ib(){return!this.node()}function ob(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function sb(e){return function(){this.removeAttribute(e)}}function ab(e){return function(){this.removeAttributeNS(e.space,e.local)}}function tb(e,n){return function(){this.setAttribute(e,n)}}function lb(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function rb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function db(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function ub(e,n){var i=Si(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?ab:sb:typeof n=="function"?i.local?db:rb:i.local?lb:tb)(i,n))}function Sa(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function cb(e){return function(){this.style.removeProperty(e)}}function bb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function mb(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function vb(e,n,i){return arguments.length>1?this.each((n==null?cb:typeof n=="function"?mb:bb)(e,n,i==null?"":i)):An(this.node(),e)}function An(e,n){return e.style.getPropertyValue(n)||Sa(e).getComputedStyle(e,null).getPropertyValue(n)}function fb(e){return function(){delete this[e]}}function hb(e,n){return function(){this[e]=n}}function pb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function gb(e,n){return arguments.length>1?this.each((n==null?fb:typeof n=="function"?pb:hb)(e,n)):this.node()[e]}function wa(e){return e.trim().split(/^|\s+/)}function Io(e){return e.classList||new Na(e)}function Na(e){this._node=e,this._names=wa(e.getAttribute("class")||"")}Na.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ca(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Aa(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function yb(e){return function(){Ca(this,e)}}function xb(e){return function(){Aa(this,e)}}function Sb(e,n){return function(){(n.apply(this,arguments)?Ca:Aa)(this,e)}}function wb(e,n){var i=wa(e+"");if(arguments.length<2){for(var o=Io(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?Sb:n?yb:xb)(i,n))}function Nb(){this.textContent=""}function Cb(e){return function(){this.textContent=e}}function Ab(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function kb(e){return arguments.length?this.each(e==null?Nb:(typeof e=="function"?Ab:Cb)(e)):this.node().textContent}function Eb(){this.innerHTML=""}function Mb(e){return function(){this.innerHTML=e}}function Tb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Pb(e){return arguments.length?this.each(e==null?Eb:(typeof e=="function"?Tb:Mb)(e)):this.node().innerHTML}function Lb(){this.nextSibling&&this.parentNode.appendChild(this)}function Bb(){return this.each(Lb)}function Ib(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Db(){return this.each(Ib)}function _b(e){var n=typeof e=="function"?e:ha(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ob(){return null}function Hb(e,n){var i=typeof e=="function"?e:ha(e),o=n==null?Ob:typeof n=="function"?n:Bo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Fb(){var e=this.parentNode;e&&e.removeChild(this)}function Kb(){return this.each(Fb)}function Gb(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Vb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function zb(e){return this.select(e?Vb:Gb)}function $b(e){return arguments.length?this.property("__data__",e):this.node().__data__}function jb(e){return function(n){e.call(this,n,this.__data__)}}function Wb(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function Ub(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function qb(e,n,i){return function(){var o=this.__on,s,t=jb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Yb(e,n,i){var o=Wb(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,c;d<u;++d)for(s=0,c=r[d];s<t;++s)if((l=o[s]).type===c.type&&l.name===c.name)return c.value}return}for(r=n?qb:Ub,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function ka(e,n,i){var o=Sa(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Jb(e,n){return function(){return ka(this,e,n)}}function Zb(e,n){return function(){return ka(this,e,n.apply(this,arguments))}}function Xb(e,n){return this.each((typeof n=="function"?Zb:Jb)(e,n))}function*Qb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ea=[null];function Ke(e,n){this._groups=e,this._parents=n}function $n(){return new Ke([[document.documentElement]],Ea)}function Rb(){return this}Ke.prototype=$n.prototype={constructor:Ke,select:Ac,selectAll:Tc,selectChild:Ic,selectChildren:Hc,filter:Fc,data:jc,enter:Kc,exit:Uc,join:qc,merge:Yc,selection:Rb,order:Jc,sort:Zc,call:Qc,nodes:Rc,node:eb,size:nb,empty:ib,each:ob,attr:ub,style:vb,property:gb,classed:wb,text:kb,html:Pb,raise:Bb,lower:Db,append:_b,insert:Hb,remove:Kb,clone:zb,datum:$b,on:Yb,dispatch:Xb,[Symbol.iterator]:Qb};function Ge(e){return typeof e=="string"?new Ke([[document.querySelector(e)]],[document.documentElement]):new Ke([[e]],Ea)}function em(e){let n;for(;n=e.sourceEvent;)e=n;return e}function ze(e,n){if(e=em(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const nm={passive:!1},jn={capture:!0,passive:!1};function Do(e){e.stopImmediatePropagation()}function kn(e){e.preventDefault(),e.stopImmediatePropagation()}function Ma(e){var n=e.document.documentElement,i=Ge(e).on("dragstart.drag",kn,jn);"onselectstart"in n?i.on("selectstart.drag",kn,jn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ta(e,n){var i=e.document.documentElement,o=Ge(e).on("dragstart.drag",null);n&&(o.on("click.drag",kn,jn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ni=e=>()=>e;function _o(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}_o.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function im(e){return!e.ctrlKey&&!e.button}function om(){return this.parentNode}function sm(e,n){return n==null?{x:e.x,y:e.y}:n}function am(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pa(){var e=im,n=om,i=sm,o=am,s={},t=yi("start","drag","end"),l=0,r,d,u,c,b=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",y).on("touchmove.drag",g,nm).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,A){if(!(c||!e.call(this,x,A))){var N=p(this,n.call(this,x,A),x,A,"mouse");N&&(Ge(x.view).on("mousemove.drag",v,jn).on("mouseup.drag",h,jn),Ma(x.view),Do(x),u=!1,r=x.clientX,d=x.clientY,N("start",x))}}function v(x){if(kn(x),!u){var A=x.clientX-r,N=x.clientY-d;u=A*A+N*N>b}s.mouse("drag",x)}function h(x){Ge(x.view).on("mousemove.drag mouseup.drag",null),Ta(x.view,u),kn(x),s.mouse("end",x)}function y(x,A){if(e.call(this,x,A)){var N=x.changedTouches,C=n.call(this,x,A),k=N.length,E,_;for(E=0;E<k;++E)(_=p(this,C,x,A,N[E].identifier,N[E]))&&(Do(x),_("start",x,N[E]))}}function g(x){var A=x.changedTouches,N=A.length,C,k;for(C=0;C<N;++C)(k=s[A[C].identifier])&&(kn(x),k("drag",x,A[C]))}function S(x){var A=x.changedTouches,N=A.length,C,k;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),C=0;C<N;++C)(k=s[A[C].identifier])&&(Do(x),k("end",x,A[C]))}function p(x,A,N,C,k,E){var _=t.copy(),M=ze(E||N,A),L,H,T;if((T=i.call(x,new _o("beforestart",{sourceEvent:N,target:m,identifier:k,active:l,x:M[0],y:M[1],dx:0,dy:0,dispatch:_}),C))!=null)return L=T.x-M[0]||0,H=T.y-M[1]||0,function P(I,B,O){var D=M,j;switch(I){case"start":s[k]=P,j=l++;break;case"end":delete s[k],--l;case"drag":M=ze(O||B,A),j=l;break}_.call(I,x,new _o(I,{sourceEvent:B,subject:T,target:m,identifier:k,active:j,x:M[0]+L,y:M[1]+H,dx:M[0]-D[0],dy:M[1]-D[1],dispatch:_}),C)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ni(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ni(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:Ni(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:Ni(!!x),m):o},m.on=function(){var x=t.on.apply(t,arguments);return x===t?m:x},m.clickDistance=function(x){return arguments.length?(b=(x=+x)*x,m):Math.sqrt(b)},m}function Oo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function La(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function Wn(){}var Un=.7,Ci=1/Un,En="\\s*([+-]?\\d+)\\s*",qn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ze="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tm=/^#([0-9a-f]{3,8})$/,lm=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),rm=new RegExp(`^rgb\\(${Ze},${Ze},${Ze}\\)$`),dm=new RegExp(`^rgba\\(${En},${En},${En},${qn}\\)$`),um=new RegExp(`^rgba\\(${Ze},${Ze},${Ze},${qn}\\)$`),cm=new RegExp(`^hsl\\(${qn},${Ze},${Ze}\\)$`),bm=new RegExp(`^hsla\\(${qn},${Ze},${Ze},${qn}\\)$`),Ba={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Oo(Wn,bn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ia,formatHex:Ia,formatHex8:mm,formatHsl:vm,formatRgb:Da,toString:Da});function Ia(){return this.rgb().formatHex()}function mm(){return this.rgb().formatHex8()}function vm(){return Ka(this).formatHsl()}function Da(){return this.rgb().formatRgb()}function bn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=tm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?_a(n):i===3?new Fe(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ai(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ai(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=lm.exec(e))?new Fe(n[1],n[2],n[3],1):(n=rm.exec(e))?new Fe(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=dm.exec(e))?Ai(n[1],n[2],n[3],n[4]):(n=um.exec(e))?Ai(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=cm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,1):(n=bm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,n[4]):Ba.hasOwnProperty(e)?_a(Ba[e]):e==="transparent"?new Fe(NaN,NaN,NaN,0):null}function _a(e){return new Fe(e>>16&255,e>>8&255,e&255,1)}function Ai(e,n,i,o){return o<=0&&(e=n=i=NaN),new Fe(e,n,i,o)}function fm(e){return e instanceof Wn||(e=bn(e)),e?(e=e.rgb(),new Fe(e.r,e.g,e.b,e.opacity)):new Fe}function Ho(e,n,i,o){return arguments.length===1?fm(e):new Fe(e,n,i,o==null?1:o)}function Fe(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Oo(Fe,Ho,La(Wn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Fe(mn(this.r),mn(this.g),mn(this.b),ki(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oa,formatHex:Oa,formatHex8:hm,formatRgb:Ha,toString:Ha}));function Oa(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}`}function hm(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}${vn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ha(){const e=ki(this.opacity);return`${e===1?"rgb(":"rgba("}${mn(this.r)}, ${mn(this.g)}, ${mn(this.b)}${e===1?")":`, ${e})`}`}function ki(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vn(e){return e=mn(e),(e<16?"0":"")+e.toString(16)}function Fa(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new $e(e,n,i,o)}function Ka(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof Wn||(e=bn(e)),!e)return new $e;if(e instanceof $e)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new $e(l,r,d,e.opacity)}function pm(e,n,i,o){return arguments.length===1?Ka(e):new $e(e,n,i,o==null?1:o)}function $e(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Oo($e,pm,La(Wn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new Fe(Fo(e>=240?e-240:e+120,s,o),Fo(e,s,o),Fo(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new $e(Ga(this.h),Ei(this.s),Ei(this.l),ki(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ki(this.opacity);return`${e===1?"hsl(":"hsla("}${Ga(this.h)}, ${Ei(this.s)*100}%, ${Ei(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ga(e){return e=(e||0)%360,e<0?e+360:e}function Ei(e){return Math.max(0,Math.min(1,e||0))}function Fo(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Ko=e=>()=>e;function gm(e,n){return function(i){return e+i*n}}function ym(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function xm(e){return(e=+e)==1?Va:function(n,i){return i-n?ym(n,i,e):Ko(isNaN(n)?i:n)}}function Va(e,n){var i=n-e;return i?gm(e,i):Ko(isNaN(e)?n:e)}const Mi=function e(n){var i=xm(n);function o(s,t){var l=i((s=Ho(s)).r,(t=Ho(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Va(s.opacity,t.opacity);return function(c){return s.r=l(c),s.g=r(c),s.b=d(c),s.opacity=u(c),s+""}}return o.gamma=e,o}(1);function Sm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function wm(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Nm(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Yn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Cm(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Xe(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function Am(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Yn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Go=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vo=new RegExp(Go.source,"g");function km(e){return function(){return e}}function Em(e){return function(n){return e(n)+""}}function za(e,n){var i=Go.lastIndex=Vo.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Go.exec(e))&&(s=Vo.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Xe(o,s)})),i=Vo.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Em(d[0].x):km(n):(n=d.length,function(u){for(var c=0,b;c<n;++c)r[(b=d[c]).i]=b.x(u);return r.join("")})}function Yn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ko(n):(i==="number"?Xe:i==="string"?(o=bn(n))?(n=o,Mi):za:n instanceof bn?Mi:n instanceof Date?Cm:wm(n)?Sm:Array.isArray(n)?Nm:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Am:Xe)(e,n)}var $a=180/Math.PI,zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ja(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*$a,skewX:Math.atan(d)*$a,scaleX:l,scaleY:r}}var Ti;function Mm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?zo:ja(n.a,n.b,n.c,n.d,n.e,n.f)}function Tm(e){return e==null||(Ti||(Ti=document.createElementNS("http://www.w3.org/2000/svg","g")),Ti.setAttribute("transform",e),!(e=Ti.transform.baseVal.consolidate()))?zo:(e=e.matrix,ja(e.a,e.b,e.c,e.d,e.e,e.f))}function Wa(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,c,b,m,f,v){if(u!==b||c!==m){var h=f.push("translate(",null,n,null,i);v.push({i:h-4,x:Xe(u,b)},{i:h-2,x:Xe(c,m)})}else(b||m)&&f.push("translate("+b+n+m+i)}function l(u,c,b,m){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),m.push({i:b.push(s(b)+"rotate(",null,o)-2,x:Xe(u,c)})):c&&b.push(s(b)+"rotate("+c+o)}function r(u,c,b,m){u!==c?m.push({i:b.push(s(b)+"skewX(",null,o)-2,x:Xe(u,c)}):c&&b.push(s(b)+"skewX("+c+o)}function d(u,c,b,m,f,v){if(u!==b||c!==m){var h=f.push(s(f)+"scale(",null,",",null,")");v.push({i:h-4,x:Xe(u,b)},{i:h-2,x:Xe(c,m)})}else(b!==1||m!==1)&&f.push(s(f)+"scale("+b+","+m+")")}return function(u,c){var b=[],m=[];return u=e(u),c=e(c),t(u.translateX,u.translateY,c.translateX,c.translateY,b,m),l(u.rotate,c.rotate,b,m),r(u.skewX,c.skewX,b,m),d(u.scaleX,u.scaleY,c.scaleX,c.scaleY,b,m),u=c=null,function(f){for(var v=-1,h=m.length,y;++v<h;)b[(y=m[v]).i]=y.x(f);return b.join("")}}}var Pm=Wa(Mm,"px, ","px)","deg)"),Lm=Wa(Tm,", ",")",")"),Bm=1e-12;function Ua(e){return((e=Math.exp(e))+1/e)/2}function Im(e){return((e=Math.exp(e))-1/e)/2}function Dm(e){return((e=Math.exp(2*e))-1)/(e+1)}const Pi=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],c=l[0],b=l[1],m=l[2],f=c-r,v=b-d,h=f*f+v*v,y,g;if(h<Bm)g=Math.log(m/u)/n,y=function(C){return[r+C*f,d+C*v,u*Math.exp(n*C*g)]};else{var S=Math.sqrt(h),p=(m*m-u*u+o*h)/(2*u*i*S),x=(m*m-u*u-o*h)/(2*m*i*S),A=Math.log(Math.sqrt(p*p+1)-p),N=Math.log(Math.sqrt(x*x+1)-x);g=(N-A)/n,y=function(C){var k=C*g,E=Ua(A),_=u/(i*S)*(E*Dm(n*k+A)-Im(A));return[r+_*f,d+_*v,u*E/Ua(n*k+A)]}}return y.duration=g*1e3*n/Math.SQRT2,y}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var Mn=0,Jn=0,Zn=0,qa=1e3,Li,Xn,Bi=0,fn=0,Ii=0,Qn=typeof performance=="object"&&performance.now?performance:Date,Ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $o(){return fn||(Ya(_m),fn=Qn.now()+Ii)}function _m(){fn=0}function Di(){this._call=this._time=this._next=null}Di.prototype=Ja.prototype={constructor:Di,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?$o():+i)+(n==null?0:+n),!this._next&&Xn!==this&&(Xn?Xn._next=this:Li=this,Xn=this),this._call=e,this._time=i,jo()},stop:function(){this._call&&(this._call=null,this._time=1/0,jo())}};function Ja(e,n,i){var o=new Di;return o.restart(e,n,i),o}function Om(){$o(),++Mn;for(var e=Li,n;e;)(n=fn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mn}function Za(){fn=(Bi=Qn.now())+Ii,Mn=Jn=0;try{Om()}finally{Mn=0,Fm(),fn=0}}function Hm(){var e=Qn.now(),n=e-Bi;n>qa&&(Ii-=n,Bi=e)}function Fm(){for(var e,n=Li,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Li=i);Xn=e,jo(o)}function jo(e){if(!Mn){Jn&&(Jn=clearTimeout(Jn));var n=e-fn;n>24?(e<1/0&&(Jn=setTimeout(Za,e-Qn.now()-Ii)),Zn&&(Zn=clearInterval(Zn))):(Zn||(Bi=Qn.now(),Zn=setInterval(Hm,qa)),Mn=1,Ya(Za))}}function Xa(e,n,i){var o=new Di;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Km=yi("start","end","cancel","interrupt"),Gm=[],Qa=0,Ra=1,Wo=2,_i=3,et=4,Uo=5,Oi=6;function Hi(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;Vm(e,i,{name:n,index:o,group:s,on:Km,tween:Gm,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Qa})}function qo(e,n){var i=je(e,n);if(i.state>Qa)throw new Error("too late; already scheduled");return i}function Qe(e,n){var i=je(e,n);if(i.state>_i)throw new Error("too late; already running");return i}function je(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function Vm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ja(t,0,i.time);function t(u){i.state=Ra,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var c,b,m,f;if(i.state!==Ra)return d();for(c in o)if(f=o[c],f.name===i.name){if(f.state===_i)return Xa(l);f.state===et?(f.state=Oi,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[c]):+c<n&&(f.state=Oi,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[c])}if(Xa(function(){i.state===_i&&(i.state=et,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Wo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Wo){for(i.state=_i,s=new Array(m=i.tween.length),c=0,b=-1;c<m;++c)(f=i.tween[c].value.call(e,e.__data__,i.index,i.group))&&(s[++b]=f);s.length=b+1}}function r(u){for(var c=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Uo,1),b=-1,m=s.length;++b<m;)s[b].call(e,c);i.state===Uo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Oi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Fi(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>Wo&&o.state<Uo,o.state=Oi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function zm(e){return this.each(function(){Fi(this,e)})}function $m(e,n){var i,o;return function(){var s=Qe(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function jm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=Qe(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function Wm(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=je(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?$m:jm)(i,e,n))}function Yo(e,n,i){var o=e._id;return e.each(function(){var s=Qe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return je(s,o).value[n]}}function nt(e,n){var i;return(typeof n=="number"?Xe:n instanceof bn?Mi:(i=bn(n))?(n=i,Mi):za)(e,n)}function Um(e){return function(){this.removeAttribute(e)}}function qm(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ym(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Jm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function Zm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Xm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Qm(e,n){var i=Si(e),o=i==="transform"?Lm:nt;return this.attrTween(e,typeof n=="function"?(i.local?Xm:Zm)(i,o,Yo(this,"attr."+e,n)):n==null?(i.local?qm:Um)(i):(i.local?Jm:Ym)(i,o,n))}function Rm(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function ev(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function nv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&ev(e,t)),i}return s._value=n,s}function iv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&Rm(e,t)),i}return s._value=n,s}function ov(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=Si(e);return this.tween(i,(o.local?nv:iv)(o,n))}function sv(e,n){return function(){qo(this,e).delay=+n.apply(this,arguments)}}function av(e,n){return n=+n,function(){qo(this,e).delay=n}}function tv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?sv:av)(n,e)):je(this.node(),n).delay}function lv(e,n){return function(){Qe(this,e).duration=+n.apply(this,arguments)}}function rv(e,n){return n=+n,function(){Qe(this,e).duration=n}}function dv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?lv:rv)(n,e)):je(this.node(),n).duration}function uv(e,n){if(typeof n!="function")throw new Error;return function(){Qe(this,e).ease=n}}function cv(e){var n=this._id;return arguments.length?this.each(uv(n,e)):je(this.node(),n).ease}function bv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Qe(this,e).ease=i}}function mv(e){if(typeof e!="function")throw new Error;return this.each(bv(this._id,e))}function vv(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new en(o,this._parents,this._name,this._id)}function fv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],c=d.length,b=l[r]=new Array(c),m,f=0;f<c;++f)(m=d[f]||u[f])&&(b[f]=m);for(;r<o;++r)l[r]=n[r];return new en(l,this._parents,this._name,this._id)}function hv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function pv(e,n,i){var o,s,t=hv(n)?qo:Qe;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function gv(e,n){var i=this._id;return arguments.length<2?je(this.node(),i).on.on(e):this.each(pv(i,e,n))}function yv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function xv(){return this.on("end.remove",yv(this._id))}function Sv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Bo(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),c,b,m=0;m<d;++m)(c=r[m])&&(b=e.call(c,c.__data__,m,r))&&("__data__"in c&&(b.__data__=c.__data__),u[m]=b,Hi(u[m],n,i,m,u,je(c,i)));return new en(t,this._parents,n,i)}function wv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=pa(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,c,b=0;b<u;++b)if(c=d[b]){for(var m=e.call(c,c.__data__,b,d),f,v=je(c,i),h=0,y=m.length;h<y;++h)(f=m[h])&&Hi(f,n,i,h,m,v);t.push(m),l.push(c)}return new en(t,l,n,i)}var Nv=$n.prototype.constructor;function Cv(){return new Nv(this._groups,this._parents)}function Av(e,n){var i,o,s;return function(){var t=An(this,e),l=(this.style.removeProperty(e),An(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function it(e){return function(){this.style.removeProperty(e)}}function kv(e,n,i){var o,s=i+"",t;return function(){var l=An(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Ev(e,n,i){var o,s,t;return function(){var l=An(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),An(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Mv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Qe(this,e),u=d.on,c=d.value[t]==null?r||(r=it(n)):void 0;(u!==i||s!==c)&&(o=(i=u).copy()).on(l,s=c),d.on=o}}function Tv(e,n,i){var o=(e+="")=="transform"?Pm:nt;return n==null?this.styleTween(e,Av(e,o)).on("end.style."+e,it(e)):typeof n=="function"?this.styleTween(e,Ev(e,o,Yo(this,"style."+e,n))).each(Mv(this._id,e)):this.styleTween(e,kv(e,o,n),i).on("end.style."+e,null)}function Pv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Lv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Pv(e,l,i)),o}return t._value=n,t}function Bv(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Lv(e,n,i==null?"":i))}function Iv(e){return function(){this.textContent=e}}function Dv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function _v(e){return this.tween("text",typeof e=="function"?Dv(Yo(this,"text",e)):Iv(e==null?"":e+""))}function Ov(e){return function(n){this.textContent=e.call(this,n)}}function Hv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Ov(s)),n}return o._value=e,o}function Fv(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Hv(e))}function Kv(){for(var e=this._name,n=this._id,i=ot(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var c=je(d,n);Hi(d,e,i,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new en(o,this._parents,e,i)}function Gv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=Qe(this,o),c=u.on;c!==e&&(n=(e=c).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var Vv=0;function en(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function ot(){return++Vv}var nn=$n.prototype;en.prototype={constructor:en,select:Sv,selectAll:wv,selectChild:nn.selectChild,selectChildren:nn.selectChildren,filter:vv,merge:fv,selection:Cv,transition:Kv,call:nn.call,nodes:nn.nodes,node:nn.node,size:nn.size,empty:nn.empty,each:nn.each,on:gv,attr:Qm,attrTween:ov,style:Tv,styleTween:Bv,text:_v,textTween:Fv,remove:xv,tween:Wm,delay:tv,duration:dv,ease:cv,easeVarying:mv,end:Gv,[Symbol.iterator]:nn[Symbol.iterator]};function zv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var $v={time:null,delay:0,duration:250,ease:zv};function jv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function Wv(e){var n,i;e instanceof en?(n=e._id,e=e._name):(n=ot(),(i=$v).time=$o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Hi(d,e,n,u,l,i||jv(d,n));return new en(o,this._parents,e,n)}$n.prototype.interrupt=zm,$n.prototype.transition=Wv;const Ki=e=>()=>e;function Uv(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function on(e,n,i){this.k=e,this.x=n,this.y=i}on.prototype={constructor:on,scale:function(e){return e===1?this:new on(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new on(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Gi=new on(1,0,0);st.prototype=on.prototype;function st(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Gi;return e.__zoom}function Jo(e){e.stopImmediatePropagation()}function Rn(e){e.preventDefault(),e.stopImmediatePropagation()}function qv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Yv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function at(){return this.__zoom||Gi}function Jv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xv(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function tt(){var e=qv,n=Yv,i=Xv,o=Jv,s=Zv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Pi,u=yi("start","zoom","end"),c,b,m,f=500,v=150,h=0,y=10;function g(T){T.property("__zoom",at).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(T,P,I,B){var O=T.selection?T.selection():T;O.property("__zoom",at),T!==O?A(T,P,I,B):O.interrupt().each(function(){N(this,arguments).event(B).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},g.scaleBy=function(T,P,I,B){g.scaleTo(T,function(){var O=this.__zoom.k,D=typeof P=="function"?P.apply(this,arguments):P;return O*D},I,B)},g.scaleTo=function(T,P,I,B){g.transform(T,function(){var O=n.apply(this,arguments),D=this.__zoom,j=I==null?x(O):typeof I=="function"?I.apply(this,arguments):I,q=D.invert(j),K=typeof P=="function"?P.apply(this,arguments):P;return i(p(S(D,K),j,q),O,l)},I,B)},g.translateBy=function(T,P,I,B){g.transform(T,function(){return i(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof I=="function"?I.apply(this,arguments):I),n.apply(this,arguments),l)},null,B)},g.translateTo=function(T,P,I,B,O){g.transform(T,function(){var D=n.apply(this,arguments),j=this.__zoom,q=B==null?x(D):typeof B=="function"?B.apply(this,arguments):B;return i(Gi.translate(q[0],q[1]).scale(j.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof I=="function"?-I.apply(this,arguments):-I),D,l)},B,O)};function S(T,P){return P=Math.max(t[0],Math.min(t[1],P)),P===T.k?T:new on(P,T.x,T.y)}function p(T,P,I){var B=P[0]-I[0]*T.k,O=P[1]-I[1]*T.k;return B===T.x&&O===T.y?T:new on(T.k,B,O)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function A(T,P,I,B){T.on("start.zoom",function(){N(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).event(B).end()}).tween("zoom",function(){var O=this,D=arguments,j=N(O,D).event(B),q=n.apply(O,D),K=I==null?x(q):typeof I=="function"?I.apply(O,D):I,V=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),Z=O.__zoom,te=typeof P=="function"?P.apply(O,D):P,se=d(Z.invert(K).concat(V/Z.k),te.invert(K).concat(V/te.k));return function(ie){if(ie===1)ie=te;else{var U=se(ie),ee=V/U[2];ie=new on(ee,K[0]-U[0]*ee,K[1]-U[1]*ee)}j.zoom(null,ie)}})}function N(T,P,I){return!I&&T.__zooming||new C(T,P)}function C(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,P),this.taps=0}C.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=Ge(this.that).datum();u.call(T,this.that,new Uv(T,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:u}),P)}};function k(T,...P){if(!e.apply(this,arguments))return;var I=N(this,P).event(T),B=this.__zoom,O=Math.max(t[0],Math.min(t[1],B.k*Math.pow(2,o.apply(this,arguments)))),D=ze(T);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=B.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(B.k===O)return;I.mouse=[D,B.invert(D)],Fi(this),I.start()}Rn(T),I.wheel=setTimeout(j,v),I.zoom("mouse",i(p(S(B,O),I.mouse[0],I.mouse[1]),I.extent,l));function j(){I.wheel=null,I.end()}}function E(T,...P){if(m||!e.apply(this,arguments))return;var I=T.currentTarget,B=N(this,P,!0).event(T),O=Ge(T.view).on("mousemove.zoom",K,!0).on("mouseup.zoom",V,!0),D=ze(T,I),j=T.clientX,q=T.clientY;Ma(T.view),Jo(T),B.mouse=[D,this.__zoom.invert(D)],Fi(this),B.start();function K(Z){if(Rn(Z),!B.moved){var te=Z.clientX-j,se=Z.clientY-q;B.moved=te*te+se*se>h}B.event(Z).zoom("mouse",i(p(B.that.__zoom,B.mouse[0]=ze(Z,I),B.mouse[1]),B.extent,l))}function V(Z){O.on("mousemove.zoom mouseup.zoom",null),Ta(Z.view,B.moved),Rn(Z),B.event(Z).end()}}function _(T,...P){if(e.apply(this,arguments)){var I=this.__zoom,B=ze(T.changedTouches?T.changedTouches[0]:T,this),O=I.invert(B),D=I.k*(T.shiftKey?.5:2),j=i(p(S(I,D),B,O),n.apply(this,P),l);Rn(T),r>0?Ge(this).transition().duration(r).call(A,j,B,T):Ge(this).call(g.transform,j,B,T)}}function M(T,...P){if(e.apply(this,arguments)){var I=T.touches,B=I.length,O=N(this,P,T.changedTouches.length===B).event(T),D,j,q,K;for(Jo(T),j=0;j<B;++j)q=I[j],K=ze(q,this),K=[K,this.__zoom.invert(K),q.identifier],O.touch0?!O.touch1&&O.touch0[2]!==K[2]&&(O.touch1=K,O.taps=0):(O.touch0=K,D=!0,O.taps=1+!!c);c&&(c=clearTimeout(c)),D&&(O.taps<2&&(b=K[0],c=setTimeout(function(){c=null},f)),Fi(this),O.start())}}function L(T,...P){if(this.__zooming){var I=N(this,P).event(T),B=T.changedTouches,O=B.length,D,j,q,K;for(Rn(T),D=0;D<O;++D)j=B[D],q=ze(j,this),I.touch0&&I.touch0[2]===j.identifier?I.touch0[0]=q:I.touch1&&I.touch1[2]===j.identifier&&(I.touch1[0]=q);if(j=I.that.__zoom,I.touch1){var V=I.touch0[0],Z=I.touch0[1],te=I.touch1[0],se=I.touch1[1],ie=(ie=te[0]-V[0])*ie+(ie=te[1]-V[1])*ie,U=(U=se[0]-Z[0])*U+(U=se[1]-Z[1])*U;j=S(j,Math.sqrt(ie/U)),q=[(V[0]+te[0])/2,(V[1]+te[1])/2],K=[(Z[0]+se[0])/2,(Z[1]+se[1])/2]}else if(I.touch0)q=I.touch0[0],K=I.touch0[1];else return;I.zoom("touch",i(p(j,q,K),I.extent,l))}}function H(T,...P){if(this.__zooming){var I=N(this,P).event(T),B=T.changedTouches,O=B.length,D,j;for(Jo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),D=0;D<O;++D)j=B[D],I.touch0&&I.touch0[2]===j.identifier?delete I.touch0:I.touch1&&I.touch1[2]===j.identifier&&delete I.touch1;if(I.touch1&&!I.touch0&&(I.touch0=I.touch1,delete I.touch1),I.touch0)I.touch0[1]=this.__zoom.invert(I.touch0[0]);else if(I.end(),I.taps===2&&(j=ze(j,this),Math.hypot(b[0]-j[0],b[1]-j[1])<y)){var q=Ge(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return g.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:Ki(+T),g):o},g.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ki(!!T),g):e},g.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Ki(!!T),g):s},g.extent=function(T){return arguments.length?(n=typeof T=="function"?T:Ki([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),g):n},g.scaleExtent=function(T){return arguments.length?(t[0]=+T[0],t[1]=+T[1],g):[t[0],t[1]]},g.translateExtent=function(T){return arguments.length?(l[0][0]=+T[0][0],l[1][0]=+T[1][0],l[0][1]=+T[0][1],l[1][1]=+T[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(T){return arguments.length?(i=T,g):i},g.duration=function(T){return arguments.length?(r=+T,g):r},g.interpolate=function(T){return arguments.length?(d=T,g):d},g.on=function(){var T=u.on.apply(u,arguments);return T===u?g:T},g.clickDistance=function(T){return arguments.length?(h=(T=+T)*T,g):Math.sqrt(h)},g.tapDistance=function(T){return arguments.length?(y=+T,g):y},g}const Ve={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ei=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],lt=["Enter"," ","Escape"],rt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Tn;(function(e){e.Strict="strict",e.Loose="loose"})(Tn||(Tn={}));var hn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(hn||(hn={}));var ni;(function(e){e.Partial="partial",e.Full="full"})(ni||(ni={}));const dt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ln;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ln||(ln={}));var Pn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Pn||(Pn={}));var ue;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ue||(ue={}));const ut={[ue.Left]:ue.Right,[ue.Right]:ue.Left,[ue.Top]:ue.Bottom,[ue.Bottom]:ue.Top};function ct(e){return e===null?null:e?"valid":"invalid"}const bt=e=>"id"in e&&"source"in e&&"target"in e,Qv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ii=(e,n=[0,0])=>{var r;const{width:i,height:o}=sn(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},Rv=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):Zo(s)?s:n.nodeLookup.get(s.id));const r=l?$i(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Vi(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zi(i)},oi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=Vi(i,$i(s)),o=!0)}),o?zi(i):{x:0,y:0,width:0,height:0}},Xo=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,f,v,h,y,g;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,c=n.height/s,b=[];for(const S of e.values()){const{measured:p,selectable:x=!0,hidden:A=!1}=S;if(l&&!x||A)continue;const N=(v=(f=(m=p.width)!=null?m:S.width)!=null?f:S.initialWidth)!=null?v:0,C=(g=(y=(h=p.height)!=null?h:S.height)!=null?y:S.initialHeight)!=null?g:0,{x:k,y:E}=S.internals.positionAbsolute,_=pt(r,d,u,c,k,E,N,C),M=N*C,L=t&&_>0;(!S.internals.handleBounds||L||_>=M||S.dragging)&&b.push(S)}return b},ef=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function nf(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function of({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var c,b,m;if(e.size===0)return!0;const r=nf(e,l),d=oi(r),u=es(d,n,i,(c=l==null?void 0:l.minZoom)!=null?c:s,(b=l==null?void 0:l.maxZoom)!=null?b:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function mt({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var f,v,h;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},c=(f=l.origin)!=null?f:o;let b=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",Ve.error005());else{const y=r.measured.width,g=r.measured.height;y&&g&&(b=[[d,u],[d+y,u+g]])}else r&&gn(l.extent)&&(b=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=gn(b)?pn(n,b,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",Ve.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*c[0],y:m.y-u+((h=l.measured.height)!=null?h:0)*c[1]},positionAbsolute:m}}async function sf({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const f=t.has(m.id),v=!f&&m.parentId&&l.find(h=>h.id===m.parentId);(f||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),c=ef(l,d);for(const m of d)r.has(m.id)&&!c.find(v=>v.id===m.id)&&c.push(m);if(!s)return{edges:c,nodes:l};const b=await s({nodes:l,edges:c});return typeof b=="boolean"?b?{edges:c,nodes:l}:{edges:[],nodes:[]}:b}const Ln=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),pn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Ln(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Ln(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function vt(e,n,i){const{width:o,height:s}=sn(i),{x:t,y:l}=i.internals.positionAbsolute;return pn(e,[[t,l],[t+o,l+s]],n)}const ft=(e,n,i)=>e<n?Ln(Math.abs(e-n),1,n)/n:e>i?-Ln(Math.abs(e-i),1,n)/n:0,Qo=(e,n,i=15,o=40)=>{const s=ft(e.x,o,n.width-o)*i,t=ft(e.y,o,n.height-o)*i;return[s,t]},Vi=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Ro=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),zi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),si=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0}},$i=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0)}},ht=(e,n)=>zi(Vi(Ro(e),Ro(n))),pt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},ji=(e,n)=>pt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),gt=e=>We(e.width)&&We(e.height)&&We(e.x)&&We(e.y),We=e=>!isNaN(e)&&isFinite(e),yt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ai=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ti=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ai(r,l):r},Bn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function In(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function af(e,n,i){var o,s,t,l,r,d,u,c;if(typeof e=="string"||typeof e=="number"){const b=In(e,i),m=In(e,n);return{top:b,right:m,bottom:b,left:m,x:m*2,y:b*2}}if(typeof e=="object"){const b=In((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=In((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),f=In((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=In((c=(u=e.right)!=null?u:e.x)!=null?c:0,n);return{top:b,right:v,bottom:m,left:f,x:f+v,y:b+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function tf(e,n,i,o,s,t){const{x:l,y:r}=Bn(e,[n,i,o]),{x:d,y:u}=Bn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),c=s-d,b=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(c),bottom:Math.floor(b)}}const es=(e,n,i,o,s,t)=>{const l=af(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),c=Ln(u,o,s),b=e.x+e.width/2,m=e.y+e.height/2,f=n/2-b*c,v=i/2-m*c,h=tf(e,f,v,c,n,i),y={left:Math.min(h.left-l.left,0),top:Math.min(h.top-l.top,0),right:Math.min(h.right-l.right,0),bottom:Math.min(h.bottom-l.bottom,0)};return{x:f-y.left+y.right,y:v-y.top+y.bottom,zoom:c}},li=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function gn(e){return e!=null&&e!=="parent"}function sn(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function xt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function St(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function wt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function lf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function rf(e){return{...rt,...e||{}}}function ri(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var c,b;const{x:t,y:l}=Ue(e),r=ti({x:t-((c=s==null?void 0:s.left)!=null?c:0),y:l-((b=s==null?void 0:s.top)!=null?b:0)},o),{x:d,y:u}=i?ai(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},df=["INPUT","SELECT","TEXTAREA"];function Ct(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:df.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const At=e=>"clientX"in e,Ue=(e,n)=>{var t,l,r,d;const i=At(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},kt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...ns(l)}})};function Et({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,c=Math.abs(d-e),b=Math.abs(u-n);return[d,u,c,b]}function Wi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Mt({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case ue.Left:return[n-Wi(n-o,t),i];case ue.Right:return[n+Wi(o-n,t),i];case ue.Top:return[n,i-Wi(i-s,t)];case ue.Bottom:return[n,i+Wi(s-i,t)]}}function Tt({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,curvature:l=.25}){const[r,d]=Mt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,c]=Mt({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[b,m,f,v]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:c});return[`M${e},${n} C${r},${d} ${u},${c} ${o},${s}`,b,m,f,v]}function Pt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function uf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function cf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Vi($i(e),$i(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return ji(l,zi(t))>0}const bf=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,mf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),vf=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",Ve.error006()),n;const o=i.getEdgeId||bf;let s;return bt(e)?s={...e}:s={...e,id:o(e)},mf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Lt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Pt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Bt={[ue.Left]:{x:-1,y:0},[ue.Right]:{x:1,y:0},[ue.Top]:{x:0,y:-1},[ue.Bottom]:{x:0,y:1}},ff=({source:e,sourcePosition:n=ue.Bottom,target:i})=>n===ue.Left||n===ue.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},It=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function hf({source:e,sourcePosition:n=ue.Bottom,target:i,targetPosition:o=ue.Top,center:s,offset:t,stepPosition:l}){var k,E,_,M;const r=Bt[n],d=Bt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},c={x:i.x+d.x*t,y:i.y+d.y*t},b=ff({source:u,sourcePosition:n,target:c}),m=b.x!==0?"x":"y",f=b[m];let v=[],h,y;const g={x:0,y:0},S={x:0,y:0},[,,p,x]=Pt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(h=(k=s.x)!=null?k:u.x+(c.x-u.x)*l,y=(E=s.y)!=null?E:(u.y+c.y)/2):(h=(_=s.x)!=null?_:(u.x+c.x)/2,y=(M=s.y)!=null?M:u.y+(c.y-u.y)*l);const L=[{x:h,y:u.y},{x:h,y:c.y}],H=[{x:u.x,y},{x:c.x,y}];r[m]===f?v=m==="x"?L:H:v=m==="x"?H:L}else{const L=[{x:u.x,y:c.y}],H=[{x:c.x,y:u.y}];if(m==="x"?v=r.x===f?H:L:v=r.y===f?L:H,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const D=Math.min(t-1,t-O);r[m]===f?g[m]=(u[m]>e[m]?-1:1)*D:S[m]=(c[m]>i[m]?-1:1)*D}}if(n!==o){const O=m==="x"?"y":"x",D=r[m]===d[O],j=u[O]>c[O],q=u[O]<c[O];(r[m]===1&&(!D&&j||D&&q)||r[m]!==1&&(!D&&q||D&&j))&&(v=m==="x"?L:H)}const T={x:u.x+g.x,y:u.y+g.y},P={x:c.x+S.x,y:c.y+S.y},I=Math.max(Math.abs(T.x-v[0].x),Math.abs(P.x-v[0].x)),B=Math.max(Math.abs(T.y-v[0].y),Math.abs(P.y-v[0].y));I>=B?(h=(T.x+P.x)/2,y=v[0].y):(h=v[0].x,y=(T.y+P.y)/2)}const A={x:u.x+g.x,y:u.y+g.y},N={x:c.x+S.x,y:c.y+S.y};return[[e,...A.x!==v[0].x||A.y!==v[0].y?[A]:[],...v,...N.x!==v[v.length-1].x||N.y!==v[v.length-1].y?[N]:[],i],h,y,p,x]}function pf(e,n,i,o){const s=Math.min(It(e,n)/2,It(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,c=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*c}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function is({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:c=.5}){const[b,m,f,v,h]=hf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:c});let y=`M${b[0].x} ${b[0].y}`;for(let g=1;g<b.length-1;g++)y+=pf(b[g-1],b[g],b[g+1],l);return y+=`L${b[b.length-1].x} ${b[b.length-1].y}`,[y,m,f,v,h]}function Dt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function gf(e){var b,m,f,v,h;const{sourceNode:n,targetNode:i}=e;if(!Dt(n)||!Dt(i))return null;const o=n.internals.handleBounds||_t(n.handles),s=i.internals.handleBounds||_t(i.handles),t=Ot((b=o==null?void 0:o.source)!=null?b:[],e.sourceHandle),l=Ot(e.connectionMode===Tn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((f=s==null?void 0:s.target)!=null?f:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(h=e.onError)==null||h.call(e,"008",Ve.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||ue.Bottom,d=(l==null?void 0:l.position)||ue.Top,u=yn(n,t,r),c=yn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y,sourcePosition:r,targetPosition:d}}function _t(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function yn(e,n,i=ue.Left,o=!1){var u,c,b;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((c=n==null?void 0:n.y)!=null?c:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:sn(e);if(o)return{x:s+l/2,y:t+r/2};switch((b=n==null?void 0:n.position)!=null?b:i){case ue.Top:return{x:s+l/2,y:t};case ue.Right:return{x:s+l,y:t+r/2};case ue.Bottom:return{x:s+l/2,y:t+r};case ue.Left:return{x:s,y:t+r/2}}}function Ot(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function os(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function yf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=os(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Ht=1e3,xf=10,ss={nodeOrigin:[0,0],nodeExtent:ei,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Sf={...ss,checkEquality:!0};function as(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function wf(e,n,i){const o=as(ss,i);for(const s of e.values())if(s.parentId)rs(s,e,n,o);else{const t=ii(s,o.nodeOrigin),l=gn(s.extent)?s.extent:o.nodeExtent,r=pn(t,l,sn(s));s.internals.positionAbsolute=r}}function Nf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function ts(e){return e==="manual"}function ls(e,n,i,o={}){var c,b,m;const s=as(Sf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!ts(s.zIndexMode)?Ht:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let v=l.get(f.id);if(s.checkEquality&&f===(v==null?void 0:v.internals.userNode))n.set(f.id,v);else{const h=ii(f,s.nodeOrigin),y=gn(f.extent)?f.extent:s.nodeExtent,g=pn(h,y,sn(f));v={...s.defaults,...f,measured:{width:(c=f.measured)==null?void 0:c.width,height:(b=f.measured)==null?void 0:b.height},internals:{positionAbsolute:g,handleBounds:Nf(f,v),z:Ft(f,r,s.zIndexMode),userNode:f}},n.set(f.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),f.parentId&&rs(v,n,i,o,t),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Cf(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function rs(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=as(ss,o),u=e.parentId,c=n.get(u);if(!c){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Cf(e,i),s&&!c.parentId&&c.internals.rootParentIndex===void 0&&d==="auto"&&(c.internals.rootParentIndex=++s.i,c.internals.z=c.internals.z+s.i*xf),s&&c.internals.rootParentIndex!==void 0&&(s.i=c.internals.rootParentIndex);const b=t&&!ts(d)?Ht:0,{x:m,y:f,z:v}=Af(e,c,l,r,b,d),{positionAbsolute:h}=e.internals,y=m!==h.x||f!==h.y;(y||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:m,y:f}:h,z:v}})}function Ft(e,n,i){const o=We(e.zIndex)?e.zIndex:0;return ts(i)?o:o+(e.selected?n:0)}function Af(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=sn(e),u=ii(e,i),c=gn(e.extent)?pn(u,e.extent,d):u;let b=pn({x:l+c.x,y:r+c.y},o,d);e.extent==="parent"&&(b=vt(b,d,n));const m=Ft(e,s,t),f=(v=n.internals.z)!=null?v:0;return{x:b.x,y:b.y,z:f>=m?f+1:m}}function ds(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const c=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:si(u),b=ht(c,d.rect);t.set(d.parentId,{expandedRect:b,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},c)=>{var x,A;const b=u.internals.positionAbsolute,m=sn(u),f=(x=u.origin)!=null?x:o,v=d.x<b.x?Math.round(Math.abs(b.x-d.x)):0,h=d.y<b.y?Math.round(Math.abs(b.y-d.y)):0,y=Math.max(m.width,Math.round(d.width)),g=Math.max(m.height,Math.round(d.height)),S=(y-m.width)*f[0],p=(g-m.height)*f[1];(v>0||h>0||S||p)&&(s.push({id:c,type:"position",position:{x:u.position.x-v+S,y:u.position.y-h+p}}),(A=i.get(c))==null||A.forEach(N=>{e.some(C=>C.id===N.id)||s.push({id:N.id,type:"position",position:{x:N.position.x+v,y:N.position.y+h}})})),(m.width<d.width||m.height<d.height||v||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:y+(v?f[0]*v-S:0),height:g+(h?f[1]*h-p:0)}})}),s}function kf(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],c=window.getComputedStyle(r),{m22:b}=new window.DOMMatrixReadOnly(c.transform),m=[];for(const f of e.values()){const v=n.get(f.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const h=ns(f.nodeElement),y=v.measured.width!==h.width||v.measured.height!==h.height;if(!!(h.width&&h.height&&(y||!v.internals.handleBounds||f.force))){const S=f.nodeElement.getBoundingClientRect(),p=gn(v.extent)?v.extent:t;let{positionAbsolute:x}=v.internals;v.parentId&&v.extent==="parent"?x=vt(x,h,n.get(v.parentId)):p&&(x=pn(x,p,h));const A={...v,measured:h,internals:{...v.internals,positionAbsolute:x,handleBounds:{source:kt("source",f.nodeElement,S,b,v.id),target:kt("target",f.nodeElement,S,b,v.id)}}};n.set(v.id,A),v.parentId&&rs(A,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,y&&(u.push({id:v.id,type:"dimensions",dimensions:h}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:si(A,s)}))}}if(m.length>0){const f=ds(m,n,i,s);u.push(...f)}return{changes:u,updatedInternals:d}}async function Ef({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Kt(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Gt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,c=`${t}-${r}--${s}-${l}`;Kt("source",d,c,e,s,l),Kt("target",d,u,e,t,r),n.set(o.id,o)}}function Vt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vt(i,n):!1}function zt(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Mf(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Vt(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function us({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,c]of n){const b=(l=i.get(u))==null?void 0:l.internals.userNode;b&&s.push({...b,position:c.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function Tf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=ai(t,n);return{x:l.x-t.x,y:l.y-t.y}}function Pf({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},c=null,b=!1,m=null,f=!1,v=!1,h=null;function y({noDragClassName:S,handleSelector:p,domNode:x,isSelectable:A,nodeId:N,nodeClickDistance:C=0}){m=Ge(x);function k({x:L,y:H}){const{nodeLookup:T,nodeExtent:P,snapGrid:I,snapToGrid:B,nodeOrigin:O,onNodeDrag:D,onSelectionDrag:j,onError:q,updateNodePositions:K}=n();t={x:L,y:H};let V=!1;const Z=r.size>1,te=Z&&P?Ro(oi(r)):null,se=Z&&B?Tf({dragItems:r,snapGrid:I,x:L,y:H}):null;for(const[ie,U]of r){if(!T.has(ie))continue;let ee={x:L-U.distance.x,y:H-U.distance.y};B&&(ee=se?{x:Math.round(ee.x+se.x),y:Math.round(ee.y+se.y)}:ai(ee,I));let de=null;if(Z&&P&&!U.extent&&te){const{positionAbsolute:ae}=U.internals,Q=ae.x-te.x+P[0][0],G=ae.x+U.measured.width-te.x2+P[1][0],Y=ae.y-te.y+P[0][1],$=ae.y+U.measured.height-te.y2+P[1][1];de=[[Q,Y],[G,$]]}const{position:z,positionAbsolute:R}=mt({nodeId:ie,nextPosition:ee,nodeLookup:T,nodeExtent:de||P,nodeOrigin:O,onError:q});V=V||U.position.x!==z.x||U.position.y!==z.y,U.position=z,U.internals.positionAbsolute=R}if(v=v||V,!!V&&(K(r,!0),h&&(o||D||!N&&j))){const[ie,U]=us({nodeId:N,dragItems:r,nodeLookup:T});o==null||o(h,r,ie,U),D==null||D(h,ie,U),N||j==null||j(h,U)}}async function E(){var O,D;if(!c)return;const{transform:L,panBy:H,autoPanSpeed:T,autoPanOnNodeDrag:P}=n();if(!P){d=!1,cancelAnimationFrame(l);return}const[I,B]=Qo(u,c,T);(I!==0||B!==0)&&(t.x=((O=t.x)!=null?O:0)-I/L[2],t.y=((D=t.y)!=null?D:0)-B/L[2],await H({x:I,y:B})&&k(t)),l=requestAnimationFrame(E)}function _(L){var Z;const{nodeLookup:H,multiSelectionActive:T,nodesDraggable:P,transform:I,snapGrid:B,snapToGrid:O,selectNodesOnDrag:D,onNodeDragStart:j,onSelectionDragStart:q,unselectNodesAndEdges:K}=n();b=!0,(!D||!A)&&!T&&N&&((Z=H.get(N))!=null&&Z.selected||K()),A&&D&&N&&(e==null||e(N));const V=ri(L.sourceEvent,{transform:I,snapGrid:B,snapToGrid:O,containerBounds:c});if(t=V,r=Mf(H,P,V,N),r.size>0&&(i||j||!N&&q)){const[te,se]=us({nodeId:N,dragItems:r,nodeLookup:H});i==null||i(L.sourceEvent,r,te,se),j==null||j(L.sourceEvent,te,se),N||q==null||q(L.sourceEvent,se)}}const M=Pa().clickDistance(C).on("start",L=>{const{domNode:H,nodeDragThreshold:T,transform:P,snapGrid:I,snapToGrid:B}=n();c=(H==null?void 0:H.getBoundingClientRect())||null,f=!1,v=!1,h=L.sourceEvent,T===0&&_(L),t=ri(L.sourceEvent,{transform:P,snapGrid:I,snapToGrid:B,containerBounds:c}),u=Ue(L.sourceEvent,c)}).on("drag",L=>{const{autoPanOnNodeDrag:H,transform:T,snapGrid:P,snapToGrid:I,nodeDragThreshold:B,nodeLookup:O}=n(),D=ri(L.sourceEvent,{transform:T,snapGrid:P,snapToGrid:I,containerBounds:c});if(h=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||N&&!O.has(N))&&(f=!0),!f){if(!d&&H&&b&&(d=!0,E()),!b){const j=Ue(L.sourceEvent,c),q=j.x-u.x,K=j.y-u.y;Math.sqrt(q*q+K*K)>B&&_(L)}(t.x!==D.xSnapped||t.y!==D.ySnapped)&&r&&b&&(u=Ue(L.sourceEvent,c),k(D))}}).on("end",L=>{if(!b||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,b=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:H,updateNodePositions:T,onNodeDragStop:P,onSelectionDragStop:I}=n();if(v&&(T(r,!1),v=!1),s||P||!N&&I){const[B,O]=us({nodeId:N,dragItems:r,nodeLookup:H,dragging:!1});s==null||s(L.sourceEvent,r,B,O),P==null||P(L.sourceEvent,B,O),N||I==null||I(L.sourceEvent,O)}}}).filter(L=>{const H=L.target;return!L.button&&(!S||!zt(H,`.${S}`,x))&&(!p||zt(H,p,x))});m.call(M)}function g(){m==null||m.on(".drag",null)}return{update:y,destroy:g}}function Lf(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())ji(s,si(t))>0&&o.push(t);return o}const Bf=250;function If(e,n,i,o){var r,d,u,c,b;let s=[],t=1/0;const l=Lf(e,i,n+Bf);for(const m of l){const f=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(c=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?c:[]];for(const v of f){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x:h,y}=yn(m,v,v.position,!0),g=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(y-e.y,2));g>n||(g<t?(s=[{...v,x:h,y}],t=g):g===t&&s.push({...v,x:h,y}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(b=s.find(f=>f.type===m))!=null?b:s[0]}return s[0]}function $t(e,n,i,o,s,t=!1){var u,c,b,m,f,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(b=(c=l.internals.handleBounds)==null?void 0:c.source)!=null?b:[],...(f=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],d=(v=i?r==null?void 0:r.find(h=>h.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...yn(l,d,d.position,!0)}:d}function jt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Df(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Wt=()=>!0;function _f(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:c,flowId:b,panBy:m,cancelConnection:f,onConnectStart:v,onConnect:h,onConnectEnd:y,isValidConnection:g=Wt,onReconnectEnd:S,updateConnection:p,getTransform:x,getFromHandle:A,autoPanSpeed:N,dragThreshold:C=1,handleDomNode:k}){const E=Nt(e.target);let _=0,M;const{x:L,y:H}=Ue(e),T=jt(t,k),P=r==null?void 0:r.getBoundingClientRect();let I=!1;if(!P||!T)return;const B=$t(s,T,o,d,n);if(!B)return;let O=Ue(e,P),D=!1,j=null,q=!1,K=null;function V(){if(!c||!P)return;const[z,R]=Qo(O,P,N);m({x:z,y:R}),_=requestAnimationFrame(V)}const Z={...B,nodeId:s,type:T,position:B.position},te=d.get(s);let ie={inProgress:!0,isValid:null,from:yn(te,Z,ue.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:te,to:O,toHandle:null,toPosition:ut[Z.position],toNode:null,pointer:O};function U(){I=!0,p(ie),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}C===0&&U();function ee(z){if(!I){const{x:$,y:W}=Ue(z),F=$-L,X=W-H;if(!(F*F+X*X>C*C))return;U()}if(!A()||!Z){de(z);return}const R=x();O=Ue(z,P),M=If(ti(O,R,!1,[1,1]),i,d,Z),D||(V(),D=!0);const ae=Ut(z,{handle:M,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:g,doc:E,lib:u,flowId:b,nodeLookup:d});K=ae.handleDomNode,j=ae.connection,q=Df(!!M,ae.isValid);const Q=d.get(s),G=Q?yn(Q,Z,ue.Left,!0):ie.from,Y={...ie,from:G,isValid:q,to:ae.toHandle&&q?Bn({x:ae.toHandle.x,y:ae.toHandle.y},R):O,toHandle:ae.toHandle,toPosition:q&&ae.toHandle?ae.toHandle.position:ut[Z.position],toNode:ae.toHandle?d.get(ae.toHandle.nodeId):null,pointer:O};p(Y),ie=Y}function de(z){if(!("touches"in z&&z.touches.length>0)){if(I){(M||K)&&j&&q&&(h==null||h(j));const{inProgress:R,...ae}=ie,Q={...ae,toPosition:ie.toHandle?ie.toPosition:null};y==null||y(z,Q),t&&(S==null||S(z,Q))}f(),cancelAnimationFrame(_),D=!1,q=!1,j=null,K=null,E.removeEventListener("mousemove",ee),E.removeEventListener("mouseup",de),E.removeEventListener("touchmove",ee),E.removeEventListener("touchend",de)}}E.addEventListener("mousemove",ee),E.addEventListener("mouseup",de),E.addEventListener("touchmove",ee),E.addEventListener("touchend",de)}function Ut(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=Wt,nodeLookup:c}){const b=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:v}=Ue(e),h=l.elementFromPoint(f,v),y=h!=null&&h.classList.contains(`${r}-flow__handle`)?h:m,g={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const S=jt(void 0,y),p=y.getAttribute("data-nodeid"),x=y.getAttribute("data-handleid"),A=y.classList.contains("connectable"),N=y.classList.contains("connectableend");if(!p||!S)return g;const C={source:b?p:o,sourceHandle:b?x:s,target:b?o:p,targetHandle:b?s:x};g.connection=C;const E=A&&N&&(i===Tn.Strict?b&&S==="source"||!b&&S==="target":p!==o||x!==s);g.isValid=E&&u(C),g.toHandle=$t(p,S,x,c,i,!0)}return g}const cs={onPointerDown:_f,isValid:Ut};function Of({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ge(e);function t({translateExtent:r,width:d,height:u,zoomStep:c=1,pannable:b=!0,zoomable:m=!0,inversePan:f=!1}){const v=p=>{if(p.sourceEvent.type!=="wheel"||!n)return;const x=i(),A=p.sourceEvent.ctrlKey&&li()?10:1,N=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*c,C=x[2]*Math.pow(2,N*A);n.scaleTo(C)};let h=[0,0];const y=p=>{var x,A;(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(h=[(x=p.sourceEvent.clientX)!=null?x:p.sourceEvent.touches[0].clientX,(A=p.sourceEvent.clientY)!=null?A:p.sourceEvent.touches[0].clientY])},g=p=>{var _,M;const x=i();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!n)return;const A=[(_=p.sourceEvent.clientX)!=null?_:p.sourceEvent.touches[0].clientX,(M=p.sourceEvent.clientY)!=null?M:p.sourceEvent.touches[0].clientY],N=[A[0]-h[0],A[1]-h[1]];h=A;const C=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),k={x:x[0]-N[0]*C,y:x[1]-N[1]*C},E=[[0,0],[d,u]];n.setViewportConstrained({x:k.x,y:k.y,zoom:x[2]},E,r)},S=tt().on("start",y).on("zoom",b?g:null).on("zoom.wheel",m?v:null);s.call(S,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:ze}}const Ui=e=>({x:e.x,y:e.y,zoom:e.k}),bs=({x:e,y:n,zoom:i})=>Gi.translate(e,n).scale(i),Dn=(e,n)=>e.target.closest(`.${n}`),qt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Hf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ms=(e,n=0,i=Hf,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Yt=e=>{const n=e.ctrlKey&&li()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Ff({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return c=>{if(Dn(c,n))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();const b=i.property("__zoom").k||1;if(c.ctrlKey&&l){const y=ze(c),g=Yt(c),S=b*Math.pow(2,g);o.scaleTo(i,S,y,c);return}const m=c.deltaMode===1?20:1;let f=s===hn.Vertical?0:c.deltaX*m,v=s===hn.Horizontal?0:c.deltaY*m;!li()&&c.shiftKey&&s!==hn.Vertical&&(f=c.deltaY*m,v=0),o.translateBy(i,-(f/b)*t,-(v/b)*t,{internal:!0});const h=Ui(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(c,h),e.panScrollTimeout=setTimeout(()=>{u==null||u(c,h),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(c,h))}}function Kf({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Dn(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Gf({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=Ui(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function Vf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&qt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,Ui(t.transform)))}}function zf({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&qt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Ui(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function $f({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:c}){return b=>{var y;const m=e||n,f=i&&b.ctrlKey,v=b.type==="wheel";if(b.button===1&&b.type==="mousedown"&&(Dn(b,`${u}-flow__node`)||Dn(b,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||c&&!v||Dn(b,r)&&v||Dn(b,d)&&(!v||s&&v&&!e)||!i&&b.ctrlKey&&v)return!1;if(!i&&b.type==="touchstart"&&((y=b.touches)==null?void 0:y.length)>1)return b.preventDefault(),!1;if(!m&&!s&&!f&&v||!o&&(b.type==="mousedown"||b.type==="touchstart")||Array.isArray(o)&&!o.includes(b.button)&&b.type==="mousedown")return!1;const h=Array.isArray(o)&&o.includes(b.button)||!b.button||b.button<=1;return(!b.ctrlKey||v)&&h}}function jf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),b=tt().scaleExtent([n,i]).translateExtent(o),m=Ge(e).call(b);S({x:s.x,y:s.y,zoom:Ln(s.zoom,n,i)},[[0,0],[c.width,c.height]],o);const f=m.on("wheel.zoom"),v=m.on("dblclick.zoom");b.wheelDelta(Yt);async function h(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).transform(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function y({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:H,userSelectionActive:T,panOnScroll:P,panOnDrag:I,panOnScrollMode:B,panOnScrollSpeed:O,preventScrolling:D,zoomOnPinch:j,zoomOnScroll:q,zoomOnDoubleClick:K,zoomActivationKeyPressed:V,lib:Z,onTransformChange:te,connectionInProgress:se,paneClickDistance:ie,selectionOnDrag:U}){T&&!u.isZoomingOrPanning&&g();const ee=P&&!V&&!T;b.clickDistance(U?1/0:!We(ie)||ie<0?0:ie);const de=ee?Ff({zoomPanValues:u,noWheelClassName:M,d3Selection:m,d3Zoom:b,panOnScrollMode:B,panOnScrollSpeed:O,zoomOnPinch:j,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):Kf({noWheelClassName:M,preventScrolling:D,d3ZoomHandler:f});m.on("wheel.zoom",de,{passive:!1});const z=Gf({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});b.on("start",z);const R=Vf({zoomPanValues:u,panOnDrag:I,onPaneContextMenu:!!H,onPanZoom:t,onTransformChange:te});b.on("zoom",R);const ae=zf({zoomPanValues:u,panOnDrag:I,panOnScroll:P,onPaneContextMenu:H,onPanZoomEnd:r,onDraggingChange:d});b.on("end",ae);const Q=$f({zoomActivationKeyPressed:V,panOnDrag:I,zoomOnScroll:q,panOnScroll:P,zoomOnDoubleClick:K,zoomOnPinch:j,userSelectionActive:T,noPanClassName:L,noWheelClassName:M,lib:Z,connectionInProgress:se});b.filter(Q),K?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function g(){b.on("zoom",null)}async function S(M,L,H){const T=bs(M),P=b==null?void 0:b.constrain()(T,L,H);return P&&await h(P),P}async function p(M,L){const H=bs(M);return await h(H,L),H}function x(M){if(m){const L=bs(M),H=m.property("__zoom");(H.k!==M.zoom||H.x!==M.x||H.y!==M.y)&&(b==null||b.transform(m,L,null,{sync:!0}))}}function A(){const M=m?st(m.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function N(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleTo(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}async function C(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleBy(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function k(M){b==null||b.scaleExtent(M)}function E(M){b==null||b.translateExtent(M)}function _(M){const L=!We(M)||M<0?0:M;b==null||b.clickDistance(L)}return{update:y,destroy:g,setViewport:p,setViewportConstrained:S,getViewport:A,scaleTo:N,scaleBy:C,setScaleExtent:k,setTranslateExtent:E,syncViewport:x,setClickDistance:_}}var _n;(function(e){e.Line="line",e.Handle="handle"})(_n||(_n={}));function Wf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Jt(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function rn(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function qi(e,n,i){return Math.max(0,n-e,e-i)}function Zt(e,n){return e?!n:n}function Uf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:c,isVertical:b}=n,m=c&&b,{xSnapped:f,ySnapped:v}=i,{minWidth:h,maxWidth:y,minHeight:g,maxHeight:S}=o,{x:p,y:x,width:A,height:N,aspectRatio:C}=e;let k=Math.floor(c?f-e.pointerX:0),E=Math.floor(b?v-e.pointerY:0);const _=A+(d?-k:k),M=N+(u?-E:E),L=-t[0]*A,H=-t[1]*N;let T=qi(_,h,y),P=qi(M,g,S);if(l){let O=0,D=0;d&&k<0?O=rn(p+k+L,l[0][0]):!d&&k>0&&(O=dn(p+_+L,l[1][0])),u&&E<0?D=rn(x+E+H,l[0][1]):!u&&E>0&&(D=dn(x+M+H,l[1][1])),T=Math.max(T,O),P=Math.max(P,D)}if(r){let O=0,D=0;d&&k>0?O=dn(p+k,r[0][0]):!d&&k<0&&(O=rn(p+_,r[1][0])),u&&E>0?D=dn(x+E,r[0][1]):!u&&E<0&&(D=rn(x+M,r[1][1])),T=Math.max(T,O),P=Math.max(P,D)}if(s){if(c){const O=qi(_/C,g,S)*C;if(T=Math.max(T,O),l){let D=0;!d&&!u||d&&!u&&m?D=dn(x+H+_/C,l[1][1])*C:D=rn(x+H+(d?k:-k)/C,l[0][1])*C,T=Math.max(T,D)}if(r){let D=0;!d&&!u||d&&!u&&m?D=rn(x+_/C,r[1][1])*C:D=dn(x+(d?k:-k)/C,r[0][1])*C,T=Math.max(T,D)}}if(b){const O=qi(M*C,h,y)/C;if(P=Math.max(P,O),l){let D=0;!d&&!u||u&&!d&&m?D=dn(p+M*C+L,l[1][0])/C:D=rn(p+(u?E:-E)*C+L,l[0][0])/C,P=Math.max(P,D)}if(r){let D=0;!d&&!u||u&&!d&&m?D=rn(p+M*C,r[1][0])/C:D=dn(p+(u?E:-E)*C,r[0][0])/C,P=Math.max(P,D)}}}E=E+(E<0?P:-P),k=k+(k<0?T:-T),s&&(m?_>M*C?E=(Zt(d,u)?-k:k)/C:k=(Zt(d,u)?-E:E)*C:c?(E=k/C,u=d):(k=E*C,d=u));const I=d?p+k:p,B=u?x+E:x;return{width:A+(d?-k:k),height:N+(u?-E:E),x:t[0]*k*(d?-1:1)+I,y:t[1]*E*(u?-1:1)+B}}const Xt={width:0,height:0,x:0,y:0},qf={...Xt,pointerX:0,pointerY:0,aspectRatio:1};function Yf(e,n,i){var u,c;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(c=e.measured.height)!=null?c:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Jf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ge(e);let l={controlDirection:Jt("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:c,keepAspectRatio:b,resizeDirection:m,onResizeStart:f,onResize:v,onResizeEnd:h,shouldResize:y}){let g={...Xt},S={...qf};l={boundaries:c,resizeDirection:m,keepAspectRatio:b,controlDirection:Jt(u)};let p,x=null,A=[],N,C,k,E=!1;const _=Pa().on("start",M=>{var j,q,K,V,Z,te;const{nodeLookup:L,transform:H,snapGrid:T,snapToGrid:P,nodeOrigin:I,paneDomNode:B}=i();if(p=L.get(n),!p)return;x=(j=B==null?void 0:B.getBoundingClientRect())!=null?j:null;const{xSnapped:O,ySnapped:D}=ri(M.sourceEvent,{transform:H,snapGrid:T,snapToGrid:P,containerBounds:x});g={width:(q=p.measured.width)!=null?q:0,height:(K=p.measured.height)!=null?K:0,x:(V=p.position.x)!=null?V:0,y:(Z=p.position.y)!=null?Z:0},S={...g,pointerX:O,pointerY:D,aspectRatio:g.width/g.height},N=void 0,C=gn(p.extent)?p.extent:void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(N=L.get(p.parentId)),N&&p.extent==="parent"&&(C=[[0,0],[N.measured.width,N.measured.height]]),A=[],k=void 0;for(const[se,ie]of L)if(ie.parentId===n&&(A.push({id:se,position:{...ie.position},extent:ie.extent}),ie.extent==="parent"||ie.expandParent)){const U=Yf(ie,p,(te=ie.origin)!=null?te:I);k?k=[[Math.min(U[0][0],k[0][0]),Math.min(U[0][1],k[0][1])],[Math.max(U[1][0],k[1][0]),Math.max(U[1][1],k[1][1])]]:k=U}f==null||f(M,{...g})}).on("drag",M=>{var G,Y,$;const{transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P}=i(),I=ri(M.sourceEvent,{transform:L,snapGrid:H,snapToGrid:T,containerBounds:x}),B=[];if(!p)return;const{x:O,y:D,width:j,height:q}=g,K={},V=(G=p.origin)!=null?G:P,{width:Z,height:te,x:se,y:ie}=Uf(S,l.controlDirection,I,l.boundaries,l.keepAspectRatio,V,C,k),U=Z!==j,ee=te!==q,de=se!==O&&U,z=ie!==D&&ee;if(!de&&!z&&!U&&!ee)return;if((de||z||V[0]===1||V[1]===1)&&(K.x=de?se:g.x,K.y=z?ie:g.y,g.x=K.x,g.y=K.y,A.length>0)){const W=se-O,F=ie-D;for(const X of A)X.position={x:X.position.x-W+V[0]*(Z-j),y:X.position.y-F+V[1]*(te-q)},B.push(X)}if((U||ee)&&(K.width=U&&(!l.resizeDirection||l.resizeDirection==="horizontal")?Z:g.width,K.height=ee&&(!l.resizeDirection||l.resizeDirection==="vertical")?te:g.height,g.width=K.width,g.height=K.height),N&&p.expandParent){const W=V[0]*((Y=K.width)!=null?Y:0);K.x&&K.x<W&&(g.x=W,S.x=S.x-(K.x-W));const F=V[1]*(($=K.height)!=null?$:0);K.y&&K.y<F&&(g.y=F,S.y=S.y-(K.y-F))}const R=Wf({width:g.width,prevWidth:j,height:g.height,prevHeight:q,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),ae={...g,direction:R};(y==null?void 0:y(M,ae))!==!1&&(E=!0,v==null||v(M,ae),o(K,B))}).on("end",M=>{E&&(h==null||h(M,{...g}),s==null||s({...g}),E=!1)});t.call(_)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Zf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yi={exports:{}},vs={},Ji={exports:{}},fs={};/**
38
+ active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:f},children:a.jsx(ue,{icon:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:f},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},A)})})})]})},nc=N.memo(ec),Je=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:b="button",style:c,onClick:m})=>{const f=ge("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(ue,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(ue,{icon:s})})]});return u?a.jsx("div",{className:f,children:v()}):d?a.jsx(Ar.Link,{to:d,className:f,children:v()}):a.jsx("button",{disabled:n,type:b,className:f,"data-testid":"btn",onClick:m,style:c,children:v()})};function ic(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const oc=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=N.useContext(He);if(!e)return null;const s=Le("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(ic,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Po,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o,preview:!0})})]})};function sc(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function ac({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:b}){const{formData:c,setShowPreview:m,showPreview:f,undo:v,redo:p,canUndo:S,canRedo:g}=N.useContext(He),[y,h]=N.useState(!1),[x,A]=N.useState(!1),[w,C]=N.useState(e||""),k=Le("config");function E(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(L){console.warn("Could not save formData to localStorage",L)}i==null||i(c)}function _(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(L){console.warn("Could not save formData to localStorage",L)}o==null||o(c)}function M(){A(!1),r&&w!==e&&r(w.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(sc,{})})," ",x?a.jsx("input",{type:"text",value:w,onChange:L=>C(L.target.value),onBlur:M,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>A(!0),children:w||"Untitled"})]}),y&&a.jsx(oc,{isOpen:y,onClose:()=>h(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(ue,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(ue,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Je,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${S?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!S}),a.jsx(Je,{onClick:p,text:"",btnClass:`!px-2 bg-transparent redo ${g?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!g}),b&&a.jsx(Je,{onClick:b,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(k==null?void 0:k.buttonColor)||"#333"}}),a.jsx(Je,{onClick:()=>m(L=>!L),text:f?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:f?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Je,{onClick:E,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Je,{onClick:_,text:"Publish",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function tc({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:f,uploadUrl:v,onAddTemplate:p,templates:S,onShowVersion:g,formType:y="default"}){const[h,x]=N.useState("canvas");return a.jsxs(Ms,{onChange:n,onLogAction:i,deleteMode:s||(t==null?void 0:t.deleteMode)||"remove",children:[a.jsx(we.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[h==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(nc,{formType:y})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${h==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(ac,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:f,viewMode:h,setViewMode:x,onShowVersion:g})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(Eo,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Xu,{questionData:o,uploadUrl:v,onAddTemplate:p,templates:S,viewMode:h})})]})]})})]})}const lc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:b,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:p,onAddTemplate:S,templates:g,onShowVersion:y,formType:h})=>(N.useEffect(()=>{l&&na("config",l)},[l]),a.jsx(tc,{onSubmit:e,onChange:n,onLogAction:i,onPublish:b,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:p,onAddTemplate:S,templates:g,onShowVersion:y,formType:h})),tn={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},rc=e=>({textField:ne.string().nullable(),longText:ne.string().nullable(),numberField:ne.number().nullable().transform(i=>isNaN(i)?null:i),amountField:ne.number().nullable().transform(i=>isNaN(i)?null:i),selectField:ne.string().nullable(),checkbox:ne.mixed().nullable(),radio:ne.mixed().nullable(),matrix:ne.mixed().nullable(),email:ne.string().nullable().test("email-format",tn.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:ne.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:ne.string().nullable().test("url-format",tn.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||ne.mixed().nullable(),dc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||tn.required):e.required(i||tn.required):e,uc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||tn.minLength(n))),i&&(t=t.max(i,s||tn.maxLength(i))),t},cc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||tn.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||tn.maxAmount(i))),t},Mo=(e,n)=>{if(e!=null&&e.isDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function bc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isDeleted||!Mo(r,o))return;const{id:d,type:u,isRequired:b,requiredMessage:c}=r,m=!!(r.isDisabled||r.disabled),f=!!(n||r.isReadOnly||r.readOnly);if(m||f||i){s[d]=ne.mixed().notRequired().nullable();return}let v=rc(u);v=dc(v,b,c),u==="textField"||u==="longText"||u==="email"||u==="url"?v=uc(v,r):(u==="numberField"||u==="amountField")&&(v=cc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",p=>{var y;if(p==null||p===""||Array.isArray(p)&&p.length===0)return!b;const g=((y=r.options)==null?void 0:y.length)||0;return Array.isArray(p)?p.length>=g:g<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,p=>p==null||p===""||Array.isArray(p)&&p.length===0?!b:Array.isArray(p)?p.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),ne.object().shape(s)}const ma=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},mc=({results:e,hideInputs:n})=>{var s,t,l,r,d,u,b;const[i,o]=N.useState(n!=null?n:!1);return e?a.jsxs("div",{className:"mt-2 w-full",children:[i&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((s=e.responsesData)==null?void 0:s.options)&&e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m)),e.type==="rating"&&((t=e.responsesData)==null?void 0:t.options)&&a.jsxs(a.Fragment,{children:[((l=e.responsesData)==null?void 0:l.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m))]}),e.type==="matrix"&&((r=e.responsesData)==null?void 0:r.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,m)=>{var f;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(f=c.columns)==null?void 0:f.map((v,p)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:v.label}),a.jsxs("span",{children:[Math.round(v.percentage),"% (",v.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${v.percentage}%`}})})]},p))})]},m)})}),e.type==="ranking"&&((d=e.responsesData)==null?void 0:d.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,m)=>{var f,v;return((f=c.averageRank)!=null?f:1/0)-((v=m.averageRank)!=null?v:1/0)}).map((c,m)=>{var f,v;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(f=c.averageRank)!=null?f:m+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:ma(c.label),children:ma(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(v=c.pointsPercentage)!=null?v:c.percentage}%`}})})]})]},m)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((u=e.responsesData)==null?void 0:u.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((b=e.responsesData)==null?void 0:b.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},m))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>o(!i),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(ue,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),i?"Hide Results":"Show Results"]})]}):null},Nn=({element:e,validationData:n})=>{var b,c;const i=ca[e.type],{answerData:o}=N.useContext(He),s=N.useMemo(()=>{var m;return(m=e==null?void 0:e.acceptedFiles)==null?void 0:m.map(f=>f.label).join(", ")},[e]),t=N.useMemo(()=>Mo(e,o),[o,e]);if(!i)return null;const l=!!(n!=null&&n.showResults),r=!!((b=n==null?void 0:n.hideInputsOnResults)!=null?b:n!=null&&n.hideInputs),d=!!((c=n==null?void 0:n.pollResults)!=null&&c[e.id]),u=l&&r&&d;return a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),!u&&a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),l&&d&&a.jsx(mc,{results:n.pollResults[e.id],hideInputs:r}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description})]})},Cn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function vc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(pi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(Nn,{element:l,validationData:Cn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:ge("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(Nn,{element:s,validationData:Cn(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function fc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const b=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:b==null?void 0:b.map(c=>{var m,f,v;return a.jsxs(pi,{col:(m=c.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(Nn,{element:c,validationData:Cn(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(f=n==null?void 0:n.errors)==null?void 0:f[c.id])==null?void 0:v.message})]},c.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:ge("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(Nn,{element:t,validationData:Cn(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const To=Le("config");function hc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),i())},d=b=>{var c;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(gi,{element:b,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=b.gridChildren)==null?void 0:c.map(m=>{var f,v,p;return a.jsxs(pi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[a.jsx(Nn,{element:m,validationData:Cn(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(p=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:p.message})]},m.id)})})},b.id)},u=b=>{var c,m;return a.jsxs("div",{className:ge("group relative grid gap-y-[6px] min-w-0 w-full",b.elementClass),children:[a.jsx(Nn,{element:b,validationData:Cn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(c=n==null?void 0:n.errors)==null?void 0:c[b.id])==null?void 0:m.message})]},b.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(fe.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Je,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(To==null?void 0:To.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-semibold ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(ue,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function pc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const gc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:b,showResults:c,hideInputsOnResults:m=!1,sendHiddenSectionsAsEmpty:f=!1,preview:v=!1})=>{var V,Q,te,X,F,Y,z,W,q,le;const{setAnswerData:p,setUploadUrl:S,apiActivityCount:g}=N.useContext(He),[y,h]=N.useState(0),[x,A]=N.useState(0),w=N.useMemo(()=>e.filter(J=>(v?!0:!J.isHidden)&&!J.isDeleted).map(J=>{var se;const re=J.isDisabled||J.disabled,oe=((se=J==null?void 0:J.questionData)==null?void 0:se.filter(pe=>!pe.isDeleted))||[];return re?{...J,questionData:oe.map(pe=>({...pe,isDisabled:!0}))}:{...J,questionData:oe}}),[e,v]),C=(V=w==null?void 0:w.length)!=null?V:0,k=Le("config"),E=N.useCallback(async(J,re,oe)=>{const se=bc({formData:w,isReadOnly:t,ignoreValidation:i,answerData:J});return fo(se)(J,re,oe)},[w,t,i]),_=Re.useForm({resolver:E,mode:"onSubmit",defaultValues:{}}),{register:M,setValue:L,control:H,handleSubmit:T,reset:P,getValues:I,watch:D,formState:{errors:O,isSubmitting:B},trigger:G,setError:U,clearErrors:K}=_,$=Re.useWatch({control:H}),Z=N.useMemo(()=>$,[JSON.stringify($)]),ie=N.useMemo(()=>{if(l!=="conversational")return[];const J=[];return w.forEach(re=>{var oe;(oe=re==null?void 0:re.questionData)==null||oe.forEach(se=>{var pe;if(Mo(se,Z))if(se.type==="grid"){const ye=(pe=re==null?void 0:re.questionData)==null?void 0:pe.filter(he=>he.gridId===se.id);J.push({...se,gridChildren:ye})}else se.gridId||J.push(se)})}),J},[w,Z,l]),ae=N.useCallback(J=>{s&&s(J)},[s]);N.useEffect(()=>{S(u)},[S,u]),N.useEffect(()=>{if(!(e!=null&&e.length)||!s)return;const J={...I?I():{},...Z||{}},re=e.filter(oe=>!(oe!=null&&oe.isDeleted)).flatMap(oe=>{var he,ke;const se=v?!1:!!(oe!=null&&oe.isHidden),pe=!!(f||oe!=null&&oe.sendEmptyWhenHidden||oe!=null&&oe.clearWhenHidden),ye=se&&pe;return((ke=(he=oe==null?void 0:oe.questionData)==null?void 0:he.filter(me=>!(me!=null&&me.isDeleted)))==null?void 0:ke.map(me=>{var Te;const de=J[me.id]!==void 0?J[me.id]:me.value!==void 0&&me.value!==null?me.value:"",Ie=J[`${me.id}_metaData`]||((Te=me.metaData)==null?void 0:Te.responseObject);return{id:me.id,value:ye?"":de!=null?de:"",sectionId:oe.id,type:me.type,metaData:{prefix:me.prefix,dateFormat:me.dateFormat,...ye||!Ie?{}:{responseObject:Ie}}}}))||[]});ae(re),p(J)},[Z,e,ae,s,p,f,I,v]),N.useEffect(()=>{n!=null&&n.length&&P(pc(n))},[n,P]);const ee=N.useCallback(J=>{const re={...I?I():{},...J||{}},oe=e.filter(se=>!(se!=null&&se.isDeleted)).flatMap(se=>{var ke,me;const pe=v?!1:!!(se!=null&&se.isHidden),ye=!!(f||se!=null&&se.sendEmptyWhenHidden||se!=null&&se.clearWhenHidden),he=pe&&ye;return((me=(ke=se==null?void 0:se.questionData)==null?void 0:ke.filter(de=>!(de!=null&&de.isDeleted)))==null?void 0:me.map(de=>{var _e;const Ie=re[de.id]!==void 0?re[de.id]:de.value!==void 0&&de.value!==null?de.value:"",Te=re[`${de.id}_metaData`]||((_e=de.metaData)==null?void 0:_e.responseObject);return{id:de.id,value:he?"":Ie!=null?Ie:"",sectionId:se.id,type:de.type,metaData:{prefix:de.prefix,dateFormat:de.dateFormat,...he||!Te?{}:{responseObject:Te}}}}))||[]});Object.keys(O).length>0||o==null||o(oe)},[O,e,I,o,f]),j=N.useCallback(async()=>{var J,re;if(l==="conversational"){if(!i){const oe=ie[x];if(!oe)return;const se=oe.gridChildren?oe.gridChildren.map(ye=>ye.id):[oe.id];if(!await G(se))return}x<ie.length-1?A(oe=>oe+1):T(ee)();return}if(!i){const oe=(re=(J=w==null?void 0:w[y])==null?void 0:J.questionData)==null?void 0:re.map(pe=>pe.id);if(!await G(oe))return}h(oe=>oe+1)},[y,x,ie,w,i,G,l,T,ee]),R=N.useCallback(()=>{if(l==="conversational"){A(J=>Math.max(0,J-1));return}h(J=>J-1)},[l]),ce=N.useMemo(()=>({register:M,setValue:L,watch:D,errors:O,trigger:G,isSubmitting:B,isReadOnly:t,getValues:I,setError:U,clearErrors:K,apiActivityCount:g,pollResults:b,showResults:c,hideInputsOnResults:m,isViewer:!0}),[M,L,D,O,G,B,t,I,U,K,g,b,c,m]);return a.jsxs(Re.FormProvider,{..._,children:[a.jsx(we.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:T(ee),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((Q=w==null?void 0:w[y])==null?void 0:Q.title)||((te=w==null?void 0:w[y])==null?void 0:te.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((X=w[y])==null?void 0:X.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(F=w[y])==null?void 0:F.title}),((Y=w[y])==null?void 0:Y.description)&&a.jsx("p",{className:"text-sm",children:(z=w[y])==null?void 0:z.description})]}),l==="multi"?a.jsx(fc,{form_data:w,options:ce,current:y}):l==="conversational"?a.jsx(hc,{element:ie[x],options:ce,onNext:j,onPrev:R,isFirst:x===0,isLast:x===ie.length-1,isReadOnly:t}):a.jsx(vc,{form_data:w,options:ce})]},l==="conversational"?`conv-${x}`:(W=w==null?void 0:w[y])==null?void 0:W.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",y>0&&a.jsxs("button",{type:"button",onClick:R,className:"text-gray-400 hover:text-gray-600 font-semibold text-base flex items-center gap-1 transition-colors back_btn",children:[a.jsx(ue,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),y<C-1&&a.jsx(Je,{type:"button",text:"Next",onClick:j,style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(y===C-1||t)&&!i&&((q=typeof r=="function"?r({isUploading:g>0,isSubmitting:B,hasErrors:Object.keys(O).length>0}):r)!=null?q:a.jsx(Je,{isDisabled:B||Object.keys(O).length>0||g>0,isLoading:B,type:"submit",text:"Submit",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((le=typeof r=="function"?r({isUploading:g>0,isSubmitting:B,hasErrors:Object.keys(O).length>0}):r)!=null?le:a.jsx(Je,{isDisabled:B||Object.keys(O).length>0||g>0,isLoading:B,type:"submit",text:"Submit",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&ie.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(x+1)/ie.length*100}%`,background:(k==null?void 0:k.buttonColor)||"#2563EB"}})})]})]})},yc=N.memo(gc);function Po({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:b,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v=!1,sendHiddenSectionsAsEmpty:p=!1,preview:S=!1}){N.useEffect(()=>{l&&na("config",l)},[l]);const g=N.useCallback(y=>{b&&b(y)},[b]);return t?a.jsx(Eo,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Ms,{children:a.jsx(yc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:g,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v,sendHiddenSectionsAsEmpty:p,preview:S,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Be(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Be(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var xc={value:()=>{}};function yi(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new xi(i)}function xi(e){this._=e}function Sc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}xi.prototype=yi.prototype={constructor:xi,on:function(e,n){var i=this._,o=Sc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=wc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=va(i[s],e.name,n);else if(n==null)for(s in i)i[s]=va(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new xi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function wc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function va(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=xc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Lo="http://www.w3.org/1999/xhtml";const fa={svg:"http://www.w3.org/2000/svg",xhtml:Lo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Si(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),fa.hasOwnProperty(n)?{space:fa[n],local:e}:e}function Nc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Lo&&n.documentElement.namespaceURI===Lo?n.createElement(e):n.createElementNS(i,e)}}function Cc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ha(e){var n=Si(e);return(n.local?Cc:Nc)(n)}function Ac(){}function Bo(e){return e==null?Ac:function(){return this.querySelector(e)}}function kc(e){typeof e!="function"&&(e=Bo(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,b=0;b<l;++b)(d=t[b])&&(u=e.call(d,d.__data__,b,t))&&("__data__"in d&&(u.__data__=d.__data__),r[b]=u);return new Ke(o,this._parents)}function Ec(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Mc(){return[]}function pa(e){return e==null?Mc:function(){return this.querySelectorAll(e)}}function Tc(e){return function(){return Ec(e.apply(this,arguments))}}function Pc(e){typeof e=="function"?e=Tc(e):e=pa(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Ke(o,s)}function ga(e){return function(){return this.matches(e)}}function ya(e){return function(n){return n.matches(e)}}var Lc=Array.prototype.find;function Bc(e){return function(){return Lc.call(this.children,e)}}function Ic(){return this.firstElementChild}function Dc(e){return this.select(e==null?Ic:Bc(typeof e=="function"?e:ya(e)))}var _c=Array.prototype.filter;function Oc(){return Array.from(this.children)}function Hc(e){return function(){return _c.call(this.children,e)}}function Fc(e){return this.selectAll(e==null?Oc:Hc(typeof e=="function"?e:ya(e)))}function Kc(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Ke(o,this._parents)}function xa(e){return new Array(e.length)}function Vc(){return new Ke(this._enter||this._groups.map(xa),this._parents)}function wi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}wi.prototype={constructor:wi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Gc(e){return function(){return e}}function zc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new wi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function $c(e,n,i,o,s,t,l){var r,d,u=new Map,b=n.length,c=t.length,m=new Array(b),f;for(r=0;r<b;++r)(d=n[r])&&(m[r]=f=l.call(d,d.__data__,r,n)+"",u.has(f)?s[r]=d:u.set(f,d));for(r=0;r<c;++r)f=l.call(e,t[r],r,t)+"",(d=u.get(f))?(o[r]=d,d.__data__=t[r],u.delete(f)):i[r]=new wi(e,t[r]);for(r=0;r<b;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function Wc(e){return e.__data__}function jc(e,n){if(!arguments.length)return Array.from(this,Wc);var i=n?$c:zc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Gc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var b=o[u],c=s[u],m=c.length,f=Uc(e.call(b,b&&b.__data__,u,o)),v=f.length,p=r[u]=new Array(v),S=l[u]=new Array(v),g=d[u]=new Array(m);i(b,c,p,S,g,f,n);for(var y=0,h=0,x,A;y<v;++y)if(x=p[y]){for(y>=h&&(h=y+1);!(A=S[h])&&++h<v;);x._next=A||null}}return l=new Ke(l,o),l._enter=r,l._exit=d,l}function Uc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function qc(){return new Ke(this._exit||this._groups.map(xa),this._parents)}function Yc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Jc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],b=o[d],c=u.length,m=r[d]=new Array(c),f,v=0;v<c;++v)(f=u[v]||b[v])&&(m[v]=f);for(;d<s;++d)r[d]=i[d];return new Ke(r,this._parents)}function Zc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function Xc(e){e||(e=Qc);function n(c,m){return c&&m?e(c.__data__,m.__data__):!c-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,b=0;b<r;++b)(u=l[b])&&(d[b]=u);d.sort(n)}return new Ke(s,this._parents).order()}function Qc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Rc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function eb(){return Array.from(this)}function nb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function ib(){let e=0;for(const n of this)++e;return e}function ob(){return!this.node()}function sb(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function ab(e){return function(){this.removeAttribute(e)}}function tb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lb(e,n){return function(){this.setAttribute(e,n)}}function rb(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function db(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function ub(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function cb(e,n){var i=Si(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?tb:ab:typeof n=="function"?i.local?ub:db:i.local?rb:lb)(i,n))}function Sa(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function bb(e){return function(){this.style.removeProperty(e)}}function mb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function vb(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function fb(e,n,i){return arguments.length>1?this.each((n==null?bb:typeof n=="function"?vb:mb)(e,n,i==null?"":i)):An(this.node(),e)}function An(e,n){return e.style.getPropertyValue(n)||Sa(e).getComputedStyle(e,null).getPropertyValue(n)}function hb(e){return function(){delete this[e]}}function pb(e,n){return function(){this[e]=n}}function gb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function yb(e,n){return arguments.length>1?this.each((n==null?hb:typeof n=="function"?gb:pb)(e,n)):this.node()[e]}function wa(e){return e.trim().split(/^|\s+/)}function Io(e){return e.classList||new Na(e)}function Na(e){this._node=e,this._names=wa(e.getAttribute("class")||"")}Na.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ca(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Aa(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function xb(e){return function(){Ca(this,e)}}function Sb(e){return function(){Aa(this,e)}}function wb(e,n){return function(){(n.apply(this,arguments)?Ca:Aa)(this,e)}}function Nb(e,n){var i=wa(e+"");if(arguments.length<2){for(var o=Io(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?wb:n?xb:Sb)(i,n))}function Cb(){this.textContent=""}function Ab(e){return function(){this.textContent=e}}function kb(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function Eb(e){return arguments.length?this.each(e==null?Cb:(typeof e=="function"?kb:Ab)(e)):this.node().textContent}function Mb(){this.innerHTML=""}function Tb(e){return function(){this.innerHTML=e}}function Pb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Lb(e){return arguments.length?this.each(e==null?Mb:(typeof e=="function"?Pb:Tb)(e)):this.node().innerHTML}function Bb(){this.nextSibling&&this.parentNode.appendChild(this)}function Ib(){return this.each(Bb)}function Db(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function _b(){return this.each(Db)}function Ob(e){var n=typeof e=="function"?e:ha(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Hb(){return null}function Fb(e,n){var i=typeof e=="function"?e:ha(e),o=n==null?Hb:typeof n=="function"?n:Bo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Kb(){var e=this.parentNode;e&&e.removeChild(this)}function Vb(){return this.each(Kb)}function Gb(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function zb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function $b(e){return this.select(e?zb:Gb)}function Wb(e){return arguments.length?this.property("__data__",e):this.node().__data__}function jb(e){return function(n){e.call(this,n,this.__data__)}}function Ub(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function qb(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function Yb(e,n,i){return function(){var o=this.__on,s,t=jb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Jb(e,n,i){var o=Ub(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,b;d<u;++d)for(s=0,b=r[d];s<t;++s)if((l=o[s]).type===b.type&&l.name===b.name)return b.value}return}for(r=n?Yb:qb,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function ka(e,n,i){var o=Sa(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Zb(e,n){return function(){return ka(this,e,n)}}function Xb(e,n){return function(){return ka(this,e,n.apply(this,arguments))}}function Qb(e,n){return this.each((typeof n=="function"?Xb:Zb)(e,n))}function*Rb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ea=[null];function Ke(e,n){this._groups=e,this._parents=n}function $n(){return new Ke([[document.documentElement]],Ea)}function em(){return this}Ke.prototype=$n.prototype={constructor:Ke,select:kc,selectAll:Pc,selectChild:Dc,selectChildren:Fc,filter:Kc,data:jc,enter:Vc,exit:qc,join:Yc,merge:Jc,selection:em,order:Zc,sort:Xc,call:Rc,nodes:eb,node:nb,size:ib,empty:ob,each:sb,attr:cb,style:fb,property:yb,classed:Nb,text:Eb,html:Lb,raise:Ib,lower:_b,append:Ob,insert:Fb,remove:Vb,clone:$b,datum:Wb,on:Jb,dispatch:Qb,[Symbol.iterator]:Rb};function Ve(e){return typeof e=="string"?new Ke([[document.querySelector(e)]],[document.documentElement]):new Ke([[e]],Ea)}function nm(e){let n;for(;n=e.sourceEvent;)e=n;return e}function ze(e,n){if(e=nm(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const im={passive:!1},Wn={capture:!0,passive:!1};function Do(e){e.stopImmediatePropagation()}function kn(e){e.preventDefault(),e.stopImmediatePropagation()}function Ma(e){var n=e.document.documentElement,i=Ve(e).on("dragstart.drag",kn,Wn);"onselectstart"in n?i.on("selectstart.drag",kn,Wn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ta(e,n){var i=e.document.documentElement,o=Ve(e).on("dragstart.drag",null);n&&(o.on("click.drag",kn,Wn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ni=e=>()=>e;function _o(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:b}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:b}})}_o.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function om(e){return!e.ctrlKey&&!e.button}function sm(){return this.parentNode}function am(e,n){return n==null?{x:e.x,y:e.y}:n}function tm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pa(){var e=om,n=sm,i=am,o=tm,s={},t=yi("start","drag","end"),l=0,r,d,u,b,c=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",S).on("touchmove.drag",g,im).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,A){if(!(b||!e.call(this,x,A))){var w=h(this,n.call(this,x,A),x,A,"mouse");w&&(Ve(x.view).on("mousemove.drag",v,Wn).on("mouseup.drag",p,Wn),Ma(x.view),Do(x),u=!1,r=x.clientX,d=x.clientY,w("start",x))}}function v(x){if(kn(x),!u){var A=x.clientX-r,w=x.clientY-d;u=A*A+w*w>c}s.mouse("drag",x)}function p(x){Ve(x.view).on("mousemove.drag mouseup.drag",null),Ta(x.view,u),kn(x),s.mouse("end",x)}function S(x,A){if(e.call(this,x,A)){var w=x.changedTouches,C=n.call(this,x,A),k=w.length,E,_;for(E=0;E<k;++E)(_=h(this,C,x,A,w[E].identifier,w[E]))&&(Do(x),_("start",x,w[E]))}}function g(x){var A=x.changedTouches,w=A.length,C,k;for(C=0;C<w;++C)(k=s[A[C].identifier])&&(kn(x),k("drag",x,A[C]))}function y(x){var A=x.changedTouches,w=A.length,C,k;for(b&&clearTimeout(b),b=setTimeout(function(){b=null},500),C=0;C<w;++C)(k=s[A[C].identifier])&&(Do(x),k("end",x,A[C]))}function h(x,A,w,C,k,E){var _=t.copy(),M=ze(E||w,A),L,H,T;if((T=i.call(x,new _o("beforestart",{sourceEvent:w,target:m,identifier:k,active:l,x:M[0],y:M[1],dx:0,dy:0,dispatch:_}),C))!=null)return L=T.x-M[0]||0,H=T.y-M[1]||0,function P(I,D,O){var B=M,G;switch(I){case"start":s[k]=P,G=l++;break;case"end":delete s[k],--l;case"drag":M=ze(O||D,A),G=l;break}_.call(I,x,new _o(I,{sourceEvent:D,subject:T,target:m,identifier:k,active:G,x:M[0]+L,y:M[1]+H,dx:M[0]-B[0],dy:M[1]-B[1],dispatch:_}),C)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ni(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ni(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:Ni(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:Ni(!!x),m):o},m.on=function(){var x=t.on.apply(t,arguments);return x===t?m:x},m.clickDistance=function(x){return arguments.length?(c=(x=+x)*x,m):Math.sqrt(c)},m}function Oo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function La(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function jn(){}var Un=.7,Ci=1/Un,En="\\s*([+-]?\\d+)\\s*",qn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ze="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lm=/^#([0-9a-f]{3,8})$/,rm=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),dm=new RegExp(`^rgb\\(${Ze},${Ze},${Ze}\\)$`),um=new RegExp(`^rgba\\(${En},${En},${En},${qn}\\)$`),cm=new RegExp(`^rgba\\(${Ze},${Ze},${Ze},${qn}\\)$`),bm=new RegExp(`^hsl\\(${qn},${Ze},${Ze}\\)$`),mm=new RegExp(`^hsla\\(${qn},${Ze},${Ze},${qn}\\)$`),Ba={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Oo(jn,bn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ia,formatHex:Ia,formatHex8:vm,formatHsl:fm,formatRgb:Da,toString:Da});function Ia(){return this.rgb().formatHex()}function vm(){return this.rgb().formatHex8()}function fm(){return Ka(this).formatHsl()}function Da(){return this.rgb().formatRgb()}function bn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=lm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?_a(n):i===3?new Fe(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ai(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ai(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=rm.exec(e))?new Fe(n[1],n[2],n[3],1):(n=dm.exec(e))?new Fe(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=um.exec(e))?Ai(n[1],n[2],n[3],n[4]):(n=cm.exec(e))?Ai(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=bm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,1):(n=mm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,n[4]):Ba.hasOwnProperty(e)?_a(Ba[e]):e==="transparent"?new Fe(NaN,NaN,NaN,0):null}function _a(e){return new Fe(e>>16&255,e>>8&255,e&255,1)}function Ai(e,n,i,o){return o<=0&&(e=n=i=NaN),new Fe(e,n,i,o)}function hm(e){return e instanceof jn||(e=bn(e)),e?(e=e.rgb(),new Fe(e.r,e.g,e.b,e.opacity)):new Fe}function Ho(e,n,i,o){return arguments.length===1?hm(e):new Fe(e,n,i,o==null?1:o)}function Fe(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Oo(Fe,Ho,La(jn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Fe(mn(this.r),mn(this.g),mn(this.b),ki(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oa,formatHex:Oa,formatHex8:pm,formatRgb:Ha,toString:Ha}));function Oa(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}`}function pm(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}${vn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ha(){const e=ki(this.opacity);return`${e===1?"rgb(":"rgba("}${mn(this.r)}, ${mn(this.g)}, ${mn(this.b)}${e===1?")":`, ${e})`}`}function ki(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vn(e){return e=mn(e),(e<16?"0":"")+e.toString(16)}function Fa(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new $e(e,n,i,o)}function Ka(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof jn||(e=bn(e)),!e)return new $e;if(e instanceof $e)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new $e(l,r,d,e.opacity)}function gm(e,n,i,o){return arguments.length===1?Ka(e):new $e(e,n,i,o==null?1:o)}function $e(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Oo($e,gm,La(jn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new Fe(Fo(e>=240?e-240:e+120,s,o),Fo(e,s,o),Fo(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new $e(Va(this.h),Ei(this.s),Ei(this.l),ki(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ki(this.opacity);return`${e===1?"hsl(":"hsla("}${Va(this.h)}, ${Ei(this.s)*100}%, ${Ei(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Va(e){return e=(e||0)%360,e<0?e+360:e}function Ei(e){return Math.max(0,Math.min(1,e||0))}function Fo(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Ko=e=>()=>e;function ym(e,n){return function(i){return e+i*n}}function xm(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function Sm(e){return(e=+e)==1?Ga:function(n,i){return i-n?xm(n,i,e):Ko(isNaN(n)?i:n)}}function Ga(e,n){var i=n-e;return i?ym(e,i):Ko(isNaN(e)?n:e)}const Mi=function e(n){var i=Sm(n);function o(s,t){var l=i((s=Ho(s)).r,(t=Ho(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Ga(s.opacity,t.opacity);return function(b){return s.r=l(b),s.g=r(b),s.b=d(b),s.opacity=u(b),s+""}}return o.gamma=e,o}(1);function wm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function Nm(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Cm(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Yn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Am(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Xe(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function km(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Yn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Vo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Go=new RegExp(Vo.source,"g");function Em(e){return function(){return e}}function Mm(e){return function(n){return e(n)+""}}function za(e,n){var i=Vo.lastIndex=Go.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Vo.exec(e))&&(s=Go.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Xe(o,s)})),i=Go.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Mm(d[0].x):Em(n):(n=d.length,function(u){for(var b=0,c;b<n;++b)r[(c=d[b]).i]=c.x(u);return r.join("")})}function Yn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ko(n):(i==="number"?Xe:i==="string"?(o=bn(n))?(n=o,Mi):za:n instanceof bn?Mi:n instanceof Date?Am:Nm(n)?wm:Array.isArray(n)?Cm:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?km:Xe)(e,n)}var $a=180/Math.PI,zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Wa(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*$a,skewX:Math.atan(d)*$a,scaleX:l,scaleY:r}}var Ti;function Tm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?zo:Wa(n.a,n.b,n.c,n.d,n.e,n.f)}function Pm(e){return e==null||(Ti||(Ti=document.createElementNS("http://www.w3.org/2000/svg","g")),Ti.setAttribute("transform",e),!(e=Ti.transform.baseVal.consolidate()))?zo:(e=e.matrix,Wa(e.a,e.b,e.c,e.d,e.e,e.f))}function ja(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,b,c,m,f,v){if(u!==c||b!==m){var p=f.push("translate(",null,n,null,i);v.push({i:p-4,x:Xe(u,c)},{i:p-2,x:Xe(b,m)})}else(c||m)&&f.push("translate("+c+n+m+i)}function l(u,b,c,m){u!==b?(u-b>180?b+=360:b-u>180&&(u+=360),m.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Xe(u,b)})):b&&c.push(s(c)+"rotate("+b+o)}function r(u,b,c,m){u!==b?m.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Xe(u,b)}):b&&c.push(s(c)+"skewX("+b+o)}function d(u,b,c,m,f,v){if(u!==c||b!==m){var p=f.push(s(f)+"scale(",null,",",null,")");v.push({i:p-4,x:Xe(u,c)},{i:p-2,x:Xe(b,m)})}else(c!==1||m!==1)&&f.push(s(f)+"scale("+c+","+m+")")}return function(u,b){var c=[],m=[];return u=e(u),b=e(b),t(u.translateX,u.translateY,b.translateX,b.translateY,c,m),l(u.rotate,b.rotate,c,m),r(u.skewX,b.skewX,c,m),d(u.scaleX,u.scaleY,b.scaleX,b.scaleY,c,m),u=b=null,function(f){for(var v=-1,p=m.length,S;++v<p;)c[(S=m[v]).i]=S.x(f);return c.join("")}}}var Lm=ja(Tm,"px, ","px)","deg)"),Bm=ja(Pm,", ",")",")"),Im=1e-12;function Ua(e){return((e=Math.exp(e))+1/e)/2}function Dm(e){return((e=Math.exp(e))-1/e)/2}function _m(e){return((e=Math.exp(2*e))-1)/(e+1)}const Pi=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],b=l[0],c=l[1],m=l[2],f=b-r,v=c-d,p=f*f+v*v,S,g;if(p<Im)g=Math.log(m/u)/n,S=function(C){return[r+C*f,d+C*v,u*Math.exp(n*C*g)]};else{var y=Math.sqrt(p),h=(m*m-u*u+o*p)/(2*u*i*y),x=(m*m-u*u-o*p)/(2*m*i*y),A=Math.log(Math.sqrt(h*h+1)-h),w=Math.log(Math.sqrt(x*x+1)-x);g=(w-A)/n,S=function(C){var k=C*g,E=Ua(A),_=u/(i*y)*(E*_m(n*k+A)-Dm(A));return[r+_*f,d+_*v,u*E/Ua(n*k+A)]}}return S.duration=g*1e3*n/Math.SQRT2,S}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var Mn=0,Jn=0,Zn=0,qa=1e3,Li,Xn,Bi=0,fn=0,Ii=0,Qn=typeof performance=="object"&&performance.now?performance:Date,Ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $o(){return fn||(Ya(Om),fn=Qn.now()+Ii)}function Om(){fn=0}function Di(){this._call=this._time=this._next=null}Di.prototype=Ja.prototype={constructor:Di,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?$o():+i)+(n==null?0:+n),!this._next&&Xn!==this&&(Xn?Xn._next=this:Li=this,Xn=this),this._call=e,this._time=i,Wo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wo())}};function Ja(e,n,i){var o=new Di;return o.restart(e,n,i),o}function Hm(){$o(),++Mn;for(var e=Li,n;e;)(n=fn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mn}function Za(){fn=(Bi=Qn.now())+Ii,Mn=Jn=0;try{Hm()}finally{Mn=0,Km(),fn=0}}function Fm(){var e=Qn.now(),n=e-Bi;n>qa&&(Ii-=n,Bi=e)}function Km(){for(var e,n=Li,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Li=i);Xn=e,Wo(o)}function Wo(e){if(!Mn){Jn&&(Jn=clearTimeout(Jn));var n=e-fn;n>24?(e<1/0&&(Jn=setTimeout(Za,e-Qn.now()-Ii)),Zn&&(Zn=clearInterval(Zn))):(Zn||(Bi=Qn.now(),Zn=setInterval(Fm,qa)),Mn=1,Ya(Za))}}function Xa(e,n,i){var o=new Di;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Vm=yi("start","end","cancel","interrupt"),Gm=[],Qa=0,Ra=1,jo=2,_i=3,et=4,Uo=5,Oi=6;function Hi(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;zm(e,i,{name:n,index:o,group:s,on:Vm,tween:Gm,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Qa})}function qo(e,n){var i=We(e,n);if(i.state>Qa)throw new Error("too late; already scheduled");return i}function Qe(e,n){var i=We(e,n);if(i.state>_i)throw new Error("too late; already running");return i}function We(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function zm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ja(t,0,i.time);function t(u){i.state=Ra,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var b,c,m,f;if(i.state!==Ra)return d();for(b in o)if(f=o[b],f.name===i.name){if(f.state===_i)return Xa(l);f.state===et?(f.state=Oi,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[b]):+b<n&&(f.state=Oi,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[b])}if(Xa(function(){i.state===_i&&(i.state=et,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=jo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===jo){for(i.state=_i,s=new Array(m=i.tween.length),b=0,c=-1;b<m;++b)(f=i.tween[b].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=f);s.length=c+1}}function r(u){for(var b=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Uo,1),c=-1,m=s.length;++c<m;)s[c].call(e,b);i.state===Uo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Oi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Fi(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>jo&&o.state<Uo,o.state=Oi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function $m(e){return this.each(function(){Fi(this,e)})}function Wm(e,n){var i,o;return function(){var s=Qe(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function jm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=Qe(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function Um(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=We(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Wm:jm)(i,e,n))}function Yo(e,n,i){var o=e._id;return e.each(function(){var s=Qe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return We(s,o).value[n]}}function nt(e,n){var i;return(typeof n=="number"?Xe:n instanceof bn?Mi:(i=bn(n))?(n=i,Mi):za)(e,n)}function qm(e){return function(){this.removeAttribute(e)}}function Ym(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Jm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Zm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function Xm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Qm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Rm(e,n){var i=Si(e),o=i==="transform"?Bm:nt;return this.attrTween(e,typeof n=="function"?(i.local?Qm:Xm)(i,o,Yo(this,"attr."+e,n)):n==null?(i.local?Ym:qm)(i):(i.local?Zm:Jm)(i,o,n))}function ev(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function nv(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function iv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&nv(e,t)),i}return s._value=n,s}function ov(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&ev(e,t)),i}return s._value=n,s}function sv(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=Si(e);return this.tween(i,(o.local?iv:ov)(o,n))}function av(e,n){return function(){qo(this,e).delay=+n.apply(this,arguments)}}function tv(e,n){return n=+n,function(){qo(this,e).delay=n}}function lv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?av:tv)(n,e)):We(this.node(),n).delay}function rv(e,n){return function(){Qe(this,e).duration=+n.apply(this,arguments)}}function dv(e,n){return n=+n,function(){Qe(this,e).duration=n}}function uv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?rv:dv)(n,e)):We(this.node(),n).duration}function cv(e,n){if(typeof n!="function")throw new Error;return function(){Qe(this,e).ease=n}}function bv(e){var n=this._id;return arguments.length?this.each(cv(n,e)):We(this.node(),n).ease}function mv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Qe(this,e).ease=i}}function vv(e){if(typeof e!="function")throw new Error;return this.each(mv(this._id,e))}function fv(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new en(o,this._parents,this._name,this._id)}function hv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],b=d.length,c=l[r]=new Array(b),m,f=0;f<b;++f)(m=d[f]||u[f])&&(c[f]=m);for(;r<o;++r)l[r]=n[r];return new en(l,this._parents,this._name,this._id)}function pv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function gv(e,n,i){var o,s,t=pv(n)?qo:Qe;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function yv(e,n){var i=this._id;return arguments.length<2?We(this.node(),i).on.on(e):this.each(gv(i,e,n))}function xv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Sv(){return this.on("end.remove",xv(this._id))}function wv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Bo(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),b,c,m=0;m<d;++m)(b=r[m])&&(c=e.call(b,b.__data__,m,r))&&("__data__"in b&&(c.__data__=b.__data__),u[m]=c,Hi(u[m],n,i,m,u,We(b,i)));return new en(t,this._parents,n,i)}function Nv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=pa(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,b,c=0;c<u;++c)if(b=d[c]){for(var m=e.call(b,b.__data__,c,d),f,v=We(b,i),p=0,S=m.length;p<S;++p)(f=m[p])&&Hi(f,n,i,p,m,v);t.push(m),l.push(b)}return new en(t,l,n,i)}var Cv=$n.prototype.constructor;function Av(){return new Cv(this._groups,this._parents)}function kv(e,n){var i,o,s;return function(){var t=An(this,e),l=(this.style.removeProperty(e),An(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function it(e){return function(){this.style.removeProperty(e)}}function Ev(e,n,i){var o,s=i+"",t;return function(){var l=An(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Mv(e,n,i){var o,s,t;return function(){var l=An(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),An(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Tv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Qe(this,e),u=d.on,b=d.value[t]==null?r||(r=it(n)):void 0;(u!==i||s!==b)&&(o=(i=u).copy()).on(l,s=b),d.on=o}}function Pv(e,n,i){var o=(e+="")=="transform"?Lm:nt;return n==null?this.styleTween(e,kv(e,o)).on("end.style."+e,it(e)):typeof n=="function"?this.styleTween(e,Mv(e,o,Yo(this,"style."+e,n))).each(Tv(this._id,e)):this.styleTween(e,Ev(e,o,n),i).on("end.style."+e,null)}function Lv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Bv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Lv(e,l,i)),o}return t._value=n,t}function Iv(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Bv(e,n,i==null?"":i))}function Dv(e){return function(){this.textContent=e}}function _v(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function Ov(e){return this.tween("text",typeof e=="function"?_v(Yo(this,"text",e)):Dv(e==null?"":e+""))}function Hv(e){return function(n){this.textContent=e.call(this,n)}}function Fv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Hv(s)),n}return o._value=e,o}function Kv(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Fv(e))}function Vv(){for(var e=this._name,n=this._id,i=ot(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var b=We(d,n);Hi(d,e,i,u,l,{time:b.time+b.delay+b.duration,delay:0,duration:b.duration,ease:b.ease})}return new en(o,this._parents,e,i)}function Gv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=Qe(this,o),b=u.on;b!==e&&(n=(e=b).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var zv=0;function en(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function ot(){return++zv}var nn=$n.prototype;en.prototype={constructor:en,select:wv,selectAll:Nv,selectChild:nn.selectChild,selectChildren:nn.selectChildren,filter:fv,merge:hv,selection:Av,transition:Vv,call:nn.call,nodes:nn.nodes,node:nn.node,size:nn.size,empty:nn.empty,each:nn.each,on:yv,attr:Rm,attrTween:sv,style:Pv,styleTween:Iv,text:Ov,textTween:Kv,remove:Sv,tween:Um,delay:lv,duration:uv,ease:bv,easeVarying:vv,end:Gv,[Symbol.iterator]:nn[Symbol.iterator]};function $v(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Wv={time:null,delay:0,duration:250,ease:$v};function jv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function Uv(e){var n,i;e instanceof en?(n=e._id,e=e._name):(n=ot(),(i=Wv).time=$o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Hi(d,e,n,u,l,i||jv(d,n));return new en(o,this._parents,e,n)}$n.prototype.interrupt=$m,$n.prototype.transition=Uv;const Ki=e=>()=>e;function qv(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function on(e,n,i){this.k=e,this.x=n,this.y=i}on.prototype={constructor:on,scale:function(e){return e===1?this:new on(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new on(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Vi=new on(1,0,0);st.prototype=on.prototype;function st(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Vi;return e.__zoom}function Jo(e){e.stopImmediatePropagation()}function Rn(e){e.preventDefault(),e.stopImmediatePropagation()}function Yv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Jv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function at(){return this.__zoom||Vi}function Zv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Xv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qv(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function tt(){var e=Yv,n=Jv,i=Qv,o=Zv,s=Xv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Pi,u=yi("start","zoom","end"),b,c,m,f=500,v=150,p=0,S=10;function g(T){T.property("__zoom",at).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(T,P,I,D){var O=T.selection?T.selection():T;O.property("__zoom",at),T!==O?A(T,P,I,D):O.interrupt().each(function(){w(this,arguments).event(D).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},g.scaleBy=function(T,P,I,D){g.scaleTo(T,function(){var O=this.__zoom.k,B=typeof P=="function"?P.apply(this,arguments):P;return O*B},I,D)},g.scaleTo=function(T,P,I,D){g.transform(T,function(){var O=n.apply(this,arguments),B=this.__zoom,G=I==null?x(O):typeof I=="function"?I.apply(this,arguments):I,U=B.invert(G),K=typeof P=="function"?P.apply(this,arguments):P;return i(h(y(B,K),G,U),O,l)},I,D)},g.translateBy=function(T,P,I,D){g.transform(T,function(){return i(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof I=="function"?I.apply(this,arguments):I),n.apply(this,arguments),l)},null,D)},g.translateTo=function(T,P,I,D,O){g.transform(T,function(){var B=n.apply(this,arguments),G=this.__zoom,U=D==null?x(B):typeof D=="function"?D.apply(this,arguments):D;return i(Vi.translate(U[0],U[1]).scale(G.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof I=="function"?-I.apply(this,arguments):-I),B,l)},D,O)};function y(T,P){return P=Math.max(t[0],Math.min(t[1],P)),P===T.k?T:new on(P,T.x,T.y)}function h(T,P,I){var D=P[0]-I[0]*T.k,O=P[1]-I[1]*T.k;return D===T.x&&O===T.y?T:new on(T.k,D,O)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function A(T,P,I,D){T.on("start.zoom",function(){w(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(D).end()}).tween("zoom",function(){var O=this,B=arguments,G=w(O,B).event(D),U=n.apply(O,B),K=I==null?x(U):typeof I=="function"?I.apply(O,B):I,$=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Z=O.__zoom,ie=typeof P=="function"?P.apply(O,B):P,ae=d(Z.invert(K).concat($/Z.k),ie.invert(K).concat($/ie.k));return function(ee){if(ee===1)ee=ie;else{var j=ae(ee),R=$/j[2];ee=new on(R,K[0]-j[0]*R,K[1]-j[1]*R)}G.zoom(null,ee)}})}function w(T,P,I){return!I&&T.__zooming||new C(T,P)}function C(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,P),this.taps=0}C.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=Ve(this.that).datum();u.call(T,this.that,new qv(T,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:u}),P)}};function k(T,...P){if(!e.apply(this,arguments))return;var I=w(this,P).event(T),D=this.__zoom,O=Math.max(t[0],Math.min(t[1],D.k*Math.pow(2,o.apply(this,arguments)))),B=ze(T);if(I.wheel)(I.mouse[0][0]!==B[0]||I.mouse[0][1]!==B[1])&&(I.mouse[1]=D.invert(I.mouse[0]=B)),clearTimeout(I.wheel);else{if(D.k===O)return;I.mouse=[B,D.invert(B)],Fi(this),I.start()}Rn(T),I.wheel=setTimeout(G,v),I.zoom("mouse",i(h(y(D,O),I.mouse[0],I.mouse[1]),I.extent,l));function G(){I.wheel=null,I.end()}}function E(T,...P){if(m||!e.apply(this,arguments))return;var I=T.currentTarget,D=w(this,P,!0).event(T),O=Ve(T.view).on("mousemove.zoom",K,!0).on("mouseup.zoom",$,!0),B=ze(T,I),G=T.clientX,U=T.clientY;Ma(T.view),Jo(T),D.mouse=[B,this.__zoom.invert(B)],Fi(this),D.start();function K(Z){if(Rn(Z),!D.moved){var ie=Z.clientX-G,ae=Z.clientY-U;D.moved=ie*ie+ae*ae>p}D.event(Z).zoom("mouse",i(h(D.that.__zoom,D.mouse[0]=ze(Z,I),D.mouse[1]),D.extent,l))}function $(Z){O.on("mousemove.zoom mouseup.zoom",null),Ta(Z.view,D.moved),Rn(Z),D.event(Z).end()}}function _(T,...P){if(e.apply(this,arguments)){var I=this.__zoom,D=ze(T.changedTouches?T.changedTouches[0]:T,this),O=I.invert(D),B=I.k*(T.shiftKey?.5:2),G=i(h(y(I,B),D,O),n.apply(this,P),l);Rn(T),r>0?Ve(this).transition().duration(r).call(A,G,D,T):Ve(this).call(g.transform,G,D,T)}}function M(T,...P){if(e.apply(this,arguments)){var I=T.touches,D=I.length,O=w(this,P,T.changedTouches.length===D).event(T),B,G,U,K;for(Jo(T),G=0;G<D;++G)U=I[G],K=ze(U,this),K=[K,this.__zoom.invert(K),U.identifier],O.touch0?!O.touch1&&O.touch0[2]!==K[2]&&(O.touch1=K,O.taps=0):(O.touch0=K,B=!0,O.taps=1+!!b);b&&(b=clearTimeout(b)),B&&(O.taps<2&&(c=K[0],b=setTimeout(function(){b=null},f)),Fi(this),O.start())}}function L(T,...P){if(this.__zooming){var I=w(this,P).event(T),D=T.changedTouches,O=D.length,B,G,U,K;for(Rn(T),B=0;B<O;++B)G=D[B],U=ze(G,this),I.touch0&&I.touch0[2]===G.identifier?I.touch0[0]=U:I.touch1&&I.touch1[2]===G.identifier&&(I.touch1[0]=U);if(G=I.that.__zoom,I.touch1){var $=I.touch0[0],Z=I.touch0[1],ie=I.touch1[0],ae=I.touch1[1],ee=(ee=ie[0]-$[0])*ee+(ee=ie[1]-$[1])*ee,j=(j=ae[0]-Z[0])*j+(j=ae[1]-Z[1])*j;G=y(G,Math.sqrt(ee/j)),U=[($[0]+ie[0])/2,($[1]+ie[1])/2],K=[(Z[0]+ae[0])/2,(Z[1]+ae[1])/2]}else if(I.touch0)U=I.touch0[0],K=I.touch0[1];else return;I.zoom("touch",i(h(G,U,K),I.extent,l))}}function H(T,...P){if(this.__zooming){var I=w(this,P).event(T),D=T.changedTouches,O=D.length,B,G;for(Jo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),B=0;B<O;++B)G=D[B],I.touch0&&I.touch0[2]===G.identifier?delete I.touch0:I.touch1&&I.touch1[2]===G.identifier&&delete I.touch1;if(I.touch1&&!I.touch0&&(I.touch0=I.touch1,delete I.touch1),I.touch0)I.touch0[1]=this.__zoom.invert(I.touch0[0]);else if(I.end(),I.taps===2&&(G=ze(G,this),Math.hypot(c[0]-G[0],c[1]-G[1])<S)){var U=Ve(this).on("dblclick.zoom");U&&U.apply(this,arguments)}}}return g.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:Ki(+T),g):o},g.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ki(!!T),g):e},g.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Ki(!!T),g):s},g.extent=function(T){return arguments.length?(n=typeof T=="function"?T:Ki([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),g):n},g.scaleExtent=function(T){return arguments.length?(t[0]=+T[0],t[1]=+T[1],g):[t[0],t[1]]},g.translateExtent=function(T){return arguments.length?(l[0][0]=+T[0][0],l[1][0]=+T[1][0],l[0][1]=+T[0][1],l[1][1]=+T[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(T){return arguments.length?(i=T,g):i},g.duration=function(T){return arguments.length?(r=+T,g):r},g.interpolate=function(T){return arguments.length?(d=T,g):d},g.on=function(){var T=u.on.apply(u,arguments);return T===u?g:T},g.clickDistance=function(T){return arguments.length?(p=(T=+T)*T,g):Math.sqrt(p)},g.tapDistance=function(T){return arguments.length?(S=+T,g):S},g}const Ge={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ei=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],lt=["Enter"," ","Escape"],rt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Tn;(function(e){e.Strict="strict",e.Loose="loose"})(Tn||(Tn={}));var hn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(hn||(hn={}));var ni;(function(e){e.Partial="partial",e.Full="full"})(ni||(ni={}));const dt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ln;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ln||(ln={}));var Pn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Pn||(Pn={}));var be;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(be||(be={}));const ut={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top};function ct(e){return e===null?null:e?"valid":"invalid"}const bt=e=>"id"in e&&"source"in e&&"target"in e,Rv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ii=(e,n=[0,0])=>{var r;const{width:i,height:o}=sn(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},ef=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):Zo(s)?s:n.nodeLookup.get(s.id));const r=l?$i(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Gi(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zi(i)},oi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=Gi(i,$i(s)),o=!0)}),o?zi(i):{x:0,y:0,width:0,height:0}},Xo=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,f,v,p,S,g;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,b=n.height/s,c=[];for(const y of e.values()){const{measured:h,selectable:x=!0,hidden:A=!1}=y;if(l&&!x||A)continue;const w=(v=(f=(m=h.width)!=null?m:y.width)!=null?f:y.initialWidth)!=null?v:0,C=(g=(S=(p=h.height)!=null?p:y.height)!=null?S:y.initialHeight)!=null?g:0,{x:k,y:E}=y.internals.positionAbsolute,_=pt(r,d,u,b,k,E,w,C),M=w*C,L=t&&_>0;(!y.internals.handleBounds||L||_>=M||y.dragging)&&c.push(y)}return c},nf=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function of(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function sf({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var b,c,m;if(e.size===0)return!0;const r=of(e,l),d=oi(r),u=es(d,n,i,(b=l==null?void 0:l.minZoom)!=null?b:s,(c=l==null?void 0:l.maxZoom)!=null?c:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function mt({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var f,v,p;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},b=(f=l.origin)!=null?f:o;let c=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",Ge.error005());else{const S=r.measured.width,g=r.measured.height;S&&g&&(c=[[d,u],[d+S,u+g]])}else r&&gn(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=gn(c)?pn(n,c,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",Ge.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*b[0],y:m.y-u+((p=l.measured.height)!=null?p:0)*b[1]},positionAbsolute:m}}async function af({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const f=t.has(m.id),v=!f&&m.parentId&&l.find(p=>p.id===m.parentId);(f||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),b=nf(l,d);for(const m of d)r.has(m.id)&&!b.find(v=>v.id===m.id)&&b.push(m);if(!s)return{edges:b,nodes:l};const c=await s({nodes:l,edges:b});return typeof c=="boolean"?c?{edges:b,nodes:l}:{edges:[],nodes:[]}:c}const Ln=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),pn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Ln(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Ln(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function vt(e,n,i){const{width:o,height:s}=sn(i),{x:t,y:l}=i.internals.positionAbsolute;return pn(e,[[t,l],[t+o,l+s]],n)}const ft=(e,n,i)=>e<n?Ln(Math.abs(e-n),1,n)/n:e>i?-Ln(Math.abs(e-i),1,n)/n:0,Qo=(e,n,i=15,o=40)=>{const s=ft(e.x,o,n.width-o)*i,t=ft(e.y,o,n.height-o)*i;return[s,t]},Gi=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Ro=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),zi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),si=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0}},$i=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0)}},ht=(e,n)=>zi(Gi(Ro(e),Ro(n))),pt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},Wi=(e,n)=>pt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),gt=e=>je(e.width)&&je(e.height)&&je(e.x)&&je(e.y),je=e=>!isNaN(e)&&isFinite(e),yt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ai=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ti=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ai(r,l):r},Bn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function In(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function tf(e,n,i){var o,s,t,l,r,d,u,b;if(typeof e=="string"||typeof e=="number"){const c=In(e,i),m=In(e,n);return{top:c,right:m,bottom:c,left:m,x:m*2,y:c*2}}if(typeof e=="object"){const c=In((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=In((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),f=In((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=In((b=(u=e.right)!=null?u:e.x)!=null?b:0,n);return{top:c,right:v,bottom:m,left:f,x:f+v,y:c+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function lf(e,n,i,o,s,t){const{x:l,y:r}=Bn(e,[n,i,o]),{x:d,y:u}=Bn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),b=s-d,c=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(b),bottom:Math.floor(c)}}const es=(e,n,i,o,s,t)=>{const l=tf(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),b=Ln(u,o,s),c=e.x+e.width/2,m=e.y+e.height/2,f=n/2-c*b,v=i/2-m*b,p=lf(e,f,v,b,n,i),S={left:Math.min(p.left-l.left,0),top:Math.min(p.top-l.top,0),right:Math.min(p.right-l.right,0),bottom:Math.min(p.bottom-l.bottom,0)};return{x:f-S.left+S.right,y:v-S.top+S.bottom,zoom:b}},li=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function gn(e){return e!=null&&e!=="parent"}function sn(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function xt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function St(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function wt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function rf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function df(e){return{...rt,...e||{}}}function ri(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var b,c;const{x:t,y:l}=Ue(e),r=ti({x:t-((b=s==null?void 0:s.left)!=null?b:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?ai(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},uf=["INPUT","SELECT","TEXTAREA"];function Ct(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:uf.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const At=e=>"clientX"in e,Ue=(e,n)=>{var t,l,r,d;const i=At(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},kt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...ns(l)}})};function Et({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,b=Math.abs(d-e),c=Math.abs(u-n);return[d,u,b,c]}function ji(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Mt({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case be.Left:return[n-ji(n-o,t),i];case be.Right:return[n+ji(o-n,t),i];case be.Top:return[n,i-ji(i-s,t)];case be.Bottom:return[n,i+ji(s-i,t)]}}function Tt({sourceX:e,sourceY:n,sourcePosition:i=be.Bottom,targetX:o,targetY:s,targetPosition:t=be.Top,curvature:l=.25}){const[r,d]=Mt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,b]=Mt({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[c,m,f,v]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:b});return[`M${e},${n} C${r},${d} ${u},${b} ${o},${s}`,c,m,f,v]}function Pt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function cf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function bf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Gi($i(e),$i(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Wi(l,zi(t))>0}const mf=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,vf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),ff=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",Ge.error006()),n;const o=i.getEdgeId||mf;let s;return bt(e)?s={...e}:s={...e,id:o(e)},vf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Lt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Pt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Bt={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}},hf=({source:e,sourcePosition:n=be.Bottom,target:i})=>n===be.Left||n===be.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},It=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function pf({source:e,sourcePosition:n=be.Bottom,target:i,targetPosition:o=be.Top,center:s,offset:t,stepPosition:l}){var k,E,_,M;const r=Bt[n],d=Bt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},b={x:i.x+d.x*t,y:i.y+d.y*t},c=hf({source:u,sourcePosition:n,target:b}),m=c.x!==0?"x":"y",f=c[m];let v=[],p,S;const g={x:0,y:0},y={x:0,y:0},[,,h,x]=Pt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(p=(k=s.x)!=null?k:u.x+(b.x-u.x)*l,S=(E=s.y)!=null?E:(u.y+b.y)/2):(p=(_=s.x)!=null?_:(u.x+b.x)/2,S=(M=s.y)!=null?M:u.y+(b.y-u.y)*l);const L=[{x:p,y:u.y},{x:p,y:b.y}],H=[{x:u.x,y:S},{x:b.x,y:S}];r[m]===f?v=m==="x"?L:H:v=m==="x"?H:L}else{const L=[{x:u.x,y:b.y}],H=[{x:b.x,y:u.y}];if(m==="x"?v=r.x===f?H:L:v=r.y===f?L:H,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const B=Math.min(t-1,t-O);r[m]===f?g[m]=(u[m]>e[m]?-1:1)*B:y[m]=(b[m]>i[m]?-1:1)*B}}if(n!==o){const O=m==="x"?"y":"x",B=r[m]===d[O],G=u[O]>b[O],U=u[O]<b[O];(r[m]===1&&(!B&&G||B&&U)||r[m]!==1&&(!B&&U||B&&G))&&(v=m==="x"?L:H)}const T={x:u.x+g.x,y:u.y+g.y},P={x:b.x+y.x,y:b.y+y.y},I=Math.max(Math.abs(T.x-v[0].x),Math.abs(P.x-v[0].x)),D=Math.max(Math.abs(T.y-v[0].y),Math.abs(P.y-v[0].y));I>=D?(p=(T.x+P.x)/2,S=v[0].y):(p=v[0].x,S=(T.y+P.y)/2)}const A={x:u.x+g.x,y:u.y+g.y},w={x:b.x+y.x,y:b.y+y.y};return[[e,...A.x!==v[0].x||A.y!==v[0].y?[A]:[],...v,...w.x!==v[v.length-1].x||w.y!==v[v.length-1].y?[w]:[],i],p,S,h,x]}function gf(e,n,i,o){const s=Math.min(It(e,n)/2,It(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,b=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*b}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function is({sourceX:e,sourceY:n,sourcePosition:i=be.Bottom,targetX:o,targetY:s,targetPosition:t=be.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:b=.5}){const[c,m,f,v,p]=pf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:b});let S=`M${c[0].x} ${c[0].y}`;for(let g=1;g<c.length-1;g++)S+=gf(c[g-1],c[g],c[g+1],l);return S+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[S,m,f,v,p]}function Dt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function yf(e){var c,m,f,v,p;const{sourceNode:n,targetNode:i}=e;if(!Dt(n)||!Dt(i))return null;const o=n.internals.handleBounds||_t(n.handles),s=i.internals.handleBounds||_t(i.handles),t=Ot((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Ot(e.connectionMode===Tn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((f=s==null?void 0:s.target)!=null?f:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(p=e.onError)==null||p.call(e,"008",Ge.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||be.Bottom,d=(l==null?void 0:l.position)||be.Top,u=yn(n,t,r),b=yn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:b.x,targetY:b.y,sourcePosition:r,targetPosition:d}}function _t(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function yn(e,n,i=be.Left,o=!1){var u,b,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((b=n==null?void 0:n.y)!=null?b:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:sn(e);if(o)return{x:s+l/2,y:t+r/2};switch((c=n==null?void 0:n.position)!=null?c:i){case be.Top:return{x:s+l/2,y:t};case be.Right:return{x:s+l,y:t+r/2};case be.Bottom:return{x:s+l/2,y:t+r};case be.Left:return{x:s,y:t+r/2}}}function Ot(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function os(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function xf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=os(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Ht=1e3,Sf=10,ss={nodeOrigin:[0,0],nodeExtent:ei,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},wf={...ss,checkEquality:!0};function as(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function Nf(e,n,i){const o=as(ss,i);for(const s of e.values())if(s.parentId)rs(s,e,n,o);else{const t=ii(s,o.nodeOrigin),l=gn(s.extent)?s.extent:o.nodeExtent,r=pn(t,l,sn(s));s.internals.positionAbsolute=r}}function Cf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function ts(e){return e==="manual"}function ls(e,n,i,o={}){var b,c,m;const s=as(wf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!ts(s.zIndexMode)?Ht:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let v=l.get(f.id);if(s.checkEquality&&f===(v==null?void 0:v.internals.userNode))n.set(f.id,v);else{const p=ii(f,s.nodeOrigin),S=gn(f.extent)?f.extent:s.nodeExtent,g=pn(p,S,sn(f));v={...s.defaults,...f,measured:{width:(b=f.measured)==null?void 0:b.width,height:(c=f.measured)==null?void 0:c.height},internals:{positionAbsolute:g,handleBounds:Cf(f,v),z:Ft(f,r,s.zIndexMode),userNode:f}},n.set(f.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),f.parentId&&rs(v,n,i,o,t),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Af(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function rs(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=as(ss,o),u=e.parentId,b=n.get(u);if(!b){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Af(e,i),s&&!b.parentId&&b.internals.rootParentIndex===void 0&&d==="auto"&&(b.internals.rootParentIndex=++s.i,b.internals.z=b.internals.z+s.i*Sf),s&&b.internals.rootParentIndex!==void 0&&(s.i=b.internals.rootParentIndex);const c=t&&!ts(d)?Ht:0,{x:m,y:f,z:v}=kf(e,b,l,r,c,d),{positionAbsolute:p}=e.internals,S=m!==p.x||f!==p.y;(S||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:m,y:f}:p,z:v}})}function Ft(e,n,i){const o=je(e.zIndex)?e.zIndex:0;return ts(i)?o:o+(e.selected?n:0)}function kf(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=sn(e),u=ii(e,i),b=gn(e.extent)?pn(u,e.extent,d):u;let c=pn({x:l+b.x,y:r+b.y},o,d);e.extent==="parent"&&(c=vt(c,d,n));const m=Ft(e,s,t),f=(v=n.internals.z)!=null?v:0;return{x:c.x,y:c.y,z:f>=m?f+1:m}}function ds(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const b=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:si(u),c=ht(b,d.rect);t.set(d.parentId,{expandedRect:c,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},b)=>{var x,A;const c=u.internals.positionAbsolute,m=sn(u),f=(x=u.origin)!=null?x:o,v=d.x<c.x?Math.round(Math.abs(c.x-d.x)):0,p=d.y<c.y?Math.round(Math.abs(c.y-d.y)):0,S=Math.max(m.width,Math.round(d.width)),g=Math.max(m.height,Math.round(d.height)),y=(S-m.width)*f[0],h=(g-m.height)*f[1];(v>0||p>0||y||h)&&(s.push({id:b,type:"position",position:{x:u.position.x-v+y,y:u.position.y-p+h}}),(A=i.get(b))==null||A.forEach(w=>{e.some(C=>C.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+v,y:w.position.y+p}})})),(m.width<d.width||m.height<d.height||v||p)&&s.push({id:b,type:"dimensions",setAttributes:!0,dimensions:{width:S+(v?f[0]*v-y:0),height:g+(p?f[1]*p-h:0)}})}),s}function Ef(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],b=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(b.transform),m=[];for(const f of e.values()){const v=n.get(f.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const p=ns(f.nodeElement),S=v.measured.width!==p.width||v.measured.height!==p.height;if(!!(p.width&&p.height&&(S||!v.internals.handleBounds||f.force))){const y=f.nodeElement.getBoundingClientRect(),h=gn(v.extent)?v.extent:t;let{positionAbsolute:x}=v.internals;v.parentId&&v.extent==="parent"?x=vt(x,p,n.get(v.parentId)):h&&(x=pn(x,h,p));const A={...v,measured:p,internals:{...v.internals,positionAbsolute:x,handleBounds:{source:kt("source",f.nodeElement,y,c,v.id),target:kt("target",f.nodeElement,y,c,v.id)}}};n.set(v.id,A),v.parentId&&rs(A,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,S&&(u.push({id:v.id,type:"dimensions",dimensions:p}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:si(A,s)}))}}if(m.length>0){const f=ds(m,n,i,s);u.push(...f)}return{changes:u,updatedInternals:d}}async function Mf({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Kt(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Vt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,b=`${t}-${r}--${s}-${l}`;Kt("source",d,b,e,s,l),Kt("target",d,u,e,t,r),n.set(o.id,o)}}function Gt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Gt(i,n):!1}function zt(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Tf(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Gt(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function us({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,b]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:b.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function Pf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=ai(t,n);return{x:l.x-t.x,y:l.y-t.y}}function Lf({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},b=null,c=!1,m=null,f=!1,v=!1,p=null;function S({noDragClassName:y,handleSelector:h,domNode:x,isSelectable:A,nodeId:w,nodeClickDistance:C=0}){m=Ve(x);function k({x:L,y:H}){const{nodeLookup:T,nodeExtent:P,snapGrid:I,snapToGrid:D,nodeOrigin:O,onNodeDrag:B,onSelectionDrag:G,onError:U,updateNodePositions:K}=n();t={x:L,y:H};let $=!1;const Z=r.size>1,ie=Z&&P?Ro(oi(r)):null,ae=Z&&D?Pf({dragItems:r,snapGrid:I,x:L,y:H}):null;for(const[ee,j]of r){if(!T.has(ee))continue;let R={x:L-j.distance.x,y:H-j.distance.y};D&&(R=ae?{x:Math.round(R.x+ae.x),y:Math.round(R.y+ae.y)}:ai(R,I));let ce=null;if(Z&&P&&!j.extent&&ie){const{positionAbsolute:te}=j.internals,X=te.x-ie.x+P[0][0],F=te.x+j.measured.width-ie.x2+P[1][0],Y=te.y-ie.y+P[0][1],z=te.y+j.measured.height-ie.y2+P[1][1];ce=[[X,Y],[F,z]]}const{position:V,positionAbsolute:Q}=mt({nodeId:ee,nextPosition:R,nodeLookup:T,nodeExtent:ce||P,nodeOrigin:O,onError:U});$=$||j.position.x!==V.x||j.position.y!==V.y,j.position=V,j.internals.positionAbsolute=Q}if(v=v||$,!!$&&(K(r,!0),p&&(o||B||!w&&G))){const[ee,j]=us({nodeId:w,dragItems:r,nodeLookup:T});o==null||o(p,r,ee,j),B==null||B(p,ee,j),w||G==null||G(p,j)}}async function E(){var O,B;if(!b)return;const{transform:L,panBy:H,autoPanSpeed:T,autoPanOnNodeDrag:P}=n();if(!P){d=!1,cancelAnimationFrame(l);return}const[I,D]=Qo(u,b,T);(I!==0||D!==0)&&(t.x=((O=t.x)!=null?O:0)-I/L[2],t.y=((B=t.y)!=null?B:0)-D/L[2],await H({x:I,y:D})&&k(t)),l=requestAnimationFrame(E)}function _(L){var Z;const{nodeLookup:H,multiSelectionActive:T,nodesDraggable:P,transform:I,snapGrid:D,snapToGrid:O,selectNodesOnDrag:B,onNodeDragStart:G,onSelectionDragStart:U,unselectNodesAndEdges:K}=n();c=!0,(!B||!A)&&!T&&w&&((Z=H.get(w))!=null&&Z.selected||K()),A&&B&&w&&(e==null||e(w));const $=ri(L.sourceEvent,{transform:I,snapGrid:D,snapToGrid:O,containerBounds:b});if(t=$,r=Tf(H,P,$,w),r.size>0&&(i||G||!w&&U)){const[ie,ae]=us({nodeId:w,dragItems:r,nodeLookup:H});i==null||i(L.sourceEvent,r,ie,ae),G==null||G(L.sourceEvent,ie,ae),w||U==null||U(L.sourceEvent,ae)}}const M=Pa().clickDistance(C).on("start",L=>{const{domNode:H,nodeDragThreshold:T,transform:P,snapGrid:I,snapToGrid:D}=n();b=(H==null?void 0:H.getBoundingClientRect())||null,f=!1,v=!1,p=L.sourceEvent,T===0&&_(L),t=ri(L.sourceEvent,{transform:P,snapGrid:I,snapToGrid:D,containerBounds:b}),u=Ue(L.sourceEvent,b)}).on("drag",L=>{const{autoPanOnNodeDrag:H,transform:T,snapGrid:P,snapToGrid:I,nodeDragThreshold:D,nodeLookup:O}=n(),B=ri(L.sourceEvent,{transform:T,snapGrid:P,snapToGrid:I,containerBounds:b});if(p=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||w&&!O.has(w))&&(f=!0),!f){if(!d&&H&&c&&(d=!0,E()),!c){const G=Ue(L.sourceEvent,b),U=G.x-u.x,K=G.y-u.y;Math.sqrt(U*U+K*K)>D&&_(L)}(t.x!==B.xSnapped||t.y!==B.ySnapped)&&r&&c&&(u=Ue(L.sourceEvent,b),k(B))}}).on("end",L=>{if(!c||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:H,updateNodePositions:T,onNodeDragStop:P,onSelectionDragStop:I}=n();if(v&&(T(r,!1),v=!1),s||P||!w&&I){const[D,O]=us({nodeId:w,dragItems:r,nodeLookup:H,dragging:!1});s==null||s(L.sourceEvent,r,D,O),P==null||P(L.sourceEvent,D,O),w||I==null||I(L.sourceEvent,O)}}}).filter(L=>{const H=L.target;return!L.button&&(!y||!zt(H,`.${y}`,x))&&(!h||zt(H,h,x))});m.call(M)}function g(){m==null||m.on(".drag",null)}return{update:S,destroy:g}}function Bf(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())Wi(s,si(t))>0&&o.push(t);return o}const If=250;function Df(e,n,i,o){var r,d,u,b,c;let s=[],t=1/0;const l=Bf(e,i,n+If);for(const m of l){const f=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(b=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?b:[]];for(const v of f){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x:p,y:S}=yn(m,v,v.position,!0),g=Math.sqrt(Math.pow(p-e.x,2)+Math.pow(S-e.y,2));g>n||(g<t?(s=[{...v,x:p,y:S}],t=g):g===t&&s.push({...v,x:p,y:S}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(c=s.find(f=>f.type===m))!=null?c:s[0]}return s[0]}function $t(e,n,i,o,s,t=!1){var u,b,c,m,f,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(c=(b=l.internals.handleBounds)==null?void 0:b.source)!=null?c:[],...(f=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],d=(v=i?r==null?void 0:r.find(p=>p.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...yn(l,d,d.position,!0)}:d}function Wt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function _f(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const jt=()=>!0;function Of(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:b,flowId:c,panBy:m,cancelConnection:f,onConnectStart:v,onConnect:p,onConnectEnd:S,isValidConnection:g=jt,onReconnectEnd:y,updateConnection:h,getTransform:x,getFromHandle:A,autoPanSpeed:w,dragThreshold:C=1,handleDomNode:k}){const E=Nt(e.target);let _=0,M;const{x:L,y:H}=Ue(e),T=Wt(t,k),P=r==null?void 0:r.getBoundingClientRect();let I=!1;if(!P||!T)return;const D=$t(s,T,o,d,n);if(!D)return;let O=Ue(e,P),B=!1,G=null,U=!1,K=null;function $(){if(!b||!P)return;const[V,Q]=Qo(O,P,w);m({x:V,y:Q}),_=requestAnimationFrame($)}const Z={...D,nodeId:s,type:T,position:D.position},ie=d.get(s);let ee={inProgress:!0,isValid:null,from:yn(ie,Z,be.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:ie,to:O,toHandle:null,toPosition:ut[Z.position],toNode:null,pointer:O};function j(){I=!0,h(ee),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}C===0&&j();function R(V){if(!I){const{x:z,y:W}=Ue(V),q=z-L,le=W-H;if(!(q*q+le*le>C*C))return;j()}if(!A()||!Z){ce(V);return}const Q=x();O=Ue(V,P),M=Df(ti(O,Q,!1,[1,1]),i,d,Z),B||($(),B=!0);const te=Ut(V,{handle:M,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:g,doc:E,lib:u,flowId:c,nodeLookup:d});K=te.handleDomNode,G=te.connection,U=_f(!!M,te.isValid);const X=d.get(s),F=X?yn(X,Z,be.Left,!0):ee.from,Y={...ee,from:F,isValid:U,to:te.toHandle&&U?Bn({x:te.toHandle.x,y:te.toHandle.y},Q):O,toHandle:te.toHandle,toPosition:U&&te.toHandle?te.toHandle.position:ut[Z.position],toNode:te.toHandle?d.get(te.toHandle.nodeId):null,pointer:O};h(Y),ee=Y}function ce(V){if(!("touches"in V&&V.touches.length>0)){if(I){(M||K)&&G&&U&&(p==null||p(G));const{inProgress:Q,...te}=ee,X={...te,toPosition:ee.toHandle?ee.toPosition:null};S==null||S(V,X),t&&(y==null||y(V,X))}f(),cancelAnimationFrame(_),B=!1,U=!1,G=null,K=null,E.removeEventListener("mousemove",R),E.removeEventListener("mouseup",ce),E.removeEventListener("touchmove",R),E.removeEventListener("touchend",ce)}}E.addEventListener("mousemove",R),E.addEventListener("mouseup",ce),E.addEventListener("touchmove",R),E.addEventListener("touchend",ce)}function Ut(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=jt,nodeLookup:b}){const c=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:v}=Ue(e),p=l.elementFromPoint(f,v),S=p!=null&&p.classList.contains(`${r}-flow__handle`)?p:m,g={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const y=Wt(void 0,S),h=S.getAttribute("data-nodeid"),x=S.getAttribute("data-handleid"),A=S.classList.contains("connectable"),w=S.classList.contains("connectableend");if(!h||!y)return g;const C={source:c?h:o,sourceHandle:c?x:s,target:c?o:h,targetHandle:c?s:x};g.connection=C;const E=A&&w&&(i===Tn.Strict?c&&y==="source"||!c&&y==="target":h!==o||x!==s);g.isValid=E&&u(C),g.toHandle=$t(h,y,x,b,i,!0)}return g}const cs={onPointerDown:Of,isValid:Ut};function Hf({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ve(e);function t({translateExtent:r,width:d,height:u,zoomStep:b=1,pannable:c=!0,zoomable:m=!0,inversePan:f=!1}){const v=h=>{if(h.sourceEvent.type!=="wheel"||!n)return;const x=i(),A=h.sourceEvent.ctrlKey&&li()?10:1,w=-h.sourceEvent.deltaY*(h.sourceEvent.deltaMode===1?.05:h.sourceEvent.deltaMode?1:.002)*b,C=x[2]*Math.pow(2,w*A);n.scaleTo(C)};let p=[0,0];const S=h=>{var x,A;(h.sourceEvent.type==="mousedown"||h.sourceEvent.type==="touchstart")&&(p=[(x=h.sourceEvent.clientX)!=null?x:h.sourceEvent.touches[0].clientX,(A=h.sourceEvent.clientY)!=null?A:h.sourceEvent.touches[0].clientY])},g=h=>{var _,M;const x=i();if(h.sourceEvent.type!=="mousemove"&&h.sourceEvent.type!=="touchmove"||!n)return;const A=[(_=h.sourceEvent.clientX)!=null?_:h.sourceEvent.touches[0].clientX,(M=h.sourceEvent.clientY)!=null?M:h.sourceEvent.touches[0].clientY],w=[A[0]-p[0],A[1]-p[1]];p=A;const C=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),k={x:x[0]-w[0]*C,y:x[1]-w[1]*C},E=[[0,0],[d,u]];n.setViewportConstrained({x:k.x,y:k.y,zoom:x[2]},E,r)},y=tt().on("start",S).on("zoom",c?g:null).on("zoom.wheel",m?v:null);s.call(y,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:ze}}const Ui=e=>({x:e.x,y:e.y,zoom:e.k}),bs=({x:e,y:n,zoom:i})=>Vi.translate(e,n).scale(i),Dn=(e,n)=>e.target.closest(`.${n}`),qt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Ff=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ms=(e,n=0,i=Ff,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Yt=e=>{const n=e.ctrlKey&&li()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Kf({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return b=>{if(Dn(b,n))return b.ctrlKey&&b.preventDefault(),!1;b.preventDefault(),b.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(b.ctrlKey&&l){const S=ze(b),g=Yt(b),y=c*Math.pow(2,g);o.scaleTo(i,y,S,b);return}const m=b.deltaMode===1?20:1;let f=s===hn.Vertical?0:b.deltaX*m,v=s===hn.Horizontal?0:b.deltaY*m;!li()&&b.shiftKey&&s!==hn.Vertical&&(f=b.deltaY*m,v=0),o.translateBy(i,-(f/c)*t,-(v/c)*t,{internal:!0});const p=Ui(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(b,p),e.panScrollTimeout=setTimeout(()=>{u==null||u(b,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(b,p))}}function Vf({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Dn(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Gf({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=Ui(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function zf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&qt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,Ui(t.transform)))}}function $f({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&qt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Ui(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Wf({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:b}){return c=>{var S;const m=e||n,f=i&&c.ctrlKey,v=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Dn(c,`${u}-flow__node`)||Dn(c,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||b&&!v||Dn(c,r)&&v||Dn(c,d)&&(!v||s&&v&&!e)||!i&&c.ctrlKey&&v)return!1;if(!i&&c.type==="touchstart"&&((S=c.touches)==null?void 0:S.length)>1)return c.preventDefault(),!1;if(!m&&!s&&!f&&v||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;const p=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||v)&&p}}function jf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},b=e.getBoundingClientRect(),c=tt().scaleExtent([n,i]).translateExtent(o),m=Ve(e).call(c);y({x:s.x,y:s.y,zoom:Ln(s.zoom,n,i)},[[0,0],[b.width,b.height]],o);const f=m.on("wheel.zoom"),v=m.on("dblclick.zoom");c.wheelDelta(Yt);async function p(M,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).transform(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function S({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:H,userSelectionActive:T,panOnScroll:P,panOnDrag:I,panOnScrollMode:D,panOnScrollSpeed:O,preventScrolling:B,zoomOnPinch:G,zoomOnScroll:U,zoomOnDoubleClick:K,zoomActivationKeyPressed:$,lib:Z,onTransformChange:ie,connectionInProgress:ae,paneClickDistance:ee,selectionOnDrag:j}){T&&!u.isZoomingOrPanning&&g();const R=P&&!$&&!T;c.clickDistance(j?1/0:!je(ee)||ee<0?0:ee);const ce=R?Kf({zoomPanValues:u,noWheelClassName:M,d3Selection:m,d3Zoom:c,panOnScrollMode:D,panOnScrollSpeed:O,zoomOnPinch:G,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):Vf({noWheelClassName:M,preventScrolling:B,d3ZoomHandler:f});m.on("wheel.zoom",ce,{passive:!1});const V=Gf({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",V);const Q=zf({zoomPanValues:u,panOnDrag:I,onPaneContextMenu:!!H,onPanZoom:t,onTransformChange:ie});c.on("zoom",Q);const te=$f({zoomPanValues:u,panOnDrag:I,panOnScroll:P,onPaneContextMenu:H,onPanZoomEnd:r,onDraggingChange:d});c.on("end",te);const X=Wf({zoomActivationKeyPressed:$,panOnDrag:I,zoomOnScroll:U,panOnScroll:P,zoomOnDoubleClick:K,zoomOnPinch:G,userSelectionActive:T,noPanClassName:L,noWheelClassName:M,lib:Z,connectionInProgress:ae});c.filter(X),K?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function g(){c.on("zoom",null)}async function y(M,L,H){const T=bs(M),P=c==null?void 0:c.constrain()(T,L,H);return P&&await p(P),P}async function h(M,L){const H=bs(M);return await p(H,L),H}function x(M){if(m){const L=bs(M),H=m.property("__zoom");(H.k!==M.zoom||H.x!==M.x||H.y!==M.y)&&(c==null||c.transform(m,L,null,{sync:!0}))}}function A(){const M=m?st(m.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function w(M,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleTo(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}async function C(M,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleBy(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function k(M){c==null||c.scaleExtent(M)}function E(M){c==null||c.translateExtent(M)}function _(M){const L=!je(M)||M<0?0:M;c==null||c.clickDistance(L)}return{update:S,destroy:g,setViewport:h,setViewportConstrained:y,getViewport:A,scaleTo:w,scaleBy:C,setScaleExtent:k,setTranslateExtent:E,syncViewport:x,setClickDistance:_}}var _n;(function(e){e.Line="line",e.Handle="handle"})(_n||(_n={}));function Uf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Jt(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function rn(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function qi(e,n,i){return Math.max(0,n-e,e-i)}function Zt(e,n){return e?!n:n}function qf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:b,isVertical:c}=n,m=b&&c,{xSnapped:f,ySnapped:v}=i,{minWidth:p,maxWidth:S,minHeight:g,maxHeight:y}=o,{x:h,y:x,width:A,height:w,aspectRatio:C}=e;let k=Math.floor(b?f-e.pointerX:0),E=Math.floor(c?v-e.pointerY:0);const _=A+(d?-k:k),M=w+(u?-E:E),L=-t[0]*A,H=-t[1]*w;let T=qi(_,p,S),P=qi(M,g,y);if(l){let O=0,B=0;d&&k<0?O=rn(h+k+L,l[0][0]):!d&&k>0&&(O=dn(h+_+L,l[1][0])),u&&E<0?B=rn(x+E+H,l[0][1]):!u&&E>0&&(B=dn(x+M+H,l[1][1])),T=Math.max(T,O),P=Math.max(P,B)}if(r){let O=0,B=0;d&&k>0?O=dn(h+k,r[0][0]):!d&&k<0&&(O=rn(h+_,r[1][0])),u&&E>0?B=dn(x+E,r[0][1]):!u&&E<0&&(B=rn(x+M,r[1][1])),T=Math.max(T,O),P=Math.max(P,B)}if(s){if(b){const O=qi(_/C,g,y)*C;if(T=Math.max(T,O),l){let B=0;!d&&!u||d&&!u&&m?B=dn(x+H+_/C,l[1][1])*C:B=rn(x+H+(d?k:-k)/C,l[0][1])*C,T=Math.max(T,B)}if(r){let B=0;!d&&!u||d&&!u&&m?B=rn(x+_/C,r[1][1])*C:B=dn(x+(d?k:-k)/C,r[0][1])*C,T=Math.max(T,B)}}if(c){const O=qi(M*C,p,S)/C;if(P=Math.max(P,O),l){let B=0;!d&&!u||u&&!d&&m?B=dn(h+M*C+L,l[1][0])/C:B=rn(h+(u?E:-E)*C+L,l[0][0])/C,P=Math.max(P,B)}if(r){let B=0;!d&&!u||u&&!d&&m?B=rn(h+M*C,r[1][0])/C:B=dn(h+(u?E:-E)*C,r[0][0])/C,P=Math.max(P,B)}}}E=E+(E<0?P:-P),k=k+(k<0?T:-T),s&&(m?_>M*C?E=(Zt(d,u)?-k:k)/C:k=(Zt(d,u)?-E:E)*C:b?(E=k/C,u=d):(k=E*C,d=u));const I=d?h+k:h,D=u?x+E:x;return{width:A+(d?-k:k),height:w+(u?-E:E),x:t[0]*k*(d?-1:1)+I,y:t[1]*E*(u?-1:1)+D}}const Xt={width:0,height:0,x:0,y:0},Yf={...Xt,pointerX:0,pointerY:0,aspectRatio:1};function Jf(e,n,i){var u,b;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(b=e.measured.height)!=null?b:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Zf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ve(e);let l={controlDirection:Jt("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:b,keepAspectRatio:c,resizeDirection:m,onResizeStart:f,onResize:v,onResizeEnd:p,shouldResize:S}){let g={...Xt},y={...Yf};l={boundaries:b,resizeDirection:m,keepAspectRatio:c,controlDirection:Jt(u)};let h,x=null,A=[],w,C,k,E=!1;const _=Pa().on("start",M=>{var G,U,K,$,Z,ie;const{nodeLookup:L,transform:H,snapGrid:T,snapToGrid:P,nodeOrigin:I,paneDomNode:D}=i();if(h=L.get(n),!h)return;x=(G=D==null?void 0:D.getBoundingClientRect())!=null?G:null;const{xSnapped:O,ySnapped:B}=ri(M.sourceEvent,{transform:H,snapGrid:T,snapToGrid:P,containerBounds:x});g={width:(U=h.measured.width)!=null?U:0,height:(K=h.measured.height)!=null?K:0,x:($=h.position.x)!=null?$:0,y:(Z=h.position.y)!=null?Z:0},y={...g,pointerX:O,pointerY:B,aspectRatio:g.width/g.height},w=void 0,C=gn(h.extent)?h.extent:void 0,h.parentId&&(h.extent==="parent"||h.expandParent)&&(w=L.get(h.parentId)),w&&h.extent==="parent"&&(C=[[0,0],[w.measured.width,w.measured.height]]),A=[],k=void 0;for(const[ae,ee]of L)if(ee.parentId===n&&(A.push({id:ae,position:{...ee.position},extent:ee.extent}),ee.extent==="parent"||ee.expandParent)){const j=Jf(ee,h,(ie=ee.origin)!=null?ie:I);k?k=[[Math.min(j[0][0],k[0][0]),Math.min(j[0][1],k[0][1])],[Math.max(j[1][0],k[1][0]),Math.max(j[1][1],k[1][1])]]:k=j}f==null||f(M,{...g})}).on("drag",M=>{var F,Y,z;const{transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P}=i(),I=ri(M.sourceEvent,{transform:L,snapGrid:H,snapToGrid:T,containerBounds:x}),D=[];if(!h)return;const{x:O,y:B,width:G,height:U}=g,K={},$=(F=h.origin)!=null?F:P,{width:Z,height:ie,x:ae,y:ee}=qf(y,l.controlDirection,I,l.boundaries,l.keepAspectRatio,$,C,k),j=Z!==G,R=ie!==U,ce=ae!==O&&j,V=ee!==B&&R;if(!ce&&!V&&!j&&!R)return;if((ce||V||$[0]===1||$[1]===1)&&(K.x=ce?ae:g.x,K.y=V?ee:g.y,g.x=K.x,g.y=K.y,A.length>0)){const W=ae-O,q=ee-B;for(const le of A)le.position={x:le.position.x-W+$[0]*(Z-G),y:le.position.y-q+$[1]*(ie-U)},D.push(le)}if((j||R)&&(K.width=j&&(!l.resizeDirection||l.resizeDirection==="horizontal")?Z:g.width,K.height=R&&(!l.resizeDirection||l.resizeDirection==="vertical")?ie:g.height,g.width=K.width,g.height=K.height),w&&h.expandParent){const W=$[0]*((Y=K.width)!=null?Y:0);K.x&&K.x<W&&(g.x=W,y.x=y.x-(K.x-W));const q=$[1]*((z=K.height)!=null?z:0);K.y&&K.y<q&&(g.y=q,y.y=y.y-(K.y-q))}const Q=Uf({width:g.width,prevWidth:G,height:g.height,prevHeight:U,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),te={...g,direction:Q};(S==null?void 0:S(M,te))!==!1&&(E=!0,v==null||v(M,te),o(K,D))}).on("end",M=>{E&&(p==null||p(M,{...g}),s==null||s({...g}),E=!1)});t.call(_)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Xf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yi={exports:{}},vs={},Ji={exports:{}},fs={};/**
39
39
  * @license React
40
40
  * use-sync-external-store-shim.production.js
41
41
  *
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * This source code is licensed under the MIT license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
- */var Qt;function Xf(){if(Qt)return fs;Qt=1;var e=w;function n(b,m){return b===m&&(b!==0||1/b===1/m)||b!==b&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(b,m){var f=m(),v=o({inst:{value:f,getSnapshot:m}}),h=v[0].inst,y=v[1];return t(function(){h.value=f,h.getSnapshot=m,d(h)&&y({inst:h})},[b,f,m]),s(function(){return d(h)&&y({inst:h}),b(function(){d(h)&&y({inst:h})})},[b]),l(f),f}function d(b){var m=b.getSnapshot;b=b.value;try{var f=m();return!i(b,f)}catch(v){return!0}}function u(b,m){return m()}var c=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return fs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,fs}var hs={};/**
46
+ */var Qt;function Qf(){if(Qt)return fs;Qt=1;var e=N;function n(c,m){return c===m&&(c!==0||1/c===1/m)||c!==c&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(c,m){var f=m(),v=o({inst:{value:f,getSnapshot:m}}),p=v[0].inst,S=v[1];return t(function(){p.value=f,p.getSnapshot=m,d(p)&&S({inst:p})},[c,f,m]),s(function(){return d(p)&&S({inst:p}),c(function(){d(p)&&S({inst:p})})},[c]),l(f),f}function d(c){var m=c.getSnapshot;c=c.value;try{var f=m();return!i(c,f)}catch(v){return!0}}function u(c,m){return m()}var b=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return fs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:b,fs}var hs={};/**
47
47
  * @license React
48
48
  * use-sync-external-store-shim.development.js
49
49
  *
@@ -51,7 +51,7 @@
51
51
  *
52
52
  * This source code is licensed under the MIT license found in the
53
53
  * LICENSE file in the root directory of this source tree.
54
- */var Rt;function Qf(){return Rt||(Rt=1,process.env.NODE_ENV!=="production"&&function(){function e(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function n(f,v){c||s.startTransition===void 0||(c=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var h=v();if(!b){var y=v();t(h,y)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),b=!0)}y=l({inst:{value:h,getSnapshot:v}});var g=y[0].inst,S=y[1];return d(function(){g.value=h,g.getSnapshot=v,i(g)&&S({inst:g})},[f,h,v]),r(function(){return i(g)&&S({inst:g}),f(function(){i(g)&&S({inst:g})})},[f]),u(h),h}function i(f){var v=f.getSnapshot;f=f.value;try{var h=v();return!t(f,h)}catch(y){return!0}}function o(f,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=w,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,c=!1,b=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;hs.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),hs}var el;function nl(){return el||(el=1,process.env.NODE_ENV==="production"?Ji.exports=Xf():Ji.exports=Qf()),Ji.exports}/**
54
+ */var Rt;function Rf(){return Rt||(Rt=1,process.env.NODE_ENV!=="production"&&function(){function e(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function n(f,v){b||s.startTransition===void 0||(b=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=v();if(!c){var S=v();t(p,S)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}S=l({inst:{value:p,getSnapshot:v}});var g=S[0].inst,y=S[1];return d(function(){g.value=p,g.getSnapshot=v,i(g)&&y({inst:g})},[f,p,v]),r(function(){return i(g)&&y({inst:g}),f(function(){i(g)&&y({inst:g})})},[f]),u(p),p}function i(f){var v=f.getSnapshot;f=f.value;try{var p=v();return!t(f,p)}catch(S){return!0}}function o(f,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=N,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,b=!1,c=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;hs.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),hs}var el;function nl(){return el||(el=1,process.env.NODE_ENV==="production"?Ji.exports=Qf():Ji.exports=Rf()),Ji.exports}/**
55
55
  * @license React
56
56
  * use-sync-external-store-shim/with-selector.production.js
57
57
  *
@@ -59,7 +59,7 @@
59
59
  *
60
60
  * This source code is licensed under the MIT license found in the
61
61
  * LICENSE file in the root directory of this source tree.
62
- */var il;function Rf(){if(il)return vs;il=1;var e=w,n=nl();function i(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return vs.useSyncExternalStoreWithSelector=function(u,c,b,m,f){var v=t(null);if(v.current===null){var h={hasValue:!1,value:null};v.current=h}else h=v.current;v=r(function(){function g(N){if(!S){if(S=!0,p=N,N=m(N),f!==void 0&&h.hasValue){var C=h.value;if(f(C,N))return x=C}return x=N}if(C=x,o(p,N))return C;var k=m(N);return f!==void 0&&f(C,k)?(p=N,C):(p=N,x=k)}var S=!1,p,x,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,f]);var y=s(u,v[0],v[1]);return l(function(){h.hasValue=!0,h.value=y},[y]),d(y),y},vs}var ps={};/**
62
+ */var il;function eh(){if(il)return vs;il=1;var e=N,n=nl();function i(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return vs.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=r(function(){function g(w){if(!y){if(y=!0,h=w,w=m(w),f!==void 0&&p.hasValue){var C=p.value;if(f(C,w))return x=C}return x=w}if(C=x,o(h,w))return C;var k=m(w);return f!==void 0&&f(C,k)?(h=w,C):(h=w,x=k)}var y=!1,h,x,A=c===void 0?null:c;return[function(){return g(b())},A===null?void 0:function(){return g(A())}]},[b,c,m,f]);var S=s(u,v[0],v[1]);return l(function(){p.hasValue=!0,p.value=S},[S]),d(S),S},vs}var ps={};/**
63
63
  * @license React
64
64
  * use-sync-external-store-shim/with-selector.development.js
65
65
  *
@@ -67,10 +67,10 @@
67
67
  *
68
68
  * This source code is licensed under the MIT license found in the
69
69
  * LICENSE file in the root directory of this source tree.
70
- */var ol;function eh(){return ol||(ol=1,process.env.NODE_ENV!=="production"&&function(){function e(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=w,i=nl(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ps.useSyncExternalStoreWithSelector=function(u,c,b,m,f){var v=t(null);if(v.current===null){var h={hasValue:!1,value:null};v.current=h}else h=v.current;v=r(function(){function g(N){if(!S){if(S=!0,p=N,N=m(N),f!==void 0&&h.hasValue){var C=h.value;if(f(C,N))return x=C}return x=N}if(C=x,o(p,N))return C;var k=m(N);return f!==void 0&&f(C,k)?(p=N,C):(p=N,x=k)}var S=!1,p,x,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,f]);var y=s(u,v[0],v[1]);return l(function(){h.hasValue=!0,h.value=y},[y]),d(y),y},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ps}var sl;function nh(){return sl||(sl=1,process.env.NODE_ENV==="production"?Yi.exports=Rf():Yi.exports=eh()),Yi.exports}var ih=nh();const oh=Zf(ih),sh={},al=e=>{let n;const i=new Set,o=(c,b)=>{const m=typeof c=="function"?c(n):c;if(!Object.is(m,n)){const f=n;n=(b!=null?b:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,f))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:c=>(i.add(c),()=>i.delete(c)),destroy:()=>{(sh?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},ah=e=>e?al(e):al,{useDebugValue:th}=w,{useSyncExternalStoreWithSelector:lh}=oh,rh=e=>e;function tl(e,n=rh,i){const o=lh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return th(o),o}const ll=(e,n)=>{const i=ah(e),o=(s,t=n)=>tl(i,s,t);return Object.assign(o,i),o},dh=(e,n)=>e?ll(e,n):ll;function Ae(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const Zi=w.createContext(null),uh=Zi.Provider,rl=Ve.error001("react");function Se(e,n){const i=w.useContext(Zi);if(i===null)throw new Error(rl);return tl(i,e,n)}function ke(){const e=w.useContext(Zi);if(e===null)throw new Error(rl);return w.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const dl={display:"none"},ch={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ul="react-flow__node-desc",cl="react-flow__edge-desc",bh="react-flow__aria-live",mh=e=>e.ariaLiveMessage,vh=e=>e.ariaLabelConfig;function fh({rfId:e}){const n=Se(mh);return a.jsx("div",{id:`${bh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ch,children:n})}function hh({rfId:e,disableKeyboardA11y:n}){const i=Se(vh);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${ul}-${e}`,style:dl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${cl}-${e}`,style:dl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(fh,{rfId:e})]})}const Xi=w.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Le(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Xi.displayName="Panel";const bl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function ph({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Xi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${bl}`,children:a.jsx("a",{href:bl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const gh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},Qi=e=>e.id;function yh(e,n){return Ae(e.selectedNodes.map(Qi),n.selectedNodes.map(Qi))&&Ae(e.selectedEdges.map(Qi),n.selectedEdges.map(Qi))}function xh({onSelectionChange:e}){const n=ke(),{selectedNodes:i,selectedEdges:o}=Se(gh,yh);return w.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const Sh=e=>!!e.onSelectionChangeHandlers;function wh({onSelectionChange:e}){const n=Se(Sh);return e||n?a.jsx(xh,{onSelectionChange:e}):null}const ml=[0,0],Nh={x:0,y:0,zoom:1},vl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Ch=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:ei,nodeOrigin:ml,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Ah(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=Se(Ch,Ae),u=ke();w.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{c.current=fl,r()}),[]);const c=w.useRef(fl);return w.useEffect(()=>{for(const b of vl){const m=e[b],f=c.current[b];m!==f&&typeof e[b]!="undefined"&&(b==="nodes"?n(m):b==="edges"?i(m):b==="minZoom"?o(m):b==="maxZoom"?s(m):b==="translateExtent"?t(m):b==="nodeExtent"?l(m):b==="ariaLabelConfig"?u.setState({ariaLabelConfig:rf(m)}):b==="fitView"?u.setState({fitViewQueued:m}):b==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[b]:m}))}c.current=e},vl.map(b=>e[b])),null}function hl(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function kh(e){var o;const[n,i]=w.useState(e==="system"?null:e);return w.useEffect(()=>{if(e!=="system"){i(e);return}const s=hl(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=hl())!=null&&o.matches?"dark":"light"}const pl=typeof document!="undefined"?document:null;function di(e=null,n={target:pl,actInsideInputWithModifier:!0}){const[i,o]=w.useState(!1),s=w.useRef(!1),t=w.useRef(new Set([])),[l,r]=w.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(b=>typeof b=="string").map(b=>b.replace("+",`
70
+ */var ol;function nh(){return ol||(ol=1,process.env.NODE_ENV!=="production"&&function(){function e(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=N,i=nl(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ps.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=r(function(){function g(w){if(!y){if(y=!0,h=w,w=m(w),f!==void 0&&p.hasValue){var C=p.value;if(f(C,w))return x=C}return x=w}if(C=x,o(h,w))return C;var k=m(w);return f!==void 0&&f(C,k)?(h=w,C):(h=w,x=k)}var y=!1,h,x,A=c===void 0?null:c;return[function(){return g(b())},A===null?void 0:function(){return g(A())}]},[b,c,m,f]);var S=s(u,v[0],v[1]);return l(function(){p.hasValue=!0,p.value=S},[S]),d(S),S},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ps}var sl;function ih(){return sl||(sl=1,process.env.NODE_ENV==="production"?Yi.exports=eh():Yi.exports=nh()),Yi.exports}var oh=ih();const sh=Xf(oh),ah={},al=e=>{let n;const i=new Set,o=(b,c)=>{const m=typeof b=="function"?b(n):b;if(!Object.is(m,n)){const f=n;n=(c!=null?c:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,f))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:b=>(i.add(b),()=>i.delete(b)),destroy:()=>{(ah?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},th=e=>e?al(e):al,{useDebugValue:lh}=N,{useSyncExternalStoreWithSelector:rh}=sh,dh=e=>e;function tl(e,n=dh,i){const o=rh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return lh(o),o}const ll=(e,n)=>{const i=th(e),o=(s,t=n)=>tl(i,s,t);return Object.assign(o,i),o},uh=(e,n)=>e?ll(e,n):ll;function Ce(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const Zi=N.createContext(null),ch=Zi.Provider,rl=Ge.error001("react");function xe(e,n){const i=N.useContext(Zi);if(i===null)throw new Error(rl);return tl(i,e,n)}function Ae(){const e=N.useContext(Zi);if(e===null)throw new Error(rl);return N.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const dl={display:"none"},bh={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ul="react-flow__node-desc",cl="react-flow__edge-desc",mh="react-flow__aria-live",vh=e=>e.ariaLiveMessage,fh=e=>e.ariaLabelConfig;function hh({rfId:e}){const n=xe(vh);return a.jsx("div",{id:`${mh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:bh,children:n})}function ph({rfId:e,disableKeyboardA11y:n}){const i=xe(fh);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${ul}-${e}`,style:dl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${cl}-${e}`,style:dl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(hh,{rfId:e})]})}const Xi=N.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Be(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Xi.displayName="Panel";const bl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function gh({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Xi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${bl}`,children:a.jsx("a",{href:bl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const yh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},Qi=e=>e.id;function xh(e,n){return Ce(e.selectedNodes.map(Qi),n.selectedNodes.map(Qi))&&Ce(e.selectedEdges.map(Qi),n.selectedEdges.map(Qi))}function Sh({onSelectionChange:e}){const n=Ae(),{selectedNodes:i,selectedEdges:o}=xe(yh,xh);return N.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const wh=e=>!!e.onSelectionChangeHandlers;function Nh({onSelectionChange:e}){const n=xe(wh);return e||n?a.jsx(Sh,{onSelectionChange:e}):null}const ml=[0,0],Ch={x:0,y:0,zoom:1},vl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Ah=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:ei,nodeOrigin:ml,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function kh(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=xe(Ah,Ce),u=Ae();N.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{b.current=fl,r()}),[]);const b=N.useRef(fl);return N.useEffect(()=>{for(const c of vl){const m=e[c],f=b.current[c];m!==f&&typeof e[c]!="undefined"&&(c==="nodes"?n(m):c==="edges"?i(m):c==="minZoom"?o(m):c==="maxZoom"?s(m):c==="translateExtent"?t(m):c==="nodeExtent"?l(m):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:df(m)}):c==="fitView"?u.setState({fitViewQueued:m}):c==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[c]:m}))}b.current=e},vl.map(c=>e[c])),null}function hl(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Eh(e){var o;const[n,i]=N.useState(e==="system"?null:e);return N.useEffect(()=>{if(e!=="system"){i(e);return}const s=hl(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=hl())!=null&&o.matches?"dark":"light"}const pl=typeof document!="undefined"?document:null;function di(e=null,n={target:pl,actInsideInputWithModifier:!0}){const[i,o]=N.useState(!1),s=N.useRef(!1),t=N.useRef(new Set([])),[l,r]=N.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
71
71
  `).replace(`
72
72
 
73
73
  `,`
74
74
  +`).split(`
75
- `)),c=u.reduce((b,m)=>b.concat(...m),[]);return[u,c]}return[[],[]]},[e]);return w.useEffect(()=>{var c,b;const d=(c=n==null?void 0:n.target)!=null?c:pl,u=(b=n==null?void 0:n.actInsideInputWithModifier)!=null?b:!0;if(e!==null){const m=h=>{var S,p;if(s.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!s.current||s.current&&!u)&&Ct(h))return!1;const g=yl(h.code,r);if(t.current.add(h[g]),gl(l,t.current,!1)){const x=((p=(S=h.composedPath)==null?void 0:S.call(h))==null?void 0:p[0])||h.target,A=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(s.current||!A)&&h.preventDefault(),o(!0)}},f=h=>{const y=yl(h.code,r);gl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(h[y]),h.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",f),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",f),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function gl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function yl(e,n){return n.includes(e)?"code":"key"}const Eh=()=>{const e=ke();return w.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=es(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,f;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},c=(m=i.snapGrid)!=null?m:s,b=(f=i.snapToGrid)!=null?f:t;return ti(u,o,b,c)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Bn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function xl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Mh(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Mh(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function Sl(e,n){return xl(e,n)}function wl(e,n){return xl(e,n)}function xn(e,n){return{id:e,type:"select",selected:n}}function On(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(xn(t.id,l)))}return o}function Nl({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function Cl(e){return{id:e.id,type:"remove"}}const Th=yt("React Flow","https://reactflow.dev/");function Ph(e,n,i={}){var o;return vf(e,n,{...i,onError:(o=i.onError)!=null?o:Th})}const Al=e=>Qv(e),Lh=e=>bt(e);function kl(e){return w.forwardRef(e)}const Bh=typeof window!="undefined"?w.useLayoutEffect:w.useEffect;function El(e){const[n,i]=w.useState(BigInt(0)),[o]=w.useState(()=>Ih(()=>i(s=>s+BigInt(1))));return Bh(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Ih(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Ml=w.createContext(null);function Dh({children:e}){const n=ke(),i=w.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:c,onNodesChange:b,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:v}=n.getState();let h=d;for(const g of r)h=typeof g=="function"?g(h):g;let y=Nl({items:h,lookup:m});for(const g of v.values())y=g(y);c&&u(h),y.length>0?b==null||b(y):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:g,nodes:S,setNodes:p}=n.getState();g&&p(S)})},[]),o=El(i),s=w.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:c,onEdgesChange:b,edgeLookup:m}=n.getState();let f=d;for(const v of r)f=typeof v=="function"?v(f):v;c?u(f):b&&b(Nl({items:f,lookup:m}))},[]),t=El(s),l=w.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Ml.Provider,{value:l,children:e})}function _h(){const e=w.useContext(Ml);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Oh=e=>!!e.panZoom;function gs(){const e=Eh(),n=ke(),i=_h(),o=Se(Oh),s=w.useMemo(()=>{const t=b=>n.getState().nodeLookup.get(b),l=b=>{i.nodeQueue.push(b)},r=b=>{i.edgeQueue.push(b)},d=b=>{var g,S,p,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),v=Al(b)?b:m.get(b.id),h=v.parentId?St(v.position,v.measured,v.parentId,m,f):v.position,y={...v,position:h,width:(S=(g=v.measured)==null?void 0:g.width)!=null?S:v.width,height:(x=(p=v.measured)==null?void 0:p.height)!=null?x:v.height};return si(y)},u=(b,m,f={replace:!1})=>{l(v=>v.map(h=>{if(h.id===b){const y=typeof m=="function"?m(h):m;return f.replace&&Al(y)?y:{...h,...y}}return h}))},c=(b,m,f={replace:!1})=>{r(v=>v.map(h=>{if(h.id===b){const y=typeof m=="function"?m(h):m;return f.replace&&Lh(y)?y:{...h,...y}}return h}))};return{getNodes:()=>n.getState().nodes.map(b=>({...b})),getNode:b=>{var m;return(m=t(b))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:b=[]}=n.getState();return b.map(m=>({...m}))},getEdge:b=>n.getState().edgeLookup.get(b),setNodes:l,setEdges:r,addNodes:b=>{const m=Array.isArray(b)?b:[b];i.nodeQueue.push(f=>[...f,...m])},addEdges:b=>{const m=Array.isArray(b)?b:[b];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:b=[],edges:m=[],transform:f}=n.getState(),[v,h,y]=f;return{nodes:b.map(g=>({...g})),edges:m.map(g=>({...g})),viewport:{x:v,y:h,zoom:y}}},deleteElements:async({nodes:b=[],edges:m=[]})=>{const{nodes:f,edges:v,onNodesDelete:h,onEdgesDelete:y,triggerNodeChanges:g,triggerEdgeChanges:S,onDelete:p,onBeforeDelete:x}=n.getState(),{nodes:A,edges:N}=await sf({nodesToRemove:b,edgesToRemove:m,nodes:f,edges:v,onBeforeDelete:x}),C=N.length>0,k=A.length>0;if(C){const E=N.map(Cl);y==null||y(N),S(E)}if(k){const E=A.map(Cl);h==null||h(A),g(E)}return(k||C)&&(p==null||p({nodes:A,edges:N})),{deletedNodes:A,deletedEdges:N}},getIntersectingNodes:(b,m=!0,f)=>{const v=gt(b),h=v?b:d(b),y=f!==void 0;return h?(f||n.getState().nodes).filter(g=>{const S=n.getState().nodeLookup.get(g.id);if(S&&!v&&(g.id===b.id||!S.internals.positionAbsolute))return!1;const p=si(y?g:S),x=ji(p,h);return m&&x>0||x>=p.width*p.height||x>=h.width*h.height}):[]},isNodeIntersecting:(b,m,f=!0)=>{const h=gt(b)?b:d(b);if(!h)return!1;const y=ji(h,m);return f&&y>0||y>=m.width*m.height||y>=h.width*h.height},updateNode:u,updateNodeData:(b,m,f={replace:!1})=>{u(b,v=>{const h=typeof m=="function"?m(v):m;return f.replace?{...v,data:h}:{...v,data:{...v.data,...h}}},f)},updateEdge:c,updateEdgeData:(b,m,f={replace:!1})=>{c(b,v=>{const h=typeof m=="function"?m(v):m;return f.replace?{...v,data:h}:{...v,data:{...v.data,...h}}},f)},getNodesBounds:b=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return Rv(b,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:b,id:m,nodeId:f})=>{var v,h;return Array.from((h=(v=n.getState().connectionLookup.get(`${f}-${b}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?h:[])},getNodeConnections:({type:b,handleId:m,nodeId:f})=>{var v,h;return Array.from((h=(v=n.getState().connectionLookup.get(`${f}${b?m?`-${b}-${m}`:`-${b}`:""}`))==null?void 0:v.values())!=null?h:[])},fitView:async b=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:lf();return n.setState({fitViewQueued:!0,fitViewOptions:b,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return w.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Tl=e=>e.selected,Hh=typeof window!="undefined"?window:void 0;function Fh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ke(),{deleteElements:o}=gs(),s=di(e,{actInsideInputWithModifier:!1}),t=di(n,{target:Hh});w.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Tl),edges:l.filter(Tl)}),i.setState({nodesSelectionActive:!1})}},[s]),w.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function Kh(e){const n=ke();w.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=ns(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Ve.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const Ri={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Vh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=hn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:c,maxZoom:b,zoomActivationKeyCode:m,preventScrolling:f=!0,children:v,noWheelClassName:h,noPanClassName:y,onViewportChange:g,isControlledViewport:S,paneClickDistance:p,selectionOnDrag:x}){const A=ke(),N=w.useRef(null),{userSelectionActive:C,lib:k,connectionInProgress:E}=Se(Gh,Ae),_=di(m),M=w.useRef();Kh(N);const L=w.useCallback(H=>{g==null||g({x:H[0],y:H[1],zoom:H[2]}),S||A.setState({transform:H})},[g,S]);return w.useEffect(()=>{if(N.current){M.current=jf({domNode:N.current,minZoom:c,maxZoom:b,translateExtent:u,viewport:d,onDraggingChange:I=>A.setState(B=>B.paneDragging===I?B:{paneDragging:I}),onPanZoomStart:(I,B)=>{const{onViewportChangeStart:O,onMoveStart:D}=A.getState();D==null||D(I,B),O==null||O(B)},onPanZoom:(I,B)=>{const{onViewportChange:O,onMove:D}=A.getState();D==null||D(I,B),O==null||O(B)},onPanZoomEnd:(I,B)=>{const{onViewportChangeEnd:O,onMoveEnd:D}=A.getState();D==null||D(I,B),O==null||O(B)}});const{x:H,y:T,zoom:P}=M.current.getViewport();return A.setState({panZoom:M.current,transform:[H,T,P],domNode:N.current.closest(".react-flow")}),()=>{var I;(I=M.current)==null||I.destroy()}}},[]),w.useEffect(()=>{var H;(H=M.current)==null||H.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:_,preventScrolling:f,noPanClassName:y,userSelectionActive:C,noWheelClassName:h,lib:k,onTransformChange:L,connectionInProgress:E,selectionOnDrag:x,paneClickDistance:p})},[e,n,i,o,s,t,l,r,_,f,y,C,h,k,L,E,x,p]),a.jsx("div",{className:"react-flow__renderer",ref:N,style:Ri,children:v})}const zh=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function $h(){const{userSelectionActive:e,userSelectionRect:n}=Se(zh,Ae);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const ys=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},jh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Wh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=ni.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:b,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:v,children:h}){const y=w.useRef(0),g=ke(),{userSelectionActive:S,elementsSelectable:p,dragging:x,panBy:A,autoPanSpeed:N}=Se(jh,Ae),C=p&&(e||S),k=w.useRef(null),E=w.useRef(),_=w.useRef(new Set),M=w.useRef(new Set),L=w.useRef(!1),H=w.useRef(!1),T=w.useRef({x:0,y:0}),P=w.useRef(!1),I=U=>{if(H.current||L.current||g.getState().connection.inProgress){H.current=!1,L.current=!1;return}u==null||u(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},B=U=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){U.preventDefault();return}c==null||c(U)},O=b?U=>b(U):void 0,D=U=>{H.current&&(U.stopPropagation(),H.current=!1)},j=U=>{var $,W;const{domNode:ee,transform:de}=g.getState();if(E.current=ee==null?void 0:ee.getBoundingClientRect(),!E.current)return;const z=U.target===k.current;if(!z&&!!U.target.closest(".nokey")||!e||!(l&&z||n)||U.button!==0||!U.isPrimary)return;(W=($=U.target)==null?void 0:$.setPointerCapture)==null||W.call($,U.pointerId),H.current=!1;const{x:Q,y:G}=Ue(U.nativeEvent,E.current),Y=ti({x:Q,y:G},de);g.setState({userSelectionRect:{width:0,height:0,startX:Y.x,startY:Y.y,x:Q,y:G}}),z||(U.stopPropagation(),U.preventDefault())};function q(U,ee){var pe,ye;const{userSelectionRect:de}=g.getState();if(!de)return;const{transform:z,nodeLookup:R,edgeLookup:ae,connectionLookup:Q,triggerNodeChanges:G,triggerEdgeChanges:Y,defaultEdgeOptions:$}=g.getState(),W={x:de.startX,y:de.startY},{x:F,y:X}=Bn(W,z),J={startX:W.x,startY:W.y,x:U<F?U:F,y:ee<X?ee:X,width:Math.abs(U-F),height:Math.abs(ee-X)},ne=_.current,me=M.current;_.current=new Set(Xo(R,J,z,i===ni.Partial,!0).map(le=>le.id)),M.current=new Set;const fe=(pe=$==null?void 0:$.selectable)!=null?pe:!0;for(const le of _.current){const xe=Q.get(le);if(xe)for(const{edgeId:ge}of xe.values()){const ve=ae.get(ge);ve&&((ye=ve.selectable)!=null?ye:fe)&&M.current.add(ge)}}if(!wt(ne,_.current)){const le=On(R,_.current,!0);G(le)}if(!wt(me,M.current)){const le=On(ae,M.current);Y(le)}g.setState({userSelectionRect:J,userSelectionActive:!0,nodesSelectionActive:!1})}function K(){if(!s||!E.current)return;const[U,ee]=Qo(T.current,E.current,N);A({x:U,y:ee}).then(de=>{if(!H.current||!de){y.current=requestAnimationFrame(K);return}const{x:z,y:R}=T.current;q(z,R),y.current=requestAnimationFrame(K)})}const V=()=>{cancelAnimationFrame(y.current),y.current=0,P.current=!1};w.useEffect(()=>()=>V(),[]);const Z=U=>{const{userSelectionRect:ee,transform:de,resetSelectedElements:z}=g.getState();if(!E.current||!ee)return;const{x:R,y:ae}=Ue(U.nativeEvent,E.current);T.current={x:R,y:ae};const Q=Bn({x:ee.startX,y:ee.startY},de);if(!H.current){const G=n?0:t;if(Math.hypot(R-Q.x,ae-Q.y)<=G)return;z(),r==null||r(U)}H.current=!0,P.current||(K(),P.current=!0),q(R,ae)},te=U=>{var ee,de;if(!C){U.target===k.current&&g.getState().connection.inProgress&&(L.current=!0);return}U.button===0&&((de=(ee=U.target)==null?void 0:ee.releasePointerCapture)==null||de.call(ee,U.pointerId),!S&&U.target===k.current&&g.getState().userSelectionRect&&(I==null||I(U)),g.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(d==null||d(U),g.setState({nodesSelectionActive:_.current.size>0})),V())},se=U=>{var ee,de;(de=(ee=U.target)==null?void 0:ee.releasePointerCapture)==null||de.call(ee,U.pointerId),V()},ie=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Le(["react-flow__pane",{draggable:ie,dragging:x,selection:e}]),onClick:C?void 0:ys(I,k),onContextMenu:ys(B,k),onWheel:ys(O,k),onPointerEnter:C?void 0:m,onPointerMove:C?Z:f,onPointerUp:te,onPointerCancel:C?se:void 0,onPointerDownCapture:C?j:void 0,onClickCapture:C?D:void 0,onPointerLeave:v,ref:k,style:Ri,children:[h,a.jsx($h,{})]})}function xs({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Ve.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var c;return(c=o==null?void 0:o.current)==null?void 0:c.blur()})):s([e])}function Pl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=ke(),[d,u]=w.useState(!1),c=w.useRef();return w.useEffect(()=>{c.current=Pf({getStoreItems:()=>r.getState(),onNodeMouseDown:b=>{xs({id:b,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),w.useEffect(()=>{if(!(n||!e.current||!c.current))return c.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var b;(b=c.current)==null||b.destroy()}},[i,o,n,t,e,s,l]),d}const Uh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Ll(){const e=ke();return w.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:c}=e.getState(),b=new Map,m=Uh(l),f=s?t[0]:5,v=s?t[1]:5,h=i.direction.x*f*i.factor,y=i.direction.y*v*i.factor;for(const[,g]of u){if(!m(g))continue;let S={x:g.internals.positionAbsolute.x+h,y:g.internals.positionAbsolute.y+y};s&&(S=ai(S,t));const{position:p,positionAbsolute:x}=mt({nodeId:g.id,nextPosition:S,nodeLookup:u,nodeExtent:o,nodeOrigin:c,onError:r});g.position=p,g.internals.positionAbsolute=x,b.set(g.id,g)}d(b)},[])}const Ss=w.createContext(null),qh=Ss.Provider;Ss.Consumer;const Bl=()=>w.useContext(Ss),Yh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Il=w.createContext(null);function Jh({children:e}){const n=Se(Yh,Ae);return a.jsx(Il.Provider,{value:n,children:e})}function Zh(){const e=w.useContext(Il);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Xh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Qh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Xh;const c=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:c,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===Tn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:c&&u}};function Rh({type:e="source",position:n=ue.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:c,onTouchStart:b,...m},f){var P,I;const v=l||null,h=e==="target",y=ke(),g=Bl(),{connectOnClick:S,noPanClassName:p,rfId:x}=Zh(),{connectingFrom:A,connectingTo:N,clickConnecting:C,isPossibleEndHandle:k,connectionInProcess:E,clickConnectionInProcess:_,valid:M}=Se(Qh(g,v,e),Ae);g||(I=(P=y.getState()).onError)==null||I.call(P,"010",Ve.error010());const L=B=>{const{defaultEdgeOptions:O,onConnect:D,hasDefaultEdges:j}=y.getState(),q={...O,...B};if(j){const{edges:K,setEdges:V,onError:Z}=y.getState();V(Ph(q,K,{onError:Z}))}D==null||D(q),r==null||r(q)},H=B=>{if(!g)return;const O=At(B.nativeEvent);if(s&&(O&&B.button===0||!O)){const D=y.getState();cs.onPointerDown(B.nativeEvent,{handleDomNode:B.currentTarget,autoPanOnConnect:D.autoPanOnConnect,connectionMode:D.connectionMode,connectionRadius:D.connectionRadius,domNode:D.domNode,nodeLookup:D.nodeLookup,lib:D.lib,isTarget:h,handleId:v,nodeId:g,flowId:D.rfId,panBy:D.panBy,cancelConnection:D.cancelConnection,onConnectStart:D.onConnectStart,onConnectEnd:(...j)=>{var q,K;return(K=(q=y.getState()).onConnectEnd)==null?void 0:K.call(q,...j)},updateConnection:D.updateConnection,onConnect:L,isValidConnection:i||((...j)=>{var q,K,V;return(V=(K=(q=y.getState()).isValidConnection)==null?void 0:K.call(q,...j))!=null?V:!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:D.autoPanSpeed,dragThreshold:D.connectionDragThreshold})}O?c==null||c(B):b==null||b(B)},T=B=>{const{onClickConnectStart:O,onClickConnectEnd:D,connectionClickStartHandle:j,connectionMode:q,isValidConnection:K,lib:V,rfId:Z,nodeLookup:te,connection:se}=y.getState();if(!g||!j&&!s)return;if(!j){O==null||O(B.nativeEvent,{nodeId:g,handleId:v,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:g,type:e,id:v}});return}const ie=Nt(B.target),U=i||K,{connection:ee,isValid:de}=cs.isValid(B.nativeEvent,{handle:{nodeId:g,id:v,type:e},connectionMode:q,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:U,flowId:Z,doc:ie,lib:V,nodeLookup:te});de&&ee&&L(ee);const z=structuredClone(se);delete z.inProgress,z.toPosition=z.toHandle?z.toHandle.position:null,D==null||D(B,z),y.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":g,"data-handlepos":n,"data-id":`${x}-${g}-${v}-${e}`,className:Le(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",p,u,{source:!h,target:h,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:A,connectingto:N,valid:M,connectionindicator:o&&(!E||k)&&(E||_?t:s)}]),onMouseDown:H,onTouchStart:H,onClick:S?T:void 0,ref:f,...m,children:d})}const Hn=w.memo(kl(Rh));function ep({data:e,isConnectable:n,sourcePosition:i=ue.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:i,isConnectable:n})]})}function np({data:e,isConnectable:n,targetPosition:i=ue.Top,sourcePosition:o=ue.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:o,isConnectable:n})]})}function ip(){return null}function op({data:e,isConnectable:n,targetPosition:i=ue.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const eo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Dl={input:ep,default:np,output:op,group:ip};function sp(e){var n,i,o,s,t,l,r,d,u,c;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(c=e.height)!=null?c:(u=e.style)==null?void 0:u.height}}const ap=e=>{const{width:n,height:i,x:o,y:s}=oi(e.nodeLookup,{filter:t=>!!t.selected});return{width:We(n)?n:null,height:We(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function tp({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=ke(),{width:s,height:t,transformString:l,userSelectionActive:r}=Se(ap,Ae),d=Ll(),u=w.useRef(null);w.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const c=!r&&s!==null&&t!==null;if(Pl({nodeRef:u,disabled:!c}),!c)return null;const b=e?f=>{const v=o.getState().nodes.filter(h=>h.selected);e(f,v)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(eo,f.key)&&(f.preventDefault(),d({direction:eo[f.key],factor:f.shiftKey?4:1}))};return a.jsx("div",{className:Le(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:b,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const _l=typeof window!="undefined"?window:void 0,lp=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ol({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:c,selectionMode:b,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:v,panActivationKeyCode:h,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:S,zoomOnPinch:p,panOnScroll:x,panOnScrollSpeed:A,panOnScrollMode:N,zoomOnDoubleClick:C,panOnDrag:k,autoPanOnSelection:E,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,preventScrolling:T,onSelectionContextMenu:P,noWheelClassName:I,noPanClassName:B,disableKeyboardA11y:O,onViewportChange:D,isControlledViewport:j}){const{nodesSelectionActive:q,userSelectionActive:K}=Se(lp,Ae),V=di(u,{target:_l}),Z=di(h,{target:_l}),te=Z||k,se=Z||x,ie=c&&te!==!0,U=V||K||ie;return Fh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(Vh,{onPaneContextMenu:t,elementsSelectable:g,zoomOnScroll:S,zoomOnPinch:p,panOnScroll:se,panOnScrollSpeed:A,panOnScrollMode:N,zoomOnDoubleClick:C,panOnDrag:!V&&te,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,zoomActivationKeyCode:y,preventScrolling:T,noWheelClassName:I,noPanClassName:B,onViewportChange:D,isControlledViewport:j,paneClickDistance:r,selectionOnDrag:ie,children:a.jsxs(Wh,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:te,autoPanOnSelection:E,isSelecting:!!U,selectionMode:b,selectionKeyPressed:V,paneClickDistance:r,selectionOnDrag:ie,children:[e,q&&a.jsx(tp,{onSelectionContextMenu:P,noPanClassName:B,disableKeyboardA11y:O})]})})}Ol.displayName="FlowRenderer";const rp=w.memo(Ol),dp=e=>n=>e?Xo(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function up(e){return Se(w.useCallback(dp(e),[e]),Ae)}const cp=e=>e.updateNodeInternals;function bp(){const e=Se(cp),[n]=w.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return w.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function mp({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=ke(),t=w.useRef(null),l=w.useRef(null),r=w.useRef(e.sourcePosition),d=w.useRef(e.targetPosition),u=w.useRef(n),c=i&&!!e.internals.handleBounds;return w.useEffect(()=>{t.current&&!e.hidden&&(!c||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[c,e.hidden]),w.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),w.useEffect(()=>{if(t.current){const b=u.current!==n,m=r.current!==e.sourcePosition,f=d.current!==e.targetPosition;(b||m||f)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function vp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:c,resizeObserver:b,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:v,rfId:h,nodeTypes:y,nodeClickDistance:g,onError:S}){var U,ee,de;const{node:p,internals:x,isParent:A}=Se(z=>{const R=z.nodeLookup.get(e),ae=z.parentLookup.has(e);return{node:R,internals:R.internals,isParent:ae}},Ae);let N=p.type||"default",C=(y==null?void 0:y[N])||Dl[N];C===void 0&&(S==null||S("003",Ve.error003(N)),N="default",C=(y==null?void 0:y.default)||Dl.default);const k=!!(p.draggable||r&&typeof p.draggable=="undefined"),E=!!(p.selectable||d&&typeof p.selectable=="undefined"),_=!!(p.connectable||u&&typeof p.connectable=="undefined"),M=!!(p.focusable||c&&typeof p.focusable=="undefined"),L=ke(),H=xt(p),T=mp({node:p,nodeType:N,hasDimensions:H,resizeObserver:b}),P=Pl({nodeRef:T,disabled:p.hidden||!k,noDragClassName:m,handleSelector:p.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:g}),I=Ll();if(p.hidden)return null;const B=sn(p),O=sp(p),D=E||k||n||i||o||s,j=i?z=>i(z,{...x.userNode}):void 0,q=o?z=>o(z,{...x.userNode}):void 0,K=s?z=>s(z,{...x.userNode}):void 0,V=t?z=>t(z,{...x.userNode}):void 0,Z=l?z=>l(z,{...x.userNode}):void 0,te=z=>{const{selectNodesOnDrag:R,nodeDragThreshold:ae}=L.getState();E&&(!R||!k||ae>0)&&xs({id:e,store:L,nodeRef:T}),n&&n(z,{...x.userNode})},se=z=>{if(!(Ct(z.nativeEvent)||v)){if(lt.includes(z.key)&&E){const R=z.key==="Escape";xs({id:e,store:L,unselect:R,nodeRef:T})}else if(k&&p.selected&&Object.prototype.hasOwnProperty.call(eo,z.key)){z.preventDefault();const{ariaLabelConfig:R}=L.getState();L.setState({ariaLiveMessage:R["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),I({direction:eo[z.key],factor:z.shiftKey?4:1})}}},ie=()=>{var $;if(v||!(($=T.current)!=null&&$.matches(":focus-visible")))return;const{transform:z,width:R,height:ae,autoPanOnNodeFocus:Q,setCenter:G}=L.getState();if(!Q)return;Xo(new Map([[e,p]]),{x:0,y:0,width:R,height:ae},z,!0).length>0||G(p.position.x+B.width/2,p.position.y+B.height/2,{zoom:z[2]})};return a.jsx("div",{className:Le(["react-flow__node",`react-flow__node-${N}`,{[f]:k},p.className,{selected:p.selected,selectable:E,parent:A,draggable:k,dragging:P}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:D?"all":"none",visibility:H?"visible":"hidden",...p.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:q,onMouseLeave:K,onContextMenu:V,onClick:te,onDoubleClick:Z,onKeyDown:M?se:void 0,tabIndex:M?0:void 0,onFocus:M?ie:void 0,role:(U=p.ariaRole)!=null?U:M?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${ul}-${h}`,"aria-label":p.ariaLabel,...p.domAttributes,children:a.jsx(qh,{value:e,children:a.jsx(C,{id:e,data:p.data,type:N,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(ee=p.selected)!=null?ee:!1,selectable:E,draggable:k,deletable:(de=p.deletable)!=null?de:!0,isConnectable:_,sourcePosition:p.sourcePosition,targetPosition:p.targetPosition,dragging:P,dragHandle:p.dragHandle,zIndex:x.z,parentId:p.parentId,...B})})})}var fp=w.memo(vp);const hp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Hl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=Se(hp,Ae),l=up(e.onlyRenderVisibleElements),r=bp();return a.jsx("div",{className:"react-flow__nodes",style:Ri,children:l.map(d=>a.jsx(fp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Hl.displayName="NodeRenderer";const pp=w.memo(Hl);function gp(e){return Se(w.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&cf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),Ae)}const yp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},xp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Fl={[Pn.Arrow]:yp,[Pn.ArrowClosed]:xp};function Sp(e){const n=ke();return w.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Fl,e)?Fl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",Ve.error009(e)),null)},[e])}const wp=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=Sp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Kl=({defaultColor:e,rfId:n})=>{const i=Se(t=>t.edges),o=Se(t=>t.defaultEdgeOptions),s=w.useMemo(()=>yf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(wp,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Kl.displayName="MarkerDefinitions";var Np=w.memo(Kl);function Gl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...c}){const[b,m]=w.useState({x:1,y:0,width:0,height:0}),f=Le(["react-flow__edge-textwrapper",u]),v=w.useRef(null);return w.useEffect(()=>{if(v.current){const h=v.current.getBBox();m({x:h.x,y:h.y,width:h.width,height:h.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-b.width/2} ${n-b.height/2})`,className:f,visibility:b.width?"visible":"hidden",...c,children:[s&&a.jsx("rect",{width:b.width+2*l[0],x:-l[0],y:-l[1],height:b.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:b.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Gl.displayName="EdgeText";const Cp=w.memo(Gl);function no({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...c}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...c,d:e,fill:"none",className:Le(["react-flow__edge-path",c.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&We(n)&&We(i)?a.jsx(Cp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Vl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ue.Left||e===ue.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function zl({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top}){const[l,r]=Vl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Vl({pos:t,x1:o,y1:s,x2:e,y2:n}),[c,b,m,f]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,c,b,m,f]}function $l(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:g})=>{const[S,p,x]=zl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),A=e.isInternal?void 0:n;return a.jsx(no,{id:A,path:S,labelX:p,labelY:x,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:g})})}const Ap=$l({isInternal:!1}),jl=$l({isInternal:!0});Ap.displayName="SimpleBezierEdge",jl.displayName="SimpleBezierEdgeInternal";function Wl(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,sourcePosition:f=ue.Bottom,targetPosition:v=ue.Top,markerEnd:h,markerStart:y,pathOptions:g,interactionWidth:S})=>{const[p,x,A]=is({sourceX:i,sourceY:o,sourcePosition:f,targetX:s,targetY:t,targetPosition:v,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset,stepPosition:g==null?void 0:g.stepPosition}),N=e.isInternal?void 0:n;return a.jsx(no,{id:N,path:p,labelX:x,labelY:A,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:h,markerStart:y,interactionWidth:S})})}const Ul=Wl({isInternal:!1}),ql=Wl({isInternal:!0});Ul.displayName="SmoothStepEdge",ql.displayName="SmoothStepEdgeInternal";function Yl(e){return w.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(Ul,{...i,id:o,pathOptions:w.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const kp=Yl({isInternal:!1}),Jl=Yl({isInternal:!0});kp.displayName="StepEdge",Jl.displayName="StepEdgeInternal";function Zl(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:v,interactionWidth:h})=>{const[y,g,S]=Lt({sourceX:i,sourceY:o,targetX:s,targetY:t}),p=e.isInternal?void 0:n;return a.jsx(no,{id:p,path:y,labelX:g,labelY:S,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:v,interactionWidth:h})})}const Ep=Zl({isInternal:!1}),Xl=Zl({isInternal:!0});Ep.displayName="StraightEdge",Xl.displayName="StraightEdgeInternal";function Ql(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=ue.Bottom,targetPosition:r=ue.Top,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,pathOptions:g,interactionWidth:S})=>{const[p,x,A]=Tt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:g==null?void 0:g.curvature}),N=e.isInternal?void 0:n;return a.jsx(no,{id:N,path:p,labelX:x,labelY:A,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:S})})}const Mp=Ql({isInternal:!1}),Rl=Ql({isInternal:!0});Mp.displayName="BezierEdge",Rl.displayName="BezierEdgeInternal";const er={default:Rl,straight:Xl,step:Jl,smoothstep:ql,simplebezier:jl},nr={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Tp=(e,n,i)=>i===ue.Left?e-n:i===ue.Right?e+n:e,Pp=(e,n,i)=>i===ue.Top?e-n:i===ue.Bottom?e+n:e,ir="react-flow__edgeupdater";function or({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Le([ir,`${ir}-${r}`]),cx:Tp(n,o,e),cy:Pp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Lp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:c,onReconnectEnd:b,setReconnecting:m,setUpdateHover:f}){const v=ke(),h=(x,A)=>{if(x.button!==0)return;const{autoPanOnConnect:N,domNode:C,connectionMode:k,connectionRadius:E,lib:_,onConnectStart:M,cancelConnection:L,nodeLookup:H,rfId:T,panBy:P,updateConnection:I}=v.getState(),B=A.type==="target",O=(q,K)=>{m(!1),b==null||b(q,i,A.type,K)},D=q=>u==null?void 0:u(i,q),j=(q,K)=>{m(!0),c==null||c(x,i,A.type),M==null||M(q,K)};cs.onPointerDown(x.nativeEvent,{autoPanOnConnect:N,connectionMode:k,connectionRadius:E,domNode:C,handleId:A.id,nodeId:A.nodeId,nodeLookup:H,isTarget:B,edgeUpdaterType:A.type,lib:_,flowId:T,cancelConnection:L,panBy:P,isValidConnection:(...q)=>{var K,V,Z;return(Z=(V=(K=v.getState()).isValidConnection)==null?void 0:V.call(K,...q))!=null?Z:!0},onConnect:D,onConnectStart:j,onConnectEnd:(...q)=>{var K,V;return(V=(K=v.getState()).onConnectEnd)==null?void 0:V.call(K,...q)},onReconnectEnd:O,updateConnection:I,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},y=x=>{var A;return h(x,{nodeId:i.target,id:(A=i.targetHandle)!=null?A:null,type:"target"})},g=x=>{var A;return h(x,{nodeId:i.source,id:(A=i.sourceHandle)!=null?A:null,type:"source"})},S=()=>f(!0),p=()=>f(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(or,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:y,onMouseEnter:S,onMouseOut:p,type:"source"}),(e===!0||e==="target")&&a.jsx(or,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:g,onMouseEnter:S,onMouseOut:p,type:"target"})]})}function Bp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,rfId:v,edgeTypes:h,noPanClassName:y,onError:g,disableKeyboardA11y:S}){var R,ae;let p=Se(Q=>Q.edgeLookup.get(e));const x=Se(Q=>Q.defaultEdgeOptions);p=x?{...x,...p}:p;let A=p.type||"default",N=(h==null?void 0:h[A])||er[A];N===void 0&&(g==null||g("011",Ve.error011(A)),A="default",N=(h==null?void 0:h.default)||er.default);const C=!!(p.focusable||n&&typeof p.focusable=="undefined"),k=typeof b!="undefined"&&(p.reconnectable||i&&typeof p.reconnectable=="undefined"),E=!!(p.selectable||o&&typeof p.selectable=="undefined"),_=w.useRef(null),[M,L]=w.useState(!1),[H,T]=w.useState(!1),P=ke(),{zIndex:I=p.zIndex,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K}=Se(w.useCallback(Q=>{const G=Q.nodeLookup.get(p.source),Y=Q.nodeLookup.get(p.target);if(!G||!Y)return nr;const $=gf({id:e,sourceNode:G,targetNode:Y,sourceHandle:p.sourceHandle||null,targetHandle:p.targetHandle||null,connectionMode:Q.connectionMode,onError:g}),W=uf({selected:p.selected,zIndex:p.zIndex,sourceNode:G,targetNode:Y,elevateOnSelect:Q.elevateEdgesOnSelect,zIndexMode:Q.zIndexMode});return{...$||nr,zIndex:W}},[p.source,p.target,p.sourceHandle,p.targetHandle,p.selected,p.zIndex]),Ae),V=w.useMemo(()=>p.markerStart?`url('#${os(p.markerStart,v)}')`:void 0,[p.markerStart,v]),Z=w.useMemo(()=>p.markerEnd?`url('#${os(p.markerEnd,v)}')`:void 0,[p.markerEnd,v]);if(p.hidden||B===null||O===null||D===null||j===null)return null;const te=Q=>{var W;const{addSelectedEdges:G,unselectNodesAndEdges:Y,multiSelectionActive:$}=P.getState();E&&(P.setState({nodesSelectionActive:!1}),p.selected&&$?(Y({nodes:[],edges:[p]}),(W=_.current)==null||W.blur()):G([e])),s&&s(Q,p)},se=t?Q=>{t(Q,{...p})}:void 0,ie=l?Q=>{l(Q,{...p})}:void 0,U=r?Q=>{r(Q,{...p})}:void 0,ee=d?Q=>{d(Q,{...p})}:void 0,de=u?Q=>{u(Q,{...p})}:void 0,z=Q=>{var G;if(!S&&lt.includes(Q.key)&&E){const{unselectNodesAndEdges:Y,addSelectedEdges:$}=P.getState();Q.key==="Escape"?((G=_.current)==null||G.blur(),Y({edges:[p]})):$([e])}};return a.jsx("svg",{style:{zIndex:I},children:a.jsxs("g",{className:Le(["react-flow__edge",`react-flow__edge-${A}`,p.className,y,{selected:p.selected,animated:p.animated,inactive:!E&&!s,updating:M,selectable:E}]),onClick:te,onDoubleClick:se,onContextMenu:ie,onMouseEnter:U,onMouseMove:ee,onMouseLeave:de,onKeyDown:C?z:void 0,tabIndex:C?0:void 0,role:(R=p.ariaRole)!=null?R:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":p.ariaLabel===null?void 0:p.ariaLabel||`Edge from ${p.source} to ${p.target}`,"aria-describedby":C?`${cl}-${v}`:void 0,ref:_,...p.domAttributes,children:[!H&&a.jsx(N,{id:e,source:p.source,target:p.target,type:p.type,selected:p.selected,animated:p.animated,selectable:E,deletable:(ae=p.deletable)!=null?ae:!0,label:p.label,labelStyle:p.labelStyle,labelShowBg:p.labelShowBg,labelBgStyle:p.labelBgStyle,labelBgPadding:p.labelBgPadding,labelBgBorderRadius:p.labelBgBorderRadius,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K,data:p.data,style:p.style,sourceHandleId:p.sourceHandle,targetHandleId:p.targetHandle,markerStart:V,markerEnd:Z,pathOptions:"pathOptions"in p?p.pathOptions:void 0,interactionWidth:p.interactionWidth}),k&&a.jsx(Lp,{edge:p,isReconnectable:k,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K,setUpdateHover:L,setReconnecting:T})]})})}var Ip=w.memo(Bp);const Dp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function sr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:c,reconnectRadius:b,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,disableKeyboardA11y:h}){const{edgesFocusable:y,edgesReconnectable:g,elementsSelectable:S,onError:p}=Se(Dp,Ae),x=gp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(Np,{defaultColor:e,rfId:i}),x.map(A=>a.jsx(Ip,{id:A,edgesFocusable:y,edgesReconnectable:g,elementsSelectable:S,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:c,reconnectRadius:b,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,rfId:i,onError:p,edgeTypes:o,disableKeyboardA11y:h},A))]})}sr.displayName="EdgeRenderer";const _p=w.memo(sr),Op=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Hp({children:e}){const n=Se(Op);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Fp(e){const n=gs(),i=w.useRef(!1);w.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Kp=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Gp(e){const n=Se(Kp),i=ke();return w.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Vp(e){return e.connection.inProgress?{...e.connection,to:ti(e.connection.to,e.transform)}:{...e.connection}}function zp(e){return Vp}function $p(e){const n=zp();return Se(n,Ae)}const jp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Wp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=Se(jp,Ae);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Le(["react-flow__connection",ct(r)]),children:a.jsx(ar,{style:n,type:i,CustomComponent:o,isValid:r})})})}const ar=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:c,toHandle:b,toPosition:m,pointer:f}=$p();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:ct(o),toNode:c,toHandle:b,pointer:f});let v="";const h={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[v]=Tt(h);break;case ln.SimpleBezier:[v]=zl(h);break;case ln.Step:[v]=is({...h,borderRadius:0});break;case ln.SmoothStep:[v]=is(h);break;default:[v]=Lt(h)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ar.displayName="ConnectionLine";const Up={};function tr(e=Up){const n=w.useRef(e),i=ke();w.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Ve.error002());break}n.current=e}},[e])}function qp(){const e=ke(),n=w.useRef(!1);w.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Ve.error013("react"))),n.current=!0}},[])}function lr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,onSelectionContextMenu:b,onSelectionStart:m,onSelectionEnd:f,connectionLineType:v,connectionLineStyle:h,connectionLineComponent:y,connectionLineContainerStyle:g,selectionKeyCode:S,selectionOnDrag:p,selectionMode:x,multiSelectionKeyCode:A,panActivationKeyCode:N,zoomActivationKeyCode:C,deleteKeyCode:k,onlyRenderVisibleElements:E,elementsSelectable:_,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,preventScrolling:P,defaultMarkerColor:I,zoomOnScroll:B,zoomOnPinch:O,panOnScroll:D,panOnScrollSpeed:j,panOnScrollMode:q,zoomOnDoubleClick:K,panOnDrag:V,autoPanOnSelection:Z,onPaneClick:te,onPaneMouseEnter:se,onPaneMouseMove:ie,onPaneMouseLeave:U,onPaneScroll:ee,onPaneContextMenu:de,paneClickDistance:z,nodeClickDistance:R,onEdgeContextMenu:ae,onEdgeMouseEnter:Q,onEdgeMouseMove:G,onEdgeMouseLeave:Y,reconnectRadius:$,onReconnect:W,onReconnectStart:F,onReconnectEnd:X,noDragClassName:J,noWheelClassName:ne,noPanClassName:me,disableKeyboardA11y:fe,nodeExtent:pe,rfId:ye,viewport:le,onViewportChange:xe}){return tr(e),tr(n),qp(),Fp(i),Gp(le),a.jsx(rp,{onPaneClick:te,onPaneMouseEnter:se,onPaneMouseMove:ie,onPaneMouseLeave:U,onPaneContextMenu:de,onPaneScroll:ee,paneClickDistance:z,deleteKeyCode:k,selectionKeyCode:S,selectionOnDrag:p,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:A,panActivationKeyCode:N,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:B,zoomOnPinch:O,zoomOnDoubleClick:K,panOnScroll:D,panOnScrollSpeed:j,panOnScrollMode:q,panOnDrag:V,autoPanOnSelection:Z,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,onSelectionContextMenu:b,preventScrolling:P,noDragClassName:J,noWheelClassName:ne,noPanClassName:me,disableKeyboardA11y:fe,onViewportChange:xe,isControlledViewport:!!le,children:a.jsxs(Hp,{children:[a.jsx(_p,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:W,onReconnectStart:F,onReconnectEnd:X,onlyRenderVisibleElements:E,onEdgeContextMenu:ae,onEdgeMouseEnter:Q,onEdgeMouseMove:G,onEdgeMouseLeave:Y,reconnectRadius:$,defaultMarkerColor:I,noPanClassName:me,disableKeyboardA11y:fe,rfId:ye}),a.jsx(Wp,{style:h,type:v,component:y,containerStyle:g}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(pp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,nodeClickDistance:R,onlyRenderVisibleElements:E,noPanClassName:me,noDragClassName:J,disableKeyboardA11y:fe,nodeExtent:pe,rfId:ye}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}lr.displayName="GraphView";const Yp=w.memo(lr),Jp=yt("React Flow","https://reactflow.dev/"),rr=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:c,nodeExtent:b,zIndexMode:m="basic"}={})=>{var C,k,E;const f=new Map,v=new Map,h=new Map,y=new Map,g=(C=o!=null?o:n)!=null?C:[],S=(k=i!=null?i:e)!=null?k:[],p=c!=null?c:[0,0],x=b!=null?b:ei;Gt(h,y,g);const{nodesInitialized:A}=ls(S,f,v,{nodeOrigin:p,nodeExtent:x,zIndexMode:m});let N=[0,0,1];if(l&&s&&t){const _=oi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:M,y:L,zoom:H}=es(_,s,t,d,u,(E=r==null?void 0:r.padding)!=null?E:.1);N=[M,L,H]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:N,nodes:S,nodesInitialized:A,nodeLookup:f,parentLookup:v,edges:g,edgeLookup:y,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:ei,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Tn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:p,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...dt},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Jp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:rt,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Zp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m})=>dh((f,v)=>{async function h(){const{nodeLookup:y,panZoom:g,fitViewOptions:S,fitViewResolver:p,width:x,height:A,minZoom:N,maxZoom:C}=v();g&&(await of({nodes:y,width:x,height:A,panZoom:g,minZoom:N,maxZoom:C},S),p==null||p.resolve(!0),f({fitViewResolver:null}))}return{...rr({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:y=>{const{nodeLookup:g,parentLookup:S,nodeOrigin:p,elevateNodesOnSelect:x,fitViewQueued:A,zIndexMode:N,nodesSelectionActive:C}=v(),{nodesInitialized:k,hasSelectedNodes:E}=ls(y,g,S,{nodeOrigin:p,nodeExtent:b,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:N}),_=C&&E;A&&k?(h(),f({nodes:y,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:_})):f({nodes:y,nodesInitialized:k,nodesSelectionActive:_})},setEdges:y=>{const{connectionLookup:g,edgeLookup:S}=v();Gt(g,S,y),f({edges:y})},setDefaultNodesAndEdges:(y,g)=>{if(y){const{setNodes:S}=v();S(y),f({hasDefaultNodes:!0})}if(g){const{setEdges:S}=v();S(g),f({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:g,nodeLookup:S,parentLookup:p,domNode:x,nodeOrigin:A,nodeExtent:N,debug:C,fitViewQueued:k,zIndexMode:E}=v(),{changes:_,updatedInternals:M}=kf(y,S,p,x,A,N,E);M&&(wf(S,p,{nodeOrigin:A,nodeExtent:N,zIndexMode:E}),k?(h(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(_==null?void 0:_.length)>0&&(C&&console.log("React Flow: trigger node changes",_),g==null||g(_)))},updateNodePositions:(y,g=!1)=>{var E,_;const S=[];let p=[];const{nodeLookup:x,triggerNodeChanges:A,connection:N,updateConnection:C,onNodesChangeMiddlewareMap:k}=v();for(const[M,L]of y){const H=x.get(M),T=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(L!=null&&L.position)),P={id:M,type:"position",position:T?{x:Math.max(0,L.position.x),y:Math.max(0,L.position.y)}:L.position,dragging:g};if(H&&N.inProgress&&N.fromNode.id===H.id){const I=yn(H,N.fromHandle,ue.Left,!0);C({...N,from:I})}T&&H.parentId&&S.push({id:M,parentId:H.parentId,rect:{...L.internals.positionAbsolute,width:(E=L.measured.width)!=null?E:0,height:(_=L.measured.height)!=null?_:0}}),p.push(P)}if(S.length>0){const{parentLookup:M,nodeOrigin:L}=v(),H=ds(S,x,M,L);p.push(...H)}for(const M of k.values())p=M(p);A(p)},triggerNodeChanges:y=>{const{onNodesChange:g,setNodes:S,nodes:p,hasDefaultNodes:x,debug:A}=v();if(y!=null&&y.length){if(x){const N=Sl(y,p);S(N)}A&&console.log("React Flow: trigger node changes",y),g==null||g(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:g,setEdges:S,edges:p,hasDefaultEdges:x,debug:A}=v();if(y!=null&&y.length){if(x){const N=wl(y,p);S(N)}A&&console.log("React Flow: trigger edge changes",y),g==null||g(y)}},addSelectedNodes:y=>{const{multiSelectionActive:g,edgeLookup:S,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const N=y.map(C=>xn(C,!0));x(N);return}x(On(p,new Set([...y]),!0)),A(On(S))},addSelectedEdges:y=>{const{multiSelectionActive:g,edgeLookup:S,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const N=y.map(C=>xn(C,!0));A(N);return}A(On(S,new Set([...y]))),x(On(p,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:g}={})=>{const{edges:S,nodes:p,nodeLookup:x,triggerNodeChanges:A,triggerEdgeChanges:N}=v(),C=y||p,k=g||S,E=[];for(const M of C){if(!M.selected)continue;const L=x.get(M.id);L&&(L.selected=!1),E.push(xn(M.id,!1))}const _=[];for(const M of k)M.selected&&_.push(xn(M.id,!1));A(E),N(_)},setMinZoom:y=>{const{panZoom:g,maxZoom:S}=v();g==null||g.setScaleExtent([y,S]),f({minZoom:y})},setMaxZoom:y=>{const{panZoom:g,minZoom:S}=v();g==null||g.setScaleExtent([S,y]),f({maxZoom:y})},setTranslateExtent:y=>{var g;(g=v().panZoom)==null||g.setTranslateExtent(y),f({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:g,triggerNodeChanges:S,triggerEdgeChanges:p,elementsSelectable:x}=v();if(!x)return;const A=g.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]),N=y.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]);S(A),p(N)},setNodeExtent:y=>{const{nodes:g,nodeLookup:S,parentLookup:p,nodeOrigin:x,elevateNodesOnSelect:A,nodeExtent:N,zIndexMode:C}=v();y[0][0]===N[0][0]&&y[0][1]===N[0][1]&&y[1][0]===N[1][0]&&y[1][1]===N[1][1]||(ls(g,S,p,{nodeOrigin:x,nodeExtent:y,elevateNodesOnSelect:A,checkEquality:!1,zIndexMode:C}),f({nodeExtent:y}))},panBy:y=>{const{transform:g,width:S,height:p,panZoom:x,translateExtent:A}=v();return Ef({delta:y,panZoom:x,transform:g,translateExtent:A,width:S,height:p})},setCenter:async(y,g,S)=>{const{width:p,height:x,maxZoom:A,panZoom:N}=v();if(!N)return!1;const C=typeof(S==null?void 0:S.zoom)!="undefined"?S.zoom:A;return await N.setViewport({x:p/2-y*C,y:x/2-g*C,zoom:C},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{f({connection:{...dt}})},updateConnection:y=>{f({connection:y})},reset:()=>f({...rr()})}},Object.is);function Xp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m,children:f}){const[v]=w.useState(()=>Zp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:c,nodeExtent:b,zIndexMode:m}));return a.jsx(uh,{value:v,children:a.jsx(Dh,{children:a.jsx(Jh,{children:f})})})}function Qp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:f}){return w.useContext(Zi)?a.jsx(a.Fragment,{children:e}):a.jsx(Xp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:f,children:e})}const Rp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function eg({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:c,onMoveStart:b,onMoveEnd:m,onConnect:f,onConnectStart:v,onConnectEnd:h,onClickConnectStart:y,onClickConnectEnd:g,onNodeMouseEnter:S,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:N,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onSelectionChange:H,onSelectionDragStart:T,onSelectionDrag:P,onSelectionDragStop:I,onSelectionContextMenu:B,onSelectionStart:O,onSelectionEnd:D,onBeforeDelete:j,connectionMode:q,connectionLineType:K=ln.Bezier,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:te,deleteKeyCode:se="Backspace",selectionKeyCode:ie="Shift",selectionOnDrag:U=!1,selectionMode:ee=ni.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:z=li()?"Meta":"Control",zoomActivationKeyCode:R=li()?"Meta":"Control",snapToGrid:ae,snapGrid:Q,onlyRenderVisibleElements:G=!1,selectNodesOnDrag:Y,nodesDraggable:$,autoPanOnNodeFocus:W,nodesConnectable:F,nodesFocusable:X,nodeOrigin:J=ml,edgesFocusable:ne,edgesReconnectable:me,elementsSelectable:fe=!0,defaultViewport:pe=Nh,minZoom:ye=.5,maxZoom:le=2,translateExtent:xe=ei,preventScrolling:ge=!0,nodeExtent:ve,defaultMarkerColor:_e="#b1b1b7",zoomOnScroll:Oe=!0,zoomOnPinch:He=!0,panOnScroll:Ie=!1,panOnScrollSpeed:Ce=.5,panOnScrollMode:Te=hn.Free,zoomOnDoubleClick:Be=!0,panOnDrag:cn=!0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Hg,onPaneMouseLeave:Fg,onPaneScroll:Kg,onPaneContextMenu:Gg,paneClickDistance:Vg=1,nodeClickDistance:zg=0,children:$g,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg=10,onNodesChange:Rg,onEdgesChange:e0,noDragClassName:n0="nodrag",noWheelClassName:i0="nowheel",noPanClassName:mr="nopan",fitView:vr,fitViewOptions:fr,connectOnClick:o0,attributionPosition:s0,proOptions:a0,defaultEdgeOptions:t0,elevateNodesOnSelect:l0=!0,elevateEdgesOnSelect:r0=!1,disableKeyboardA11y:hr=!1,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanOnSelection:c0=!0,autoPanSpeed:b0,connectionRadius:m0,isValidConnection:v0,onError:f0,style:h0,id:pr,nodeDragThreshold:p0,connectionDragThreshold:g0,viewport:y0,onViewportChange:x0,width:S0,height:w0,colorMode:N0="light",debug:C0,onScroll:oo,ariaLabelConfig:A0,zIndexMode:gr="basic",...k0},E0){const Ns=pr||"1",M0=kh(N0),T0=w.useCallback(yr=>{yr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),oo==null||oo(yr)},[oo]);return a.jsx("div",{"data-testid":"rf__wrapper",...k0,onScroll:T0,style:{...h0,...Rp},ref:E0,className:Le(["react-flow",s,M0]),id:pr,role:"application",children:a.jsxs(Qp,{nodes:e,edges:n,width:S0,height:w0,fitView:vr,fitViewOptions:fr,minZoom:ye,maxZoom:le,nodeOrigin:J,nodeExtent:ve,zIndexMode:gr,children:[a.jsx(Ah,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:v,onConnectEnd:h,onClickConnectStart:y,onClickConnectEnd:g,nodesDraggable:$,autoPanOnNodeFocus:W,nodesConnectable:F,nodesFocusable:X,edgesFocusable:ne,edgesReconnectable:me,elementsSelectable:fe,elevateNodesOnSelect:l0,elevateEdgesOnSelect:r0,minZoom:ye,maxZoom:le,nodeExtent:ve,onNodesChange:Rg,onEdgesChange:e0,snapToGrid:ae,snapGrid:Q,connectionMode:q,translateExtent:xe,connectOnClick:o0,defaultEdgeOptions:t0,fitView:vr,fitViewOptions:fr,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onSelectionDrag:P,onSelectionDragStart:T,onSelectionDragStop:I,onMove:c,onMoveStart:b,onMoveEnd:m,noPanClassName:mr,nodeOrigin:J,rfId:Ns,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanSpeed:b0,onError:f0,connectionRadius:m0,isValidConnection:v0,selectNodesOnDrag:Y,nodeDragThreshold:p0,connectionDragThreshold:g0,onBeforeDelete:j,debug:C0,ariaLabelConfig:A0,zIndexMode:gr}),a.jsx(Yp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:S,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:N,nodeTypes:t,edgeTypes:l,connectionLineType:K,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:te,selectionKeyCode:ie,selectionOnDrag:U,selectionMode:ee,deleteKeyCode:se,multiSelectionKeyCode:z,panActivationKeyCode:de,zoomActivationKeyCode:R,onlyRenderVisibleElements:G,defaultViewport:pe,translateExtent:xe,minZoom:ye,maxZoom:le,preventScrolling:ge,zoomOnScroll:Oe,zoomOnPinch:He,zoomOnDoubleClick:Be,panOnScroll:Ie,panOnScrollSpeed:Ce,panOnScrollMode:Te,panOnDrag:cn,autoPanOnSelection:c0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Hg,onPaneMouseLeave:Fg,onPaneScroll:Kg,onPaneContextMenu:Gg,paneClickDistance:Vg,nodeClickDistance:zg,onSelectionContextMenu:B,onSelectionStart:O,onSelectionEnd:D,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg,defaultMarkerColor:_e,noDragClassName:n0,noWheelClassName:i0,noPanClassName:mr,rfId:Ns,disableKeyboardA11y:hr,nodeExtent:ve,viewport:y0,onViewportChange:x0}),a.jsx(wh,{onSelectionChange:H}),$g,a.jsx(ph,{proOptions:a0,position:s0}),a.jsx(hh,{rfId:Ns,disableKeyboardA11y:hr})]})})}var ng=kl(eg);function ig(e){const[n,i]=w.useState(e),o=w.useCallback(s=>i(t=>Sl(s,t)),[]);return[n,i,o]}function og(e){const[n,i]=w.useState(e),o=w.useCallback(s=>i(t=>wl(s,t)),[]);return[n,i,o]}function sg({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Le(["react-flow__background-pattern",i,o])})}function ag({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Le(["react-flow__background-pattern","dots",n])})}var un;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(un||(un={}));const tg={[un.Dots]:1,[un.Lines]:1,[un.Cross]:6},lg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function dr({id:e,variant:n=un.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:c}){const b=w.useRef(null),{transform:m,patternId:f}=Se(lg,Ae),v=o||tg[n],h=n===un.Dots,y=n===un.Cross,g=Array.isArray(i)?i:[i,i],S=[g[0]*m[2]||1,g[1]*m[2]||1],p=v*m[2],x=Array.isArray(t)?t:[t,t],A=y?[p,p]:S,N=[x[0]*m[2]||1+A[0]/2,x[1]*m[2]||1+A[1]/2],C=`${f}${e||""}`;return a.jsxs("svg",{className:Le(["react-flow__background",u]),style:{...d,...Ri,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:b,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${N[0]},-${N[1]})`,children:h?a.jsx(ag,{radius:p/2,className:c}):a.jsx(sg,{dimensions:A,lineWidth:s,variant:n,className:c})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}dr.displayName="Background";const rg=w.memo(dr);function dg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function ug(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function cg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function bg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function mg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function io({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Le(["react-flow__controls-button",n]),...i,children:e})}const vg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ur({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:c,position:b="bottom-left",orientation:m="vertical","aria-label":f}){const v=ke(),{isInteractive:h,minZoomReached:y,maxZoomReached:g,ariaLabelConfig:S}=Se(vg,Ae),{zoomIn:p,zoomOut:x,fitView:A}=gs(),N=()=>{p(),t==null||t()},C=()=>{x(),l==null||l()},k=()=>{A(s),r==null||r()},E=()=>{v.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),d==null||d(!h)},_=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Xi,{className:Le(["react-flow__controls",_,u]),position:b,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:S["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(io,{onClick:N,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:g,children:a.jsx(dg,{})}),a.jsx(io,{onClick:C,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:y,children:a.jsx(ug,{})})]}),i&&a.jsx(io,{className:"react-flow__controls-fitview",onClick:k,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:a.jsx(cg,{})}),o&&a.jsx(io,{className:"react-flow__controls-interactive",onClick:E,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:h?a.jsx(mg,{}):a.jsx(bg,{})}),c]})}ur.displayName="Controls";const fg=w.memo(ur);function hg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:c,shapeRendering:b,selected:m,onClick:f}){const{background:v,backgroundColor:h}=t||{},y=l||v||h;return a.jsx("rect",{className:Le(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:c,ry:c,width:o,height:s,style:{fill:y,stroke:r,strokeWidth:d},shapeRendering:b,onClick:f?g=>f(g,e):void 0})}const pg=w.memo(hg),gg=e=>e.nodes.map(n=>n.id),ws=e=>e instanceof Function?e:()=>e;function yg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=pg,onClick:l}){const r=Se(gg,Ae),d=ws(n),u=ws(e),c=ws(i),b=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(Sg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:c,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:b},m))})}function xg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:c,y:b,width:m,height:f}=Se(v=>{const h=v.nodeLookup.get(e);if(!h)return{node:void 0,x:0,y:0,width:0,height:0};const y=h.internals.userNode,{x:g,y:S}=h.internals.positionAbsolute,{width:p,height:x}=sn(y);return{node:y,x:g,y:S,width:p,height:x}},Ae);return!u||u.hidden||!xt(u)?null:a.jsx(r,{x:c,y:b,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const Sg=w.memo(xg);var wg=w.memo(yg);const Ng=200,Cg=150,Ag=e=>!e.hidden,kg=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?ht(oi(e.nodeLookup,{filter:Ag}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Eg="react-flow__minimap-desc";function cr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:c,maskStrokeWidth:b,position:m="bottom-right",onClick:f,onNodeClick:v,pannable:h=!1,zoomable:y=!1,ariaLabel:g,inversePan:S,zoomStep:p=1,offsetScale:x=5}){var ae,Q;const A=ke(),N=w.useRef(null),{boundingRect:C,viewBB:k,rfId:E,panZoom:_,translateExtent:M,flowWidth:L,flowHeight:H,ariaLabelConfig:T}=Se(kg,Ae),P=(ae=e==null?void 0:e.width)!=null?ae:Ng,I=(Q=e==null?void 0:e.height)!=null?Q:Cg,B=C.width/P,O=C.height/I,D=Math.max(B,O),j=D*P,q=D*I,K=x*D,V=C.x-(j-C.width)/2-K,Z=C.y-(q-C.height)/2-K,te=j+K*2,se=q+K*2,ie=`${Eg}-${E}`,U=w.useRef(0),ee=w.useRef();U.current=D,w.useEffect(()=>{if(N.current&&_)return ee.current=Of({domNode:N.current,panZoom:_,getTransform:()=>A.getState().transform,getViewScale:()=>U.current}),()=>{var G;(G=ee.current)==null||G.destroy()}},[_]),w.useEffect(()=>{var G;(G=ee.current)==null||G.update({translateExtent:M,width:L,height:H,inversePan:S,pannable:h,zoomStep:p,zoomable:y})},[h,y,S,p,M,L,H]);const de=f?G=>{var W;const[Y,$]=((W=ee.current)==null?void 0:W.pointer(G))||[0,0];f(G,{x:Y,y:$})}:void 0,z=v?w.useCallback((G,Y)=>{const $=A.getState().nodeLookup.get(Y).internals.userNode;v(G,$)},[]):void 0,R=g!=null?g:T["minimap.ariaLabel"];return a.jsx(Xi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-width-props":typeof b=="number"?b*D:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Le(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:P,height:I,viewBox:`${V} ${Z} ${te} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ie,ref:N,onClick:de,children:[R&&a.jsx("title",{id:ie,children:R}),a.jsx(wg,{onClick:z,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-K},${Z-K}h${te+K*2}v${se+K*2}h${-te-K*2}z
76
- M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}cr.displayName="MiniMap";const Mg=w.memo(cr),Tg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Pg={[_n.Line]:"right",[_n.Handle]:"bottom-right"};function Lg({nodeId:e,position:n,variant:i=_n.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:b=!1,resizeDirection:m,autoScale:f=!0,shouldResize:v,onResizeStart:h,onResize:y,onResizeEnd:g}){const S=Bl(),p=typeof e=="string"?e:S,x=ke(),A=w.useRef(null),N=i===_n.Handle,C=Se(w.useCallback(Tg(N&&f),[N,f]),Ae),k=w.useRef(null),E=n!=null?n:Pg[i];w.useEffect(()=>{if(!(!A.current||!p))return k.current||(k.current=Jf({domNode:A.current,nodeId:p,getStoreItems:()=>{const{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,domNode:I}=x.getState();return{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,paneDomNode:I}},onChange:(M,L)=>{var j,q,K,V,Z,te,se;const{triggerNodeChanges:H,nodeLookup:T,parentLookup:P,nodeOrigin:I}=x.getState(),B=[],O={x:M.x,y:M.y},D=T.get(p);if(D&&D.expandParent&&D.parentId){const ie=(j=D.origin)!=null?j:I,U=(K=(q=M.width)!=null?q:D.measured.width)!=null?K:0,ee=(Z=(V=M.height)!=null?V:D.measured.height)!=null?Z:0,de={id:D.id,parentId:D.parentId,rect:{width:U,height:ee,...St({x:(te=M.x)!=null?te:D.position.x,y:(se=M.y)!=null?se:D.position.y},{width:U,height:ee},D.parentId,T,ie)}},z=ds([de],T,P,I);B.push(...z),O.x=M.x?Math.max(ie[0]*U,M.x):void 0,O.y=M.y?Math.max(ie[1]*ee,M.y):void 0}if(O.x!==void 0&&O.y!==void 0){const ie={id:p,type:"position",position:{...O}};B.push(ie)}if(M.width!==void 0&&M.height!==void 0){const U={id:p,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};B.push(U)}for(const ie of L){const U={...ie,type:"position"};B.push(U)}H(B)},onEnd:({width:M,height:L})=>{const H={id:p,type:"dimensions",resizing:!1,dimensions:{width:M,height:L}};x.getState().triggerNodeChanges([H])}})),k.current.update({controlPosition:E,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:c},keepAspectRatio:b,resizeDirection:m,onResizeStart:h,onResize:y,onResizeEnd:g,shouldResize:v}),()=>{var M;(M=k.current)==null||M.destroy()}},[E,r,d,u,c,b,h,y,g,v]);const _=E.split("-");return a.jsx("div",{className:Le(["react-flow__resize-control","nodrag",..._,i,o]),ref:A,style:{...s,scale:C,...l&&{[N?"backgroundColor":"borderColor"]:l}},children:t})}w.memo(Lg);const br=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Bg={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Hn,{type:"target",position:n||ue.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(re,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Hn,{type:"source",position:i||ue.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function Ig({formData:e}){const{nodes:n,edges:i}=w.useMemo(()=>{var m,f;const u=[],c=[];let b=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||m.forEach((v,h)=>{var N;const y=br[h%br.length],g=((N=v==null?void 0:v.questionData)==null?void 0:N.filter(C=>!(C!=null&&C.isDeleted)))||[],S=h*400,p=0,x=320,A=60+g.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${h+1}`},position:{x:S,y:p},style:{width:x,height:A,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),g.forEach((C,k)=>{const E=C.id;u.push({id:E,type:"customField",parentId:v.id,extent:"parent",targetPosition:ue.Top,sourcePosition:ue.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:y},position:{x:20,y:40+k*110}}),b&&!C.isHidden&&c.push({id:`e-${b}-${E}`,source:b,target:E,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(b=E)})}),(f=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||f.forEach(v=>{var h,y;(y=(h=v==null?void 0:v.questionData)==null?void 0:h.filter(g=>!(g!=null&&g.isDeleted)))==null||y.forEach(g=>{var S;g.isHidden&&((S=g.visibilityDependentFields)==null?void 0:S.length)>0&&g.visibilityDependentFields.forEach(p=>{c.push({id:`e-cond-${p.id}-${g.id}`,source:p.id,target:g.id,type:"smoothstep",animated:!0,label:`if ${p.operator} '${p.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:c}},[e]),[o,s,t]=ig(n),[l,r,d]=og(i);return w.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(ng,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Bg,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(rg,{color:"#e2e8f0",gap:16}),a.jsx(fg,{}),a.jsx(Mg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const Dg=Object.freeze(Object.defineProperty({__proto__:null,default:Ig},Symbol.toStringTag,{value:"Module"}));Ee.FormBuilder=tc,Ee.FormViewer=Po,Object.defineProperty(Ee,Symbol.toStringTag,{value:"Module"})});
75
+ `)),b=u.reduce((c,m)=>c.concat(...m),[]);return[u,b]}return[[],[]]},[e]);return N.useEffect(()=>{var b,c;const d=(b=n==null?void 0:n.target)!=null?b:pl,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!0;if(e!==null){const m=p=>{var y,h;if(s.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!s.current||s.current&&!u)&&Ct(p))return!1;const g=yl(p.code,r);if(t.current.add(p[g]),gl(l,t.current,!1)){const x=((h=(y=p.composedPath)==null?void 0:y.call(p))==null?void 0:h[0])||p.target,A=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(s.current||!A)&&p.preventDefault(),o(!0)}},f=p=>{const S=yl(p.code,r);gl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(p[S]),p.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",f),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",f),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function gl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function yl(e,n){return n.includes(e)?"code":"key"}const Mh=()=>{const e=Ae();return N.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=es(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,f;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},b=(m=i.snapGrid)!=null?m:s,c=(f=i.snapToGrid)!=null?f:t;return ti(u,o,c,b)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Bn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function xl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Th(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Th(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function Sl(e,n){return xl(e,n)}function wl(e,n){return xl(e,n)}function xn(e,n){return{id:e,type:"select",selected:n}}function On(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(xn(t.id,l)))}return o}function Nl({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function Cl(e){return{id:e.id,type:"remove"}}const Ph=yt("React Flow","https://reactflow.dev/");function Lh(e,n,i={}){var o;return ff(e,n,{...i,onError:(o=i.onError)!=null?o:Ph})}const Al=e=>Rv(e),Bh=e=>bt(e);function kl(e){return N.forwardRef(e)}const Ih=typeof window!="undefined"?N.useLayoutEffect:N.useEffect;function El(e){const[n,i]=N.useState(BigInt(0)),[o]=N.useState(()=>Dh(()=>i(s=>s+BigInt(1))));return Ih(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Dh(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Ml=N.createContext(null);function _h({children:e}){const n=Ae(),i=N.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:b,onNodesChange:c,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:v}=n.getState();let p=d;for(const g of r)p=typeof g=="function"?g(p):g;let S=Nl({items:p,lookup:m});for(const g of v.values())S=g(S);b&&u(p),S.length>0?c==null||c(S):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:g,nodes:y,setNodes:h}=n.getState();g&&h(y)})},[]),o=El(i),s=N.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:b,onEdgesChange:c,edgeLookup:m}=n.getState();let f=d;for(const v of r)f=typeof v=="function"?v(f):v;b?u(f):c&&c(Nl({items:f,lookup:m}))},[]),t=El(s),l=N.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Ml.Provider,{value:l,children:e})}function Oh(){const e=N.useContext(Ml);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Hh=e=>!!e.panZoom;function gs(){const e=Mh(),n=Ae(),i=Oh(),o=xe(Hh),s=N.useMemo(()=>{const t=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var g,y,h,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),v=Al(c)?c:m.get(c.id),p=v.parentId?St(v.position,v.measured,v.parentId,m,f):v.position,S={...v,position:p,width:(y=(g=v.measured)==null?void 0:g.width)!=null?y:v.width,height:(x=(h=v.measured)==null?void 0:h.height)!=null?x:v.height};return si(S)},u=(c,m,f={replace:!1})=>{l(v=>v.map(p=>{if(p.id===c){const S=typeof m=="function"?m(p):m;return f.replace&&Al(S)?S:{...p,...S}}return p}))},b=(c,m,f={replace:!1})=>{r(v=>v.map(p=>{if(p.id===c){const S=typeof m=="function"?m(p):m;return f.replace&&Bh(S)?S:{...p,...S}}return p}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var m;return(m=t(c))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(m=>({...m}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const m=Array.isArray(c)?c:[c];i.nodeQueue.push(f=>[...f,...m])},addEdges:c=>{const m=Array.isArray(c)?c:[c];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:c=[],edges:m=[],transform:f}=n.getState(),[v,p,S]=f;return{nodes:c.map(g=>({...g})),edges:m.map(g=>({...g})),viewport:{x:v,y:p,zoom:S}}},deleteElements:async({nodes:c=[],edges:m=[]})=>{const{nodes:f,edges:v,onNodesDelete:p,onEdgesDelete:S,triggerNodeChanges:g,triggerEdgeChanges:y,onDelete:h,onBeforeDelete:x}=n.getState(),{nodes:A,edges:w}=await af({nodesToRemove:c,edgesToRemove:m,nodes:f,edges:v,onBeforeDelete:x}),C=w.length>0,k=A.length>0;if(C){const E=w.map(Cl);S==null||S(w),y(E)}if(k){const E=A.map(Cl);p==null||p(A),g(E)}return(k||C)&&(h==null||h({nodes:A,edges:w})),{deletedNodes:A,deletedEdges:w}},getIntersectingNodes:(c,m=!0,f)=>{const v=gt(c),p=v?c:d(c),S=f!==void 0;return p?(f||n.getState().nodes).filter(g=>{const y=n.getState().nodeLookup.get(g.id);if(y&&!v&&(g.id===c.id||!y.internals.positionAbsolute))return!1;const h=si(S?g:y),x=Wi(h,p);return m&&x>0||x>=h.width*h.height||x>=p.width*p.height}):[]},isNodeIntersecting:(c,m,f=!0)=>{const p=gt(c)?c:d(c);if(!p)return!1;const S=Wi(p,m);return f&&S>0||S>=m.width*m.height||S>=p.width*p.height},updateNode:u,updateNodeData:(c,m,f={replace:!1})=>{u(c,v=>{const p=typeof m=="function"?m(v):m;return f.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},f)},updateEdge:b,updateEdgeData:(c,m,f={replace:!1})=>{b(c,v=>{const p=typeof m=="function"?m(v):m;return f.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},f)},getNodesBounds:c=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return ef(c,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:c,id:m,nodeId:f})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${f}-${c}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?p:[])},getNodeConnections:({type:c,handleId:m,nodeId:f})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${f}${c?m?`-${c}-${m}`:`-${c}`:""}`))==null?void 0:v.values())!=null?p:[])},fitView:async c=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:rf();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return N.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Tl=e=>e.selected,Fh=typeof window!="undefined"?window:void 0;function Kh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=Ae(),{deleteElements:o}=gs(),s=di(e,{actInsideInputWithModifier:!1}),t=di(n,{target:Fh});N.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Tl),edges:l.filter(Tl)}),i.setState({nodesSelectionActive:!1})}},[s]),N.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function Vh(e){const n=Ae();N.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=ns(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Ge.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const Ri={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function zh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=hn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:b,maxZoom:c,zoomActivationKeyCode:m,preventScrolling:f=!0,children:v,noWheelClassName:p,noPanClassName:S,onViewportChange:g,isControlledViewport:y,paneClickDistance:h,selectionOnDrag:x}){const A=Ae(),w=N.useRef(null),{userSelectionActive:C,lib:k,connectionInProgress:E}=xe(Gh,Ce),_=di(m),M=N.useRef();Vh(w);const L=N.useCallback(H=>{g==null||g({x:H[0],y:H[1],zoom:H[2]}),y||A.setState({transform:H})},[g,y]);return N.useEffect(()=>{if(w.current){M.current=jf({domNode:w.current,minZoom:b,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:I=>A.setState(D=>D.paneDragging===I?D:{paneDragging:I}),onPanZoomStart:(I,D)=>{const{onViewportChangeStart:O,onMoveStart:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoom:(I,D)=>{const{onViewportChange:O,onMove:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoomEnd:(I,D)=>{const{onViewportChangeEnd:O,onMoveEnd:B}=A.getState();B==null||B(I,D),O==null||O(D)}});const{x:H,y:T,zoom:P}=M.current.getViewport();return A.setState({panZoom:M.current,transform:[H,T,P],domNode:w.current.closest(".react-flow")}),()=>{var I;(I=M.current)==null||I.destroy()}}},[]),N.useEffect(()=>{var H;(H=M.current)==null||H.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:_,preventScrolling:f,noPanClassName:S,userSelectionActive:C,noWheelClassName:p,lib:k,onTransformChange:L,connectionInProgress:E,selectionOnDrag:x,paneClickDistance:h})},[e,n,i,o,s,t,l,r,_,f,S,C,p,k,L,E,x,h]),a.jsx("div",{className:"react-flow__renderer",ref:w,style:Ri,children:v})}const $h=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Wh(){const{userSelectionActive:e,userSelectionRect:n}=xe($h,Ce);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const ys=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},jh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Uh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=ni.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:b,onPaneScroll:c,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:v,children:p}){const S=N.useRef(0),g=Ae(),{userSelectionActive:y,elementsSelectable:h,dragging:x,panBy:A,autoPanSpeed:w}=xe(jh,Ce),C=h&&(e||y),k=N.useRef(null),E=N.useRef(),_=N.useRef(new Set),M=N.useRef(new Set),L=N.useRef(!1),H=N.useRef(!1),T=N.useRef({x:0,y:0}),P=N.useRef(!1),I=j=>{if(H.current||L.current||g.getState().connection.inProgress){H.current=!1,L.current=!1;return}u==null||u(j),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},D=j=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){j.preventDefault();return}b==null||b(j)},O=c?j=>c(j):void 0,B=j=>{H.current&&(j.stopPropagation(),H.current=!1)},G=j=>{var z,W;const{domNode:R,transform:ce}=g.getState();if(E.current=R==null?void 0:R.getBoundingClientRect(),!E.current)return;const V=j.target===k.current;if(!V&&!!j.target.closest(".nokey")||!e||!(l&&V||n)||j.button!==0||!j.isPrimary)return;(W=(z=j.target)==null?void 0:z.setPointerCapture)==null||W.call(z,j.pointerId),H.current=!1;const{x:X,y:F}=Ue(j.nativeEvent,E.current),Y=ti({x:X,y:F},ce);g.setState({userSelectionRect:{width:0,height:0,startX:Y.x,startY:Y.y,x:X,y:F}}),V||(j.stopPropagation(),j.preventDefault())};function U(j,R){var pe,ye;const{userSelectionRect:ce}=g.getState();if(!ce)return;const{transform:V,nodeLookup:Q,edgeLookup:te,connectionLookup:X,triggerNodeChanges:F,triggerEdgeChanges:Y,defaultEdgeOptions:z}=g.getState(),W={x:ce.startX,y:ce.startY},{x:q,y:le}=Bn(W,V),J={startX:W.x,startY:W.y,x:j<q?j:q,y:R<le?R:le,width:Math.abs(j-q),height:Math.abs(R-le)},re=_.current,oe=M.current;_.current=new Set(Xo(Q,J,V,i===ni.Partial,!0).map(he=>he.id)),M.current=new Set;const se=(pe=z==null?void 0:z.selectable)!=null?pe:!0;for(const he of _.current){const ke=X.get(he);if(ke)for(const{edgeId:me}of ke.values()){const de=te.get(me);de&&((ye=de.selectable)!=null?ye:se)&&M.current.add(me)}}if(!wt(re,_.current)){const he=On(Q,_.current,!0);F(he)}if(!wt(oe,M.current)){const he=On(te,M.current);Y(he)}g.setState({userSelectionRect:J,userSelectionActive:!0,nodesSelectionActive:!1})}function K(){if(!s||!E.current)return;const[j,R]=Qo(T.current,E.current,w);A({x:j,y:R}).then(ce=>{if(!H.current||!ce){S.current=requestAnimationFrame(K);return}const{x:V,y:Q}=T.current;U(V,Q),S.current=requestAnimationFrame(K)})}const $=()=>{cancelAnimationFrame(S.current),S.current=0,P.current=!1};N.useEffect(()=>()=>$(),[]);const Z=j=>{const{userSelectionRect:R,transform:ce,resetSelectedElements:V}=g.getState();if(!E.current||!R)return;const{x:Q,y:te}=Ue(j.nativeEvent,E.current);T.current={x:Q,y:te};const X=Bn({x:R.startX,y:R.startY},ce);if(!H.current){const F=n?0:t;if(Math.hypot(Q-X.x,te-X.y)<=F)return;V(),r==null||r(j)}H.current=!0,P.current||(K(),P.current=!0),U(Q,te)},ie=j=>{var R,ce;if(!C){j.target===k.current&&g.getState().connection.inProgress&&(L.current=!0);return}j.button===0&&((ce=(R=j.target)==null?void 0:R.releasePointerCapture)==null||ce.call(R,j.pointerId),!y&&j.target===k.current&&g.getState().userSelectionRect&&(I==null||I(j)),g.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(d==null||d(j),g.setState({nodesSelectionActive:_.current.size>0})),$())},ae=j=>{var R,ce;(ce=(R=j.target)==null?void 0:R.releasePointerCapture)==null||ce.call(R,j.pointerId),$()},ee=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Be(["react-flow__pane",{draggable:ee,dragging:x,selection:e}]),onClick:C?void 0:ys(I,k),onContextMenu:ys(D,k),onWheel:ys(O,k),onPointerEnter:C?void 0:m,onPointerMove:C?Z:f,onPointerUp:ie,onPointerCancel:C?ae:void 0,onPointerDownCapture:C?G:void 0,onClickCapture:C?B:void 0,onPointerLeave:v,ref:k,style:Ri,children:[p,a.jsx(Wh,{})]})}function xs({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Ge.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var b;return(b=o==null?void 0:o.current)==null?void 0:b.blur()})):s([e])}function Pl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=Ae(),[d,u]=N.useState(!1),b=N.useRef();return N.useEffect(()=>{b.current=Lf({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{xs({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),N.useEffect(()=>{if(!(n||!e.current||!b.current))return b.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=b.current)==null||c.destroy()}},[i,o,n,t,e,s,l]),d}const qh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Ll(){const e=Ae();return N.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:b}=e.getState(),c=new Map,m=qh(l),f=s?t[0]:5,v=s?t[1]:5,p=i.direction.x*f*i.factor,S=i.direction.y*v*i.factor;for(const[,g]of u){if(!m(g))continue;let y={x:g.internals.positionAbsolute.x+p,y:g.internals.positionAbsolute.y+S};s&&(y=ai(y,t));const{position:h,positionAbsolute:x}=mt({nodeId:g.id,nextPosition:y,nodeLookup:u,nodeExtent:o,nodeOrigin:b,onError:r});g.position=h,g.internals.positionAbsolute=x,c.set(g.id,g)}d(c)},[])}const Ss=N.createContext(null),Yh=Ss.Provider;Ss.Consumer;const Bl=()=>N.useContext(Ss),Jh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Il=N.createContext(null);function Zh({children:e}){const n=xe(Jh,Ce);return a.jsx(Il.Provider,{value:n,children:e})}function Xh(){const e=N.useContext(Il);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Qh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Rh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Qh;const b=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:b,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===Tn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:b&&u}};function ep({type:e="source",position:n=be.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:b,onTouchStart:c,...m},f){var P,I;const v=l||null,p=e==="target",S=Ae(),g=Bl(),{connectOnClick:y,noPanClassName:h,rfId:x}=Xh(),{connectingFrom:A,connectingTo:w,clickConnecting:C,isPossibleEndHandle:k,connectionInProcess:E,clickConnectionInProcess:_,valid:M}=xe(Rh(g,v,e),Ce);g||(I=(P=S.getState()).onError)==null||I.call(P,"010",Ge.error010());const L=D=>{const{defaultEdgeOptions:O,onConnect:B,hasDefaultEdges:G}=S.getState(),U={...O,...D};if(G){const{edges:K,setEdges:$,onError:Z}=S.getState();$(Lh(U,K,{onError:Z}))}B==null||B(U),r==null||r(U)},H=D=>{if(!g)return;const O=At(D.nativeEvent);if(s&&(O&&D.button===0||!O)){const B=S.getState();cs.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:B.autoPanOnConnect,connectionMode:B.connectionMode,connectionRadius:B.connectionRadius,domNode:B.domNode,nodeLookup:B.nodeLookup,lib:B.lib,isTarget:p,handleId:v,nodeId:g,flowId:B.rfId,panBy:B.panBy,cancelConnection:B.cancelConnection,onConnectStart:B.onConnectStart,onConnectEnd:(...G)=>{var U,K;return(K=(U=S.getState()).onConnectEnd)==null?void 0:K.call(U,...G)},updateConnection:B.updateConnection,onConnect:L,isValidConnection:i||((...G)=>{var U,K,$;return($=(K=(U=S.getState()).isValidConnection)==null?void 0:K.call(U,...G))!=null?$:!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:B.autoPanSpeed,dragThreshold:B.connectionDragThreshold})}O?b==null||b(D):c==null||c(D)},T=D=>{const{onClickConnectStart:O,onClickConnectEnd:B,connectionClickStartHandle:G,connectionMode:U,isValidConnection:K,lib:$,rfId:Z,nodeLookup:ie,connection:ae}=S.getState();if(!g||!G&&!s)return;if(!G){O==null||O(D.nativeEvent,{nodeId:g,handleId:v,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:g,type:e,id:v}});return}const ee=Nt(D.target),j=i||K,{connection:R,isValid:ce}=cs.isValid(D.nativeEvent,{handle:{nodeId:g,id:v,type:e},connectionMode:U,fromNodeId:G.nodeId,fromHandleId:G.id||null,fromType:G.type,isValidConnection:j,flowId:Z,doc:ee,lib:$,nodeLookup:ie});ce&&R&&L(R);const V=structuredClone(ae);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,B==null||B(D,V),S.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":g,"data-handlepos":n,"data-id":`${x}-${g}-${v}-${e}`,className:Be(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",h,u,{source:!p,target:p,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:A,connectingto:w,valid:M,connectionindicator:o&&(!E||k)&&(E||_?t:s)}]),onMouseDown:H,onTouchStart:H,onClick:y?T:void 0,ref:f,...m,children:d})}const Hn=N.memo(kl(ep));function np({data:e,isConnectable:n,sourcePosition:i=be.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:i,isConnectable:n})]})}function ip({data:e,isConnectable:n,targetPosition:i=be.Top,sourcePosition:o=be.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:o,isConnectable:n})]})}function op(){return null}function sp({data:e,isConnectable:n,targetPosition:i=be.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const eo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Dl={input:np,default:ip,output:sp,group:op};function ap(e){var n,i,o,s,t,l,r,d,u,b;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(b=e.height)!=null?b:(u=e.style)==null?void 0:u.height}}const tp=e=>{const{width:n,height:i,x:o,y:s}=oi(e.nodeLookup,{filter:t=>!!t.selected});return{width:je(n)?n:null,height:je(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function lp({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=Ae(),{width:s,height:t,transformString:l,userSelectionActive:r}=xe(tp,Ce),d=Ll(),u=N.useRef(null);N.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const b=!r&&s!==null&&t!==null;if(Pl({nodeRef:u,disabled:!b}),!b)return null;const c=e?f=>{const v=o.getState().nodes.filter(p=>p.selected);e(f,v)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(eo,f.key)&&(f.preventDefault(),d({direction:eo[f.key],factor:f.shiftKey?4:1}))};return a.jsx("div",{className:Be(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const _l=typeof window!="undefined"?window:void 0,rp=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ol({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:b,selectionMode:c,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:v,panActivationKeyCode:p,zoomActivationKeyCode:S,elementsSelectable:g,zoomOnScroll:y,zoomOnPinch:h,panOnScroll:x,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:k,autoPanOnSelection:E,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,preventScrolling:T,onSelectionContextMenu:P,noWheelClassName:I,noPanClassName:D,disableKeyboardA11y:O,onViewportChange:B,isControlledViewport:G}){const{nodesSelectionActive:U,userSelectionActive:K}=xe(rp,Ce),$=di(u,{target:_l}),Z=di(p,{target:_l}),ie=Z||k,ae=Z||x,ee=b&&ie!==!0,j=$||K||ee;return Kh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(zh,{onPaneContextMenu:t,elementsSelectable:g,zoomOnScroll:y,zoomOnPinch:h,panOnScroll:ae,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:!$&&ie,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,zoomActivationKeyCode:S,preventScrolling:T,noWheelClassName:I,noPanClassName:D,onViewportChange:B,isControlledViewport:G,paneClickDistance:r,selectionOnDrag:ee,children:a.jsxs(Uh,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:ie,autoPanOnSelection:E,isSelecting:!!j,selectionMode:c,selectionKeyPressed:$,paneClickDistance:r,selectionOnDrag:ee,children:[e,U&&a.jsx(lp,{onSelectionContextMenu:P,noPanClassName:D,disableKeyboardA11y:O})]})})}Ol.displayName="FlowRenderer";const dp=N.memo(Ol),up=e=>n=>e?Xo(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function cp(e){return xe(N.useCallback(up(e),[e]),Ce)}const bp=e=>e.updateNodeInternals;function mp(){const e=xe(bp),[n]=N.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return N.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function vp({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=Ae(),t=N.useRef(null),l=N.useRef(null),r=N.useRef(e.sourcePosition),d=N.useRef(e.targetPosition),u=N.useRef(n),b=i&&!!e.internals.handleBounds;return N.useEffect(()=>{t.current&&!e.hidden&&(!b||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[b,e.hidden]),N.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),N.useEffect(()=>{if(t.current){const c=u.current!==n,m=r.current!==e.sourcePosition,f=d.current!==e.targetPosition;(c||m||f)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function fp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:b,resizeObserver:c,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:v,rfId:p,nodeTypes:S,nodeClickDistance:g,onError:y}){var j,R,ce;const{node:h,internals:x,isParent:A}=xe(V=>{const Q=V.nodeLookup.get(e),te=V.parentLookup.has(e);return{node:Q,internals:Q.internals,isParent:te}},Ce);let w=h.type||"default",C=(S==null?void 0:S[w])||Dl[w];C===void 0&&(y==null||y("003",Ge.error003(w)),w="default",C=(S==null?void 0:S.default)||Dl.default);const k=!!(h.draggable||r&&typeof h.draggable=="undefined"),E=!!(h.selectable||d&&typeof h.selectable=="undefined"),_=!!(h.connectable||u&&typeof h.connectable=="undefined"),M=!!(h.focusable||b&&typeof h.focusable=="undefined"),L=Ae(),H=xt(h),T=vp({node:h,nodeType:w,hasDimensions:H,resizeObserver:c}),P=Pl({nodeRef:T,disabled:h.hidden||!k,noDragClassName:m,handleSelector:h.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:g}),I=Ll();if(h.hidden)return null;const D=sn(h),O=ap(h),B=E||k||n||i||o||s,G=i?V=>i(V,{...x.userNode}):void 0,U=o?V=>o(V,{...x.userNode}):void 0,K=s?V=>s(V,{...x.userNode}):void 0,$=t?V=>t(V,{...x.userNode}):void 0,Z=l?V=>l(V,{...x.userNode}):void 0,ie=V=>{const{selectNodesOnDrag:Q,nodeDragThreshold:te}=L.getState();E&&(!Q||!k||te>0)&&xs({id:e,store:L,nodeRef:T}),n&&n(V,{...x.userNode})},ae=V=>{if(!(Ct(V.nativeEvent)||v)){if(lt.includes(V.key)&&E){const Q=V.key==="Escape";xs({id:e,store:L,unselect:Q,nodeRef:T})}else if(k&&h.selected&&Object.prototype.hasOwnProperty.call(eo,V.key)){V.preventDefault();const{ariaLabelConfig:Q}=L.getState();L.setState({ariaLiveMessage:Q["node.a11yDescription.ariaLiveMessage"]({direction:V.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),I({direction:eo[V.key],factor:V.shiftKey?4:1})}}},ee=()=>{var z;if(v||!((z=T.current)!=null&&z.matches(":focus-visible")))return;const{transform:V,width:Q,height:te,autoPanOnNodeFocus:X,setCenter:F}=L.getState();if(!X)return;Xo(new Map([[e,h]]),{x:0,y:0,width:Q,height:te},V,!0).length>0||F(h.position.x+D.width/2,h.position.y+D.height/2,{zoom:V[2]})};return a.jsx("div",{className:Be(["react-flow__node",`react-flow__node-${w}`,{[f]:k},h.className,{selected:h.selected,selectable:E,parent:A,draggable:k,dragging:P}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:H?"visible":"hidden",...h.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:G,onMouseMove:U,onMouseLeave:K,onContextMenu:$,onClick:ie,onDoubleClick:Z,onKeyDown:M?ae:void 0,tabIndex:M?0:void 0,onFocus:M?ee:void 0,role:(j=h.ariaRole)!=null?j:M?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${ul}-${p}`,"aria-label":h.ariaLabel,...h.domAttributes,children:a.jsx(Yh,{value:e,children:a.jsx(C,{id:e,data:h.data,type:w,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(R=h.selected)!=null?R:!1,selectable:E,draggable:k,deletable:(ce=h.deletable)!=null?ce:!0,isConnectable:_,sourcePosition:h.sourcePosition,targetPosition:h.targetPosition,dragging:P,dragHandle:h.dragHandle,zIndex:x.z,parentId:h.parentId,...D})})})}var hp=N.memo(fp);const pp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Hl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=xe(pp,Ce),l=cp(e.onlyRenderVisibleElements),r=mp();return a.jsx("div",{className:"react-flow__nodes",style:Ri,children:l.map(d=>a.jsx(hp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Hl.displayName="NodeRenderer";const gp=N.memo(Hl);function yp(e){return xe(N.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&bf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),Ce)}const xp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Sp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Fl={[Pn.Arrow]:xp,[Pn.ArrowClosed]:Sp};function wp(e){const n=Ae();return N.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Fl,e)?Fl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",Ge.error009(e)),null)},[e])}const Np=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=wp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Kl=({defaultColor:e,rfId:n})=>{const i=xe(t=>t.edges),o=xe(t=>t.defaultEdgeOptions),s=N.useMemo(()=>xf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(Np,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Kl.displayName="MarkerDefinitions";var Cp=N.memo(Kl);function Vl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...b}){const[c,m]=N.useState({x:1,y:0,width:0,height:0}),f=Be(["react-flow__edge-textwrapper",u]),v=N.useRef(null);return N.useEffect(()=>{if(v.current){const p=v.current.getBBox();m({x:p.x,y:p.y,width:p.width,height:p.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-c.width/2} ${n-c.height/2})`,className:f,visibility:c.width?"visible":"hidden",...b,children:[s&&a.jsx("rect",{width:c.width+2*l[0],x:-l[0],y:-l[1],height:c.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Vl.displayName="EdgeText";const Ap=N.memo(Vl);function no({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...b}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...b,d:e,fill:"none",className:Be(["react-flow__edge-path",b.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&je(n)&&je(i)?a.jsx(Ap,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Gl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===be.Left||e===be.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function zl({sourceX:e,sourceY:n,sourcePosition:i=be.Bottom,targetX:o,targetY:s,targetPosition:t=be.Top}){const[l,r]=Gl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Gl({pos:t,x1:o,y1:s,x2:e,y2:n}),[b,c,m,f]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,b,c,m,f]}function $l(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:p,markerStart:S,interactionWidth:g})=>{const[y,h,x]=zl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),A=e.isInternal?void 0:n;return a.jsx(no,{id:A,path:y,labelX:h,labelY:x,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:p,markerStart:S,interactionWidth:g})})}const kp=$l({isInternal:!1}),Wl=$l({isInternal:!0});kp.displayName="SimpleBezierEdge",Wl.displayName="SimpleBezierEdgeInternal";function jl(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,sourcePosition:f=be.Bottom,targetPosition:v=be.Top,markerEnd:p,markerStart:S,pathOptions:g,interactionWidth:y})=>{const[h,x,A]=is({sourceX:i,sourceY:o,sourcePosition:f,targetX:s,targetY:t,targetPosition:v,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset,stepPosition:g==null?void 0:g.stepPosition}),w=e.isInternal?void 0:n;return a.jsx(no,{id:w,path:h,labelX:x,labelY:A,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:p,markerStart:S,interactionWidth:y})})}const Ul=jl({isInternal:!1}),ql=jl({isInternal:!0});Ul.displayName="SmoothStepEdge",ql.displayName="SmoothStepEdgeInternal";function Yl(e){return N.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(Ul,{...i,id:o,pathOptions:N.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const Ep=Yl({isInternal:!1}),Jl=Yl({isInternal:!0});Ep.displayName="StepEdge",Jl.displayName="StepEdgeInternal";function Zl(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:p})=>{const[S,g,y]=Lt({sourceX:i,sourceY:o,targetX:s,targetY:t}),h=e.isInternal?void 0:n;return a.jsx(no,{id:h,path:S,labelX:g,labelY:y,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:p})})}const Mp=Zl({isInternal:!1}),Xl=Zl({isInternal:!0});Mp.displayName="StraightEdge",Xl.displayName="StraightEdgeInternal";function Ql(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=be.Bottom,targetPosition:r=be.Top,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:p,markerStart:S,pathOptions:g,interactionWidth:y})=>{const[h,x,A]=Tt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:g==null?void 0:g.curvature}),w=e.isInternal?void 0:n;return a.jsx(no,{id:w,path:h,labelX:x,labelY:A,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:p,markerStart:S,interactionWidth:y})})}const Tp=Ql({isInternal:!1}),Rl=Ql({isInternal:!0});Tp.displayName="BezierEdge",Rl.displayName="BezierEdgeInternal";const er={default:Rl,straight:Xl,step:Jl,smoothstep:ql,simplebezier:Wl},nr={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Pp=(e,n,i)=>i===be.Left?e-n:i===be.Right?e+n:e,Lp=(e,n,i)=>i===be.Top?e-n:i===be.Bottom?e+n:e,ir="react-flow__edgeupdater";function or({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Be([ir,`${ir}-${r}`]),cx:Pp(n,o,e),cy:Lp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Bp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:b,onReconnectEnd:c,setReconnecting:m,setUpdateHover:f}){const v=Ae(),p=(x,A)=>{if(x.button!==0)return;const{autoPanOnConnect:w,domNode:C,connectionMode:k,connectionRadius:E,lib:_,onConnectStart:M,cancelConnection:L,nodeLookup:H,rfId:T,panBy:P,updateConnection:I}=v.getState(),D=A.type==="target",O=(U,K)=>{m(!1),c==null||c(U,i,A.type,K)},B=U=>u==null?void 0:u(i,U),G=(U,K)=>{m(!0),b==null||b(x,i,A.type),M==null||M(U,K)};cs.onPointerDown(x.nativeEvent,{autoPanOnConnect:w,connectionMode:k,connectionRadius:E,domNode:C,handleId:A.id,nodeId:A.nodeId,nodeLookup:H,isTarget:D,edgeUpdaterType:A.type,lib:_,flowId:T,cancelConnection:L,panBy:P,isValidConnection:(...U)=>{var K,$,Z;return(Z=($=(K=v.getState()).isValidConnection)==null?void 0:$.call(K,...U))!=null?Z:!0},onConnect:B,onConnectStart:G,onConnectEnd:(...U)=>{var K,$;return($=(K=v.getState()).onConnectEnd)==null?void 0:$.call(K,...U)},onReconnectEnd:O,updateConnection:I,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},S=x=>{var A;return p(x,{nodeId:i.target,id:(A=i.targetHandle)!=null?A:null,type:"target"})},g=x=>{var A;return p(x,{nodeId:i.source,id:(A=i.sourceHandle)!=null?A:null,type:"source"})},y=()=>f(!0),h=()=>f(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(or,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:S,onMouseEnter:y,onMouseOut:h,type:"source"}),(e===!0||e==="target")&&a.jsx(or,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:g,onMouseEnter:y,onMouseOut:h,type:"target"})]})}function Ip({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,rfId:v,edgeTypes:p,noPanClassName:S,onError:g,disableKeyboardA11y:y}){var Q,te;let h=xe(X=>X.edgeLookup.get(e));const x=xe(X=>X.defaultEdgeOptions);h=x?{...x,...h}:h;let A=h.type||"default",w=(p==null?void 0:p[A])||er[A];w===void 0&&(g==null||g("011",Ge.error011(A)),A="default",w=(p==null?void 0:p.default)||er.default);const C=!!(h.focusable||n&&typeof h.focusable=="undefined"),k=typeof c!="undefined"&&(h.reconnectable||i&&typeof h.reconnectable=="undefined"),E=!!(h.selectable||o&&typeof h.selectable=="undefined"),_=N.useRef(null),[M,L]=N.useState(!1),[H,T]=N.useState(!1),P=Ae(),{zIndex:I=h.zIndex,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:U,targetPosition:K}=xe(N.useCallback(X=>{const F=X.nodeLookup.get(h.source),Y=X.nodeLookup.get(h.target);if(!F||!Y)return nr;const z=yf({id:e,sourceNode:F,targetNode:Y,sourceHandle:h.sourceHandle||null,targetHandle:h.targetHandle||null,connectionMode:X.connectionMode,onError:g}),W=cf({selected:h.selected,zIndex:h.zIndex,sourceNode:F,targetNode:Y,elevateOnSelect:X.elevateEdgesOnSelect,zIndexMode:X.zIndexMode});return{...z||nr,zIndex:W}},[h.source,h.target,h.sourceHandle,h.targetHandle,h.selected,h.zIndex]),Ce),$=N.useMemo(()=>h.markerStart?`url('#${os(h.markerStart,v)}')`:void 0,[h.markerStart,v]),Z=N.useMemo(()=>h.markerEnd?`url('#${os(h.markerEnd,v)}')`:void 0,[h.markerEnd,v]);if(h.hidden||D===null||O===null||B===null||G===null)return null;const ie=X=>{var W;const{addSelectedEdges:F,unselectNodesAndEdges:Y,multiSelectionActive:z}=P.getState();E&&(P.setState({nodesSelectionActive:!1}),h.selected&&z?(Y({nodes:[],edges:[h]}),(W=_.current)==null||W.blur()):F([e])),s&&s(X,h)},ae=t?X=>{t(X,{...h})}:void 0,ee=l?X=>{l(X,{...h})}:void 0,j=r?X=>{r(X,{...h})}:void 0,R=d?X=>{d(X,{...h})}:void 0,ce=u?X=>{u(X,{...h})}:void 0,V=X=>{var F;if(!y&&lt.includes(X.key)&&E){const{unselectNodesAndEdges:Y,addSelectedEdges:z}=P.getState();X.key==="Escape"?((F=_.current)==null||F.blur(),Y({edges:[h]})):z([e])}};return a.jsx("svg",{style:{zIndex:I},children:a.jsxs("g",{className:Be(["react-flow__edge",`react-flow__edge-${A}`,h.className,S,{selected:h.selected,animated:h.animated,inactive:!E&&!s,updating:M,selectable:E}]),onClick:ie,onDoubleClick:ae,onContextMenu:ee,onMouseEnter:j,onMouseMove:R,onMouseLeave:ce,onKeyDown:C?V:void 0,tabIndex:C?0:void 0,role:(Q=h.ariaRole)!=null?Q:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":h.ariaLabel===null?void 0:h.ariaLabel||`Edge from ${h.source} to ${h.target}`,"aria-describedby":C?`${cl}-${v}`:void 0,ref:_,...h.domAttributes,children:[!H&&a.jsx(w,{id:e,source:h.source,target:h.target,type:h.type,selected:h.selected,animated:h.animated,selectable:E,deletable:(te=h.deletable)!=null?te:!0,label:h.label,labelStyle:h.labelStyle,labelShowBg:h.labelShowBg,labelBgStyle:h.labelBgStyle,labelBgPadding:h.labelBgPadding,labelBgBorderRadius:h.labelBgBorderRadius,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:U,targetPosition:K,data:h.data,style:h.style,sourceHandleId:h.sourceHandle,targetHandleId:h.targetHandle,markerStart:$,markerEnd:Z,pathOptions:"pathOptions"in h?h.pathOptions:void 0,interactionWidth:h.interactionWidth}),k&&a.jsx(Bp,{edge:h,isReconnectable:k,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:U,targetPosition:K,setUpdateHover:L,setReconnecting:T})]})})}var Dp=N.memo(Ip);const _p=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function sr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:b,reconnectRadius:c,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,disableKeyboardA11y:p}){const{edgesFocusable:S,edgesReconnectable:g,elementsSelectable:y,onError:h}=xe(_p,Ce),x=yp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(Cp,{defaultColor:e,rfId:i}),x.map(A=>a.jsx(Dp,{id:A,edgesFocusable:S,edgesReconnectable:g,elementsSelectable:y,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:b,reconnectRadius:c,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,rfId:i,onError:h,edgeTypes:o,disableKeyboardA11y:p},A))]})}sr.displayName="EdgeRenderer";const Op=N.memo(sr),Hp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Fp({children:e}){const n=xe(Hp);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Kp(e){const n=gs(),i=N.useRef(!1);N.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Vp=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Gp(e){const n=xe(Vp),i=Ae();return N.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function zp(e){return e.connection.inProgress?{...e.connection,to:ti(e.connection.to,e.transform)}:{...e.connection}}function $p(e){return zp}function Wp(e){const n=$p();return xe(n,Ce)}const jp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Up({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=xe(jp,Ce);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Be(["react-flow__connection",ct(r)]),children:a.jsx(ar,{style:n,type:i,CustomComponent:o,isValid:r})})})}const ar=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:b,toHandle:c,toPosition:m,pointer:f}=Wp();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:ct(o),toNode:b,toHandle:c,pointer:f});let v="";const p={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[v]=Tt(p);break;case ln.SimpleBezier:[v]=zl(p);break;case ln.Step:[v]=is({...p,borderRadius:0});break;case ln.SmoothStep:[v]=is(p);break;default:[v]=Lt(p)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ar.displayName="ConnectionLine";const qp={};function tr(e=qp){const n=N.useRef(e),i=Ae();N.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Ge.error002());break}n.current=e}},[e])}function Yp(){const e=Ae(),n=N.useRef(!1);N.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Ge.error013("react"))),n.current=!0}},[])}function lr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,onSelectionContextMenu:c,onSelectionStart:m,onSelectionEnd:f,connectionLineType:v,connectionLineStyle:p,connectionLineComponent:S,connectionLineContainerStyle:g,selectionKeyCode:y,selectionOnDrag:h,selectionMode:x,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,deleteKeyCode:k,onlyRenderVisibleElements:E,elementsSelectable:_,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,preventScrolling:P,defaultMarkerColor:I,zoomOnScroll:D,zoomOnPinch:O,panOnScroll:B,panOnScrollSpeed:G,panOnScrollMode:U,zoomOnDoubleClick:K,panOnDrag:$,autoPanOnSelection:Z,onPaneClick:ie,onPaneMouseEnter:ae,onPaneMouseMove:ee,onPaneMouseLeave:j,onPaneScroll:R,onPaneContextMenu:ce,paneClickDistance:V,nodeClickDistance:Q,onEdgeContextMenu:te,onEdgeMouseEnter:X,onEdgeMouseMove:F,onEdgeMouseLeave:Y,reconnectRadius:z,onReconnect:W,onReconnectStart:q,onReconnectEnd:le,noDragClassName:J,noWheelClassName:re,noPanClassName:oe,disableKeyboardA11y:se,nodeExtent:pe,rfId:ye,viewport:he,onViewportChange:ke}){return tr(e),tr(n),Yp(),Kp(i),Gp(he),a.jsx(dp,{onPaneClick:ie,onPaneMouseEnter:ae,onPaneMouseMove:ee,onPaneMouseLeave:j,onPaneContextMenu:ce,onPaneScroll:R,paneClickDistance:V,deleteKeyCode:k,selectionKeyCode:y,selectionOnDrag:h,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:D,zoomOnPinch:O,zoomOnDoubleClick:K,panOnScroll:B,panOnScrollSpeed:G,panOnScrollMode:U,panOnDrag:$,autoPanOnSelection:Z,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,onSelectionContextMenu:c,preventScrolling:P,noDragClassName:J,noWheelClassName:re,noPanClassName:oe,disableKeyboardA11y:se,onViewportChange:ke,isControlledViewport:!!he,children:a.jsxs(Fp,{children:[a.jsx(Op,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:W,onReconnectStart:q,onReconnectEnd:le,onlyRenderVisibleElements:E,onEdgeContextMenu:te,onEdgeMouseEnter:X,onEdgeMouseMove:F,onEdgeMouseLeave:Y,reconnectRadius:z,defaultMarkerColor:I,noPanClassName:oe,disableKeyboardA11y:se,rfId:ye}),a.jsx(Up,{style:p,type:v,component:S,containerStyle:g}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(gp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,nodeClickDistance:Q,onlyRenderVisibleElements:E,noPanClassName:oe,noDragClassName:J,disableKeyboardA11y:se,nodeExtent:pe,rfId:ye}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}lr.displayName="GraphView";const Jp=N.memo(lr),Zp=yt("React Flow","https://reactflow.dev/"),rr=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:b,nodeExtent:c,zIndexMode:m="basic"}={})=>{var C,k,E;const f=new Map,v=new Map,p=new Map,S=new Map,g=(C=o!=null?o:n)!=null?C:[],y=(k=i!=null?i:e)!=null?k:[],h=b!=null?b:[0,0],x=c!=null?c:ei;Vt(p,S,g);const{nodesInitialized:A}=ls(y,f,v,{nodeOrigin:h,nodeExtent:x,zIndexMode:m});let w=[0,0,1];if(l&&s&&t){const _=oi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:M,y:L,zoom:H}=es(_,s,t,d,u,(E=r==null?void 0:r.padding)!=null?E:.1);w=[M,L,H]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:w,nodes:y,nodesInitialized:A,nodeLookup:f,parentLookup:v,edges:g,edgeLookup:S,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:ei,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Tn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:h,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...dt},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Zp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:rt,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Xp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m})=>uh((f,v)=>{async function p(){const{nodeLookup:S,panZoom:g,fitViewOptions:y,fitViewResolver:h,width:x,height:A,minZoom:w,maxZoom:C}=v();g&&(await sf({nodes:S,width:x,height:A,panZoom:g,minZoom:w,maxZoom:C},y),h==null||h.resolve(!0),f({fitViewResolver:null}))}return{...rr({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:S=>{const{nodeLookup:g,parentLookup:y,nodeOrigin:h,elevateNodesOnSelect:x,fitViewQueued:A,zIndexMode:w,nodesSelectionActive:C}=v(),{nodesInitialized:k,hasSelectedNodes:E}=ls(S,g,y,{nodeOrigin:h,nodeExtent:c,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:w}),_=C&&E;A&&k?(p(),f({nodes:S,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:_})):f({nodes:S,nodesInitialized:k,nodesSelectionActive:_})},setEdges:S=>{const{connectionLookup:g,edgeLookup:y}=v();Vt(g,y,S),f({edges:S})},setDefaultNodesAndEdges:(S,g)=>{if(S){const{setNodes:y}=v();y(S),f({hasDefaultNodes:!0})}if(g){const{setEdges:y}=v();y(g),f({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:g,nodeLookup:y,parentLookup:h,domNode:x,nodeOrigin:A,nodeExtent:w,debug:C,fitViewQueued:k,zIndexMode:E}=v(),{changes:_,updatedInternals:M}=Ef(S,y,h,x,A,w,E);M&&(Nf(y,h,{nodeOrigin:A,nodeExtent:w,zIndexMode:E}),k?(p(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(_==null?void 0:_.length)>0&&(C&&console.log("React Flow: trigger node changes",_),g==null||g(_)))},updateNodePositions:(S,g=!1)=>{var E,_;const y=[];let h=[];const{nodeLookup:x,triggerNodeChanges:A,connection:w,updateConnection:C,onNodesChangeMiddlewareMap:k}=v();for(const[M,L]of S){const H=x.get(M),T=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(L!=null&&L.position)),P={id:M,type:"position",position:T?{x:Math.max(0,L.position.x),y:Math.max(0,L.position.y)}:L.position,dragging:g};if(H&&w.inProgress&&w.fromNode.id===H.id){const I=yn(H,w.fromHandle,be.Left,!0);C({...w,from:I})}T&&H.parentId&&y.push({id:M,parentId:H.parentId,rect:{...L.internals.positionAbsolute,width:(E=L.measured.width)!=null?E:0,height:(_=L.measured.height)!=null?_:0}}),h.push(P)}if(y.length>0){const{parentLookup:M,nodeOrigin:L}=v(),H=ds(y,x,M,L);h.push(...H)}for(const M of k.values())h=M(h);A(h)},triggerNodeChanges:S=>{const{onNodesChange:g,setNodes:y,nodes:h,hasDefaultNodes:x,debug:A}=v();if(S!=null&&S.length){if(x){const w=Sl(S,h);y(w)}A&&console.log("React Flow: trigger node changes",S),g==null||g(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:g,setEdges:y,edges:h,hasDefaultEdges:x,debug:A}=v();if(S!=null&&S.length){if(x){const w=wl(S,h);y(w)}A&&console.log("React Flow: trigger edge changes",S),g==null||g(S)}},addSelectedNodes:S=>{const{multiSelectionActive:g,edgeLookup:y,nodeLookup:h,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const w=S.map(C=>xn(C,!0));x(w);return}x(On(h,new Set([...S]),!0)),A(On(y))},addSelectedEdges:S=>{const{multiSelectionActive:g,edgeLookup:y,nodeLookup:h,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const w=S.map(C=>xn(C,!0));A(w);return}A(On(y,new Set([...S]))),x(On(h,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:g}={})=>{const{edges:y,nodes:h,nodeLookup:x,triggerNodeChanges:A,triggerEdgeChanges:w}=v(),C=S||h,k=g||y,E=[];for(const M of C){if(!M.selected)continue;const L=x.get(M.id);L&&(L.selected=!1),E.push(xn(M.id,!1))}const _=[];for(const M of k)M.selected&&_.push(xn(M.id,!1));A(E),w(_)},setMinZoom:S=>{const{panZoom:g,maxZoom:y}=v();g==null||g.setScaleExtent([S,y]),f({minZoom:S})},setMaxZoom:S=>{const{panZoom:g,minZoom:y}=v();g==null||g.setScaleExtent([y,S]),f({maxZoom:S})},setTranslateExtent:S=>{var g;(g=v().panZoom)==null||g.setTranslateExtent(S),f({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:g,triggerNodeChanges:y,triggerEdgeChanges:h,elementsSelectable:x}=v();if(!x)return;const A=g.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]),w=S.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]);y(A),h(w)},setNodeExtent:S=>{const{nodes:g,nodeLookup:y,parentLookup:h,nodeOrigin:x,elevateNodesOnSelect:A,nodeExtent:w,zIndexMode:C}=v();S[0][0]===w[0][0]&&S[0][1]===w[0][1]&&S[1][0]===w[1][0]&&S[1][1]===w[1][1]||(ls(g,y,h,{nodeOrigin:x,nodeExtent:S,elevateNodesOnSelect:A,checkEquality:!1,zIndexMode:C}),f({nodeExtent:S}))},panBy:S=>{const{transform:g,width:y,height:h,panZoom:x,translateExtent:A}=v();return Mf({delta:S,panZoom:x,transform:g,translateExtent:A,width:y,height:h})},setCenter:async(S,g,y)=>{const{width:h,height:x,maxZoom:A,panZoom:w}=v();if(!w)return!1;const C=typeof(y==null?void 0:y.zoom)!="undefined"?y.zoom:A;return await w.setViewport({x:h/2-S*C,y:x/2-g*C,zoom:C},{duration:y==null?void 0:y.duration,ease:y==null?void 0:y.ease,interpolate:y==null?void 0:y.interpolate}),!0},cancelConnection:()=>{f({connection:{...dt}})},updateConnection:S=>{f({connection:S})},reset:()=>f({...rr()})}},Object.is);function Qp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m,children:f}){const[v]=N.useState(()=>Xp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:b,nodeExtent:c,zIndexMode:m}));return a.jsx(ch,{value:v,children:a.jsx(_h,{children:a.jsx(Zh,{children:f})})})}function Rp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f}){return N.useContext(Zi)?a.jsx(a.Fragment,{children:e}):a.jsx(Qp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f,children:e})}const eg={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ng({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:b,onMoveStart:c,onMoveEnd:m,onConnect:f,onConnectStart:v,onConnectEnd:p,onClickConnectStart:S,onClickConnectEnd:g,onNodeMouseEnter:y,onNodeMouseMove:h,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:w,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onSelectionChange:H,onSelectionDragStart:T,onSelectionDrag:P,onSelectionDragStop:I,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onBeforeDelete:G,connectionMode:U,connectionLineType:K=ln.Bezier,connectionLineStyle:$,connectionLineComponent:Z,connectionLineContainerStyle:ie,deleteKeyCode:ae="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:j=!1,selectionMode:R=ni.Full,panActivationKeyCode:ce="Space",multiSelectionKeyCode:V=li()?"Meta":"Control",zoomActivationKeyCode:Q=li()?"Meta":"Control",snapToGrid:te,snapGrid:X,onlyRenderVisibleElements:F=!1,selectNodesOnDrag:Y,nodesDraggable:z,autoPanOnNodeFocus:W,nodesConnectable:q,nodesFocusable:le,nodeOrigin:J=ml,edgesFocusable:re,edgesReconnectable:oe,elementsSelectable:se=!0,defaultViewport:pe=Ch,minZoom:ye=.5,maxZoom:he=2,translateExtent:ke=ei,preventScrolling:me=!0,nodeExtent:de,defaultMarkerColor:Ie="#b1b1b7",zoomOnScroll:Te=!0,zoomOnPinch:_e=!0,panOnScroll:Oe=!1,panOnScrollSpeed:Ne=.5,panOnScrollMode:Pe=hn.Free,zoomOnDoubleClick:De=!0,panOnDrag:cn=!0,onPaneClick:Og,onPaneMouseEnter:Hg,onPaneMouseMove:Fg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg=1,nodeClickDistance:$g=0,children:Wg,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg=10,onNodesChange:e0,onEdgesChange:n0,noDragClassName:i0="nodrag",noWheelClassName:o0="nowheel",noPanClassName:mr="nopan",fitView:vr,fitViewOptions:fr,connectOnClick:s0,attributionPosition:a0,proOptions:t0,defaultEdgeOptions:l0,elevateNodesOnSelect:r0=!0,elevateEdgesOnSelect:d0=!1,disableKeyboardA11y:hr=!1,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanOnSelection:b0=!0,autoPanSpeed:m0,connectionRadius:v0,isValidConnection:f0,onError:h0,style:p0,id:pr,nodeDragThreshold:g0,connectionDragThreshold:y0,viewport:x0,onViewportChange:S0,width:w0,height:N0,colorMode:C0="light",debug:A0,onScroll:oo,ariaLabelConfig:k0,zIndexMode:gr="basic",...E0},M0){const Ns=pr||"1",T0=Eh(C0),P0=N.useCallback(yr=>{yr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),oo==null||oo(yr)},[oo]);return a.jsx("div",{"data-testid":"rf__wrapper",...E0,onScroll:P0,style:{...p0,...eg},ref:M0,className:Be(["react-flow",s,T0]),id:pr,role:"application",children:a.jsxs(Rp,{nodes:e,edges:n,width:w0,height:N0,fitView:vr,fitViewOptions:fr,minZoom:ye,maxZoom:he,nodeOrigin:J,nodeExtent:de,zIndexMode:gr,children:[a.jsx(kh,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:v,onConnectEnd:p,onClickConnectStart:S,onClickConnectEnd:g,nodesDraggable:z,autoPanOnNodeFocus:W,nodesConnectable:q,nodesFocusable:le,edgesFocusable:re,edgesReconnectable:oe,elementsSelectable:se,elevateNodesOnSelect:r0,elevateEdgesOnSelect:d0,minZoom:ye,maxZoom:he,nodeExtent:de,onNodesChange:e0,onEdgesChange:n0,snapToGrid:te,snapGrid:X,connectionMode:U,translateExtent:ke,connectOnClick:s0,defaultEdgeOptions:l0,fitView:vr,fitViewOptions:fr,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onSelectionDrag:P,onSelectionDragStart:T,onSelectionDragStop:I,onMove:b,onMoveStart:c,onMoveEnd:m,noPanClassName:mr,nodeOrigin:J,rfId:Ns,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanSpeed:m0,onError:h0,connectionRadius:v0,isValidConnection:f0,selectNodesOnDrag:Y,nodeDragThreshold:g0,connectionDragThreshold:y0,onBeforeDelete:G,debug:A0,ariaLabelConfig:k0,zIndexMode:gr}),a.jsx(Jp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:y,onNodeMouseMove:h,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:w,nodeTypes:t,edgeTypes:l,connectionLineType:K,connectionLineStyle:$,connectionLineComponent:Z,connectionLineContainerStyle:ie,selectionKeyCode:ee,selectionOnDrag:j,selectionMode:R,deleteKeyCode:ae,multiSelectionKeyCode:V,panActivationKeyCode:ce,zoomActivationKeyCode:Q,onlyRenderVisibleElements:F,defaultViewport:pe,translateExtent:ke,minZoom:ye,maxZoom:he,preventScrolling:me,zoomOnScroll:Te,zoomOnPinch:_e,zoomOnDoubleClick:De,panOnScroll:Oe,panOnScrollSpeed:Ne,panOnScrollMode:Pe,panOnDrag:cn,autoPanOnSelection:b0,onPaneClick:Og,onPaneMouseEnter:Hg,onPaneMouseMove:Fg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg,nodeClickDistance:$g,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg,defaultMarkerColor:Ie,noDragClassName:i0,noWheelClassName:o0,noPanClassName:mr,rfId:Ns,disableKeyboardA11y:hr,nodeExtent:de,viewport:x0,onViewportChange:S0}),a.jsx(Nh,{onSelectionChange:H}),Wg,a.jsx(gh,{proOptions:t0,position:a0}),a.jsx(ph,{rfId:Ns,disableKeyboardA11y:hr})]})})}var ig=kl(ng);function og(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>Sl(s,t)),[]);return[n,i,o]}function sg(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>wl(s,t)),[]);return[n,i,o]}function ag({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Be(["react-flow__background-pattern",i,o])})}function tg({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Be(["react-flow__background-pattern","dots",n])})}var un;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(un||(un={}));const lg={[un.Dots]:1,[un.Lines]:1,[un.Cross]:6},rg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function dr({id:e,variant:n=un.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:b}){const c=N.useRef(null),{transform:m,patternId:f}=xe(rg,Ce),v=o||lg[n],p=n===un.Dots,S=n===un.Cross,g=Array.isArray(i)?i:[i,i],y=[g[0]*m[2]||1,g[1]*m[2]||1],h=v*m[2],x=Array.isArray(t)?t:[t,t],A=S?[h,h]:y,w=[x[0]*m[2]||1+A[0]/2,x[1]*m[2]||1+A[1]/2],C=`${f}${e||""}`;return a.jsxs("svg",{className:Be(["react-flow__background",u]),style:{...d,...Ri,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%y[0],y:m[1]%y[1],width:y[0],height:y[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:p?a.jsx(tg,{radius:h/2,className:b}):a.jsx(ag,{dimensions:A,lineWidth:s,variant:n,className:b})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}dr.displayName="Background";const dg=N.memo(dr);function ug(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function cg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function bg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function mg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function vg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function io({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Be(["react-flow__controls-button",n]),...i,children:e})}const fg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ur({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:b,position:c="bottom-left",orientation:m="vertical","aria-label":f}){const v=Ae(),{isInteractive:p,minZoomReached:S,maxZoomReached:g,ariaLabelConfig:y}=xe(fg,Ce),{zoomIn:h,zoomOut:x,fitView:A}=gs(),w=()=>{h(),t==null||t()},C=()=>{x(),l==null||l()},k=()=>{A(s),r==null||r()},E=()=>{v.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),d==null||d(!p)},_=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Xi,{className:Be(["react-flow__controls",_,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:y["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(io,{onClick:w,className:"react-flow__controls-zoomin",title:y["controls.zoomIn.ariaLabel"],"aria-label":y["controls.zoomIn.ariaLabel"],disabled:g,children:a.jsx(ug,{})}),a.jsx(io,{onClick:C,className:"react-flow__controls-zoomout",title:y["controls.zoomOut.ariaLabel"],"aria-label":y["controls.zoomOut.ariaLabel"],disabled:S,children:a.jsx(cg,{})})]}),i&&a.jsx(io,{className:"react-flow__controls-fitview",onClick:k,title:y["controls.fitView.ariaLabel"],"aria-label":y["controls.fitView.ariaLabel"],children:a.jsx(bg,{})}),o&&a.jsx(io,{className:"react-flow__controls-interactive",onClick:E,title:y["controls.interactive.ariaLabel"],"aria-label":y["controls.interactive.ariaLabel"],children:p?a.jsx(vg,{}):a.jsx(mg,{})}),b]})}ur.displayName="Controls";const hg=N.memo(ur);function pg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:b,shapeRendering:c,selected:m,onClick:f}){const{background:v,backgroundColor:p}=t||{},S=l||v||p;return a.jsx("rect",{className:Be(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:b,ry:b,width:o,height:s,style:{fill:S,stroke:r,strokeWidth:d},shapeRendering:c,onClick:f?g=>f(g,e):void 0})}const gg=N.memo(pg),yg=e=>e.nodes.map(n=>n.id),ws=e=>e instanceof Function?e:()=>e;function xg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=gg,onClick:l}){const r=xe(yg,Ce),d=ws(n),u=ws(e),b=ws(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(wg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:b,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:c},m))})}function Sg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:b,y:c,width:m,height:f}=xe(v=>{const p=v.nodeLookup.get(e);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const S=p.internals.userNode,{x:g,y}=p.internals.positionAbsolute,{width:h,height:x}=sn(S);return{node:S,x:g,y,width:h,height:x}},Ce);return!u||u.hidden||!xt(u)?null:a.jsx(r,{x:b,y:c,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const wg=N.memo(Sg);var Ng=N.memo(xg);const Cg=200,Ag=150,kg=e=>!e.hidden,Eg=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?ht(oi(e.nodeLookup,{filter:kg}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Mg="react-flow__minimap-desc";function cr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:b,maskStrokeWidth:c,position:m="bottom-right",onClick:f,onNodeClick:v,pannable:p=!1,zoomable:S=!1,ariaLabel:g,inversePan:y,zoomStep:h=1,offsetScale:x=5}){var te,X;const A=Ae(),w=N.useRef(null),{boundingRect:C,viewBB:k,rfId:E,panZoom:_,translateExtent:M,flowWidth:L,flowHeight:H,ariaLabelConfig:T}=xe(Eg,Ce),P=(te=e==null?void 0:e.width)!=null?te:Cg,I=(X=e==null?void 0:e.height)!=null?X:Ag,D=C.width/P,O=C.height/I,B=Math.max(D,O),G=B*P,U=B*I,K=x*B,$=C.x-(G-C.width)/2-K,Z=C.y-(U-C.height)/2-K,ie=G+K*2,ae=U+K*2,ee=`${Mg}-${E}`,j=N.useRef(0),R=N.useRef();j.current=B,N.useEffect(()=>{if(w.current&&_)return R.current=Hf({domNode:w.current,panZoom:_,getTransform:()=>A.getState().transform,getViewScale:()=>j.current}),()=>{var F;(F=R.current)==null||F.destroy()}},[_]),N.useEffect(()=>{var F;(F=R.current)==null||F.update({translateExtent:M,width:L,height:H,inversePan:y,pannable:p,zoomStep:h,zoomable:S})},[p,S,y,h,M,L,H]);const ce=f?F=>{var W;const[Y,z]=((W=R.current)==null?void 0:W.pointer(F))||[0,0];f(F,{x:Y,y:z})}:void 0,V=v?N.useCallback((F,Y)=>{const z=A.getState().nodeLookup.get(Y).internals.userNode;v(F,z)},[]):void 0,Q=g!=null?g:T["minimap.ariaLabel"];return a.jsx(Xi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof b=="string"?b:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Be(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:P,height:I,viewBox:`${$} ${Z} ${ie} ${ae}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ee,ref:w,onClick:ce,children:[Q&&a.jsx("title",{id:ee,children:Q}),a.jsx(Ng,{onClick:V,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${$-K},${Z-K}h${ie+K*2}v${ae+K*2}h${-ie-K*2}z
76
+ M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}cr.displayName="MiniMap";const Tg=N.memo(cr),Pg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Lg={[_n.Line]:"right",[_n.Handle]:"bottom-right"};function Bg({nodeId:e,position:n,variant:i=_n.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:b=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:m,autoScale:f=!0,shouldResize:v,onResizeStart:p,onResize:S,onResizeEnd:g}){const y=Bl(),h=typeof e=="string"?e:y,x=Ae(),A=N.useRef(null),w=i===_n.Handle,C=xe(N.useCallback(Pg(w&&f),[w,f]),Ce),k=N.useRef(null),E=n!=null?n:Lg[i];N.useEffect(()=>{if(!(!A.current||!h))return k.current||(k.current=Zf({domNode:A.current,nodeId:h,getStoreItems:()=>{const{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,domNode:I}=x.getState();return{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,paneDomNode:I}},onChange:(M,L)=>{var G,U,K,$,Z,ie,ae;const{triggerNodeChanges:H,nodeLookup:T,parentLookup:P,nodeOrigin:I}=x.getState(),D=[],O={x:M.x,y:M.y},B=T.get(h);if(B&&B.expandParent&&B.parentId){const ee=(G=B.origin)!=null?G:I,j=(K=(U=M.width)!=null?U:B.measured.width)!=null?K:0,R=(Z=($=M.height)!=null?$:B.measured.height)!=null?Z:0,ce={id:B.id,parentId:B.parentId,rect:{width:j,height:R,...St({x:(ie=M.x)!=null?ie:B.position.x,y:(ae=M.y)!=null?ae:B.position.y},{width:j,height:R},B.parentId,T,ee)}},V=ds([ce],T,P,I);D.push(...V),O.x=M.x?Math.max(ee[0]*j,M.x):void 0,O.y=M.y?Math.max(ee[1]*R,M.y):void 0}if(O.x!==void 0&&O.y!==void 0){const ee={id:h,type:"position",position:{...O}};D.push(ee)}if(M.width!==void 0&&M.height!==void 0){const j={id:h,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};D.push(j)}for(const ee of L){const j={...ee,type:"position"};D.push(j)}H(D)},onEnd:({width:M,height:L})=>{const H={id:h,type:"dimensions",resizing:!1,dimensions:{width:M,height:L}};x.getState().triggerNodeChanges([H])}})),k.current.update({controlPosition:E,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:b},keepAspectRatio:c,resizeDirection:m,onResizeStart:p,onResize:S,onResizeEnd:g,shouldResize:v}),()=>{var M;(M=k.current)==null||M.destroy()}},[E,r,d,u,b,c,p,S,g,v]);const _=E.split("-");return a.jsx("div",{className:Be(["react-flow__resize-control","nodrag",..._,i,o]),ref:A,style:{...s,scale:C,...l&&{[w?"backgroundColor":"borderColor"]:l}},children:t})}N.memo(Bg);const br=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Ig={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Hn,{type:"target",position:n||be.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(ue,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Hn,{type:"source",position:i||be.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function Dg({formData:e}){const{nodes:n,edges:i}=N.useMemo(()=>{var m,f;const u=[],b=[];let c=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||m.forEach((v,p)=>{var w;const S=br[p%br.length],g=((w=v==null?void 0:v.questionData)==null?void 0:w.filter(C=>!(C!=null&&C.isDeleted)))||[],y=p*400,h=0,x=320,A=60+g.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${p+1}`},position:{x:y,y:h},style:{width:x,height:A,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),g.forEach((C,k)=>{const E=C.id;u.push({id:E,type:"customField",parentId:v.id,extent:"parent",targetPosition:be.Top,sourcePosition:be.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:S},position:{x:20,y:40+k*110}}),c&&!C.isHidden&&b.push({id:`e-${c}-${E}`,source:c,target:E,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(c=E)})}),(f=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||f.forEach(v=>{var p,S;(S=(p=v==null?void 0:v.questionData)==null?void 0:p.filter(g=>!(g!=null&&g.isDeleted)))==null||S.forEach(g=>{var y;g.isHidden&&((y=g.visibilityDependentFields)==null?void 0:y.length)>0&&g.visibilityDependentFields.forEach(h=>{b.push({id:`e-cond-${h.id}-${g.id}`,source:h.id,target:g.id,type:"smoothstep",animated:!0,label:`if ${h.operator} '${h.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:b}},[e]),[o,s,t]=og(n),[l,r,d]=sg(i);return N.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(ig,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Ig,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(dg,{color:"#e2e8f0",gap:16}),a.jsx(hg,{}),a.jsx(Tg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const _g=Object.freeze(Object.defineProperty({__proto__:null,default:Dg},Symbol.toStringTag,{value:"Module"}));Ee.FormBuilder=lc,Ee.FormViewer=Po,Object.defineProperty(Ee,Symbol.toStringTag,{value:"Module"})});