@arudovwen/form-builder-react 1.7.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-builder-react.css +1 -1
- package/dist/form-builder.es.js +1 -1
- package/dist/form-builder.umd.js +11 -11
- package/dist/{index-CvM58Lcf.js → index-h5u3VnI5.js} +844 -844
- package/dist/{logic-flow-BCnTaMDm.js → logic-flow-KtIPQ2fZ.js} +1 -1
- package/package.json +1 -1
- package/types/components/viewer/index.d.ts +5 -1
- package/types/pages/viewer/index.d.ts +5 -1
package/dist/form-builder.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(ge,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("react-datepicker"),require("@headlessui/react"),require("sonner"),require("axios"),require("react-currency-input-field"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("papaparse"),require("xlsx"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","react-datepicker","@headlessui/react","sonner","axios","react-currency-input-field","react-dom","react-hook-form","@hookform/resolvers","yup","papaparse","xlsx","react-router-dom"],t):(ge=typeof globalThis!="undefined"?globalThis:ge||self,t(ge.FormBuilder={},ge.jsxRuntime,ge.React,ge.uuid,ge.DatePicker,ge.react,ge.sonner,ge.axios,ge.CurrencyInput,ge.ReactDOM,ge.reactHookForm,ge.resolvers,ge.yup,ge.Papa,ge.XLSX,ge.reactRouterDom))})(this,function(ge,t,x,Ce,dr,le,Ee,Xe,ei,ur,Ve,fs,cr,mr,br,vr){"use strict";function ps(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 ee=ps(cr),gs=ps(br),Ae=x.createContext(void 0),ys={title:"",description:"",id:Ce.v4(),questionData:[],disabled:!1,isHidden:!1},xs=({children:e,onChange:n,onLogAction:i})=>{const[o,s]=x.useState(!0),[a,l]=x.useState({}),[r,d]=x.useState({}),[u,m]=x.useState([ys]),[c,b]=x.useState(()=>{try{const V=sessionStorage.getItem("editor_past");return V?JSON.parse(V):[]}catch(V){return[]}}),[v,h]=x.useState(()=>{try{const V=sessionStorage.getItem("editor_future");return V?JSON.parse(V):[]}catch(V){return[]}});x.useEffect(()=>{n&&n(u)},[u,n]),x.useEffect(()=>{sessionStorage.setItem("editor_past",JSON.stringify(c))},[c]),x.useEffect(()=>{sessionStorage.setItem("editor_future",JSON.stringify(v))},[v]);const p=x.useRef(Date.now()),g=x.useCallback(V=>{m(G=>{const H=typeof V=="function"?V(G):V;if(JSON.stringify(G)!==JSON.stringify(H)){const j=Date.now();b(F=>F.length>0&&JSON.stringify(F[F.length-1])===JSON.stringify(G)?F:j-p.current<800&&F.length>0?(p.current=j,F):(p.current=j,[...F,G])),h([])}return H})},[]),f=x.useCallback(()=>{if(c.length===0)return;const V=c[c.length-1],G=c.slice(0,c.length-1);b(G),h([u,...v]),m(V),i==null||i("UNDO",null)},[c,v,u,i]),N=x.useCallback(()=>{if(v.length===0)return;const V=v[0],G=v.slice(1);h(G),b([...c,u]),m(V),i==null||i("REDO",null)},[c,v,u,i]),y=u,S=c.length>0,w=v.length>0,[A,C]=x.useState(!1),[M,k]=x.useState(null),[I,P]=x.useState([0]),[T,O]=x.useState(""),[E,_]=x.useState(0),B=x.useCallback(()=>{},[]),K=x.useCallback(()=>{const V=Ce.v4();g(G=>[...G,{...ys,id:V}]),k(V),P([y.length]),i==null||i("ADD_SECTION",{sectionId:V})},[y,i,g]),D=x.useCallback(V=>{g(G=>G.filter(H=>H.id!==V)),k(null),i==null||i("REMOVE_SECTION",{sectionId:V})},[i,g]),L=x.useCallback((V,G)=>{const H=y.find(F=>F.id===G),j=H==null?void 0:H.questionData.find(F=>F.id===V);j&&(g(F=>F==null?void 0:F.map($=>$.id===G?{...$,questionData:$==null?void 0:$.questionData.filter(J=>j.type==="grid"?J.gridId!==j.id&&J.id!==j.id:J.id!==V)}:$)),i==null||i("REMOVE_ELEMENT",{sectionId:G,elementId:V}))},[y,g,i]),z=x.useCallback((V,G)=>{const H=y.find(J=>J.id===G);if(!H)return;const j=H==null?void 0:H.questionData.findIndex(J=>J.id===V);if(j===-1)return;const F=H==null?void 0:H.questionData[j],$=(J,R={})=>({...JSON.parse(JSON.stringify(J)),id:Ce.v4(),...R});g(J=>J==null?void 0:J.map(R=>{var oe;if(R.id!==G)return R;const Z=[...R.questionData];if(F.type==="grid"){const ue=(oe=Z==null?void 0:Z.map((pe,Ne)=>({e:pe,i:Ne})).filter(({e:pe})=>pe.id===F.id||pe.gridId===F.id))==null?void 0:oe.map(({i:pe})=>pe),ce=ue.length?Math.max(...ue)+1:j+1,me=Ce.v4(),Se=$(F,{});Se.id=me;const be=Z.filter(pe=>pe.gridId===F.id),we=be==null?void 0:be.map(pe=>$(pe,{gridId:me})),Me=[...Z.slice(0,ce),Se,...we,...Z.slice(ce)];return{...R,questionData:Me}}else if(F.gridId){const{gridId:ue,gridPosition:ce,...me}=F,Se=$(me,{}),be=Z.reduce((Me,pe,Ne)=>pe.id===F.gridId||pe.gridId===F.gridId?Ne:Me,j),we=[...Z.slice(0,be+1),Se,...Z.slice(be+1)];return{...R,questionData:we}}else{const ue=$(F,{}),ce=[...Z.slice(0,j+1),ue,...Z.slice(j+1)];return{...R,questionData:ce}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:G,elementId:V})},[y,g,i]),q=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map(j=>j.id===G?{...j,questionData:V}:j)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:G})},[g,i]),W=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map(j=>j.id===G?{...j,questionData:[...j==null?void 0:j.questionData,V]}:j)),i==null||i("ADD_ELEMENT",{sectionId:G,element:V})},[g,i]),Y=x.useCallback((V,G,H)=>{g(j=>j==null?void 0:j.map(F=>F.id===G?{...F,questionData:[...F==null?void 0:F.questionData.slice(0,H),V,...F==null?void 0:F.questionData.slice(H)]}:F)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:G,element:V,index:H})},[g,i]),X=x.useCallback((V,G,H)=>{g(j=>j==null?void 0:j.map(F=>{var $;return F.id===H?{...F,questionData:($=F==null?void 0:F.questionData)==null?void 0:$.map(J=>{var R;return J.type==="grid"&&J.gridData?{...J,gridData:(R=J.gridData)==null?void 0:R.map((Z,oe)=>oe===V?{...Z,...G}:Z).concat(V>=J.gridData.length?{...G}:[])}:J})}:F})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:H,gridIndex:V,element:G})},[g,i]),ne=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map(j=>{var F;return j.id===G?{...j,questionData:(F=j==null?void 0:j.questionData)==null?void 0:F.map($=>$.id===V.id?{...$,...V}:$)}:j})),i==null||i("UPDATE_ELEMENT",{sectionId:G,value:V})},[g,i]),se=x.useCallback(V=>{const{draggedId:G,sectionId:H,targetIndex:j,targetId:F,targetGridId:$,targetCol:J}=V;g(R=>R.map(Z=>{if(Z.id!==H)return Z;const oe=[...Z==null?void 0:Z.questionData],ue=oe.findIndex(me=>me.id===G);if(ue===-1)return Z;const ce={...oe[ue]};if($!==void 0&&J!==void 0){if(ce.type==="grid")return Z;const me=oe.findIndex(be=>{var we;return be.id!==G&&be.gridId===$&&((we=be.gridPosition)==null?void 0:we.col)===J});let Se=oe.map(be=>be.id===G?{...be,gridId:$,gridPosition:{col:J}}:be);return me!==-1&&(Se=Se.map((be,we)=>{if(we!==me)return be;const Me={...be};return delete Me.gridId,delete Me.gridPosition,Me})),{...Z,questionData:Se}}if(ce.gridId&&j!==void 0&&$===void 0){const me={...ce};delete me.gridId,delete me.gridPosition;const Se=oe.filter(we=>we.id!==G),be=Math.min(j,Se.length);return Se.splice(be,0,me),{...Z,questionData:Se}}if(!ce.gridId&&j!==void 0&&$===void 0&&!F){oe.splice(ue,1);const me=Math.min(j,oe.length);return oe.splice(me,0,ce),{...Z,questionData:oe}}if(F){const me=oe.findIndex(Se=>Se.id===F);return me===-1?Z:(oe.splice(ue,1),oe.splice(me,0,ce),{...Z,questionData:oe})}return Z})),i==null||i("MOVE_ELEMENT",V)},[g,i]),Q=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map(j=>j.id===G?{...j,...V}:j)),i==null||i("UPDATE_SECTION",{sectionId:G,value:V})},[g,i]),U=x.useMemo(()=>({formData:y,setFormData:g,handleDragStop:B,removeElement:L,elementData:r,setElementData:d,updateElementPosition:q,addElement:W,addElementInPosition:Y,updateElement:ne,addSection:K,removeSection:D,updateSection:Q,isDragging:A,setIsDragging:C,selectedSection:M,setSelectedSection:k,activeSections:I,setActiveSections:P,updateGridElement:X,answerData:a,setAnswerData:l,uploadUrl:T,setUploadUrl:O,apiActivityCount:E,setApiActivityCount:_,duplicateElement:z,moveElement:se,showPreview:o,setShowPreview:s,undo:f,redo:N,canUndo:S,canRedo:w}),[y,B,L,r,q,W,Y,ne,K,D,Q,A,M,I,X,a,T,E,z,se,o,f,N,S,w]);return t.jsx(Ae.Provider,{value:U,children:e})};function Ss(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=Ss(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function re(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ss(e))&&(o&&(o+=" "),o+=n);return o}function hr({type:e="calendar",className:n}){return t.jsx(t.Fragment,{children:e==="calendar"?t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[t.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.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"}),t.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[t.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.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"}),t.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.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 Ji=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:a="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=e?new Date(e):null,[m,c]=x.useState(u);x.useEffect(()=>{const v=e?new Date(e):null;(v&&m&&v.getTime()!==m.getTime()||!v&&m||v&&!m)&&c(v)},[e]),x.useEffect(()=>{n&&n(s,m)},[m,n,s]);const b=v=>{c(v)};return t.jsx("div",{className:"builder_date__picker",children:t.jsx(dr,{showIcon:!0,icon:t.jsx(hr,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:m,onChange:b,className:"field-control",portalId:"root-portal",placeholderText:a,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function fr({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let a;return s&&(a=s()[e.id]),x.useEffect(()=>{i(e.id)},[e.id]),t.jsx(Ji,{name:e.id,value:a,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})}function Zi({element:e,validationData:n}){var o;const{register:i=()=>({})}=n||{};return t.jsx("div",{children:t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:re("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly,inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((o=n==null?void 0:n.errors)!=null&&o[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function pr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function a(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&a(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(a),s}const ws=Object.freeze({left:0,top:0,width:16,height:16}),ni=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Xi=Object.freeze({...ws,...ni}),Qi=Object.freeze({...Xi,body:"",hidden:!1});function gr(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 Ns(e,n){const i=gr(e,n);for(const o in Qi)o in ni?o in e&&!(o in i)&&(i[o]=ni[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function yr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let a={};function l(r){a=Ns(o[r]||s[r],a)}return l(n),i.forEach(l),Ns(e,a)}function As(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=pr(e);for(const s in o){const a=o[s];a&&(n(s,yr(e,s,a)),i.push(s))}return i}const xr={provider:"",aliases:{},not_found:{},...ws};function Ri(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Cs(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ri(e,xr))return null;const i=n.icons;for(const s in i){const a=i[s];if(!s||typeof a.body!="string"||!Ri(a,Qi))return null}const o=n.aliases||Object.create(null);for(const s in o){const a=o[s],l=a.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!Ri(a,Qi))return null}return n}const ks=Object.create(null);function Sr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function dn(e,n){const i=ks[e]||(ks[e]=Object.create(null));return i[n]||(i[n]=Sr(e,n))}function Ms(e,n){return Cs(n)?As(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function wr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Es=/^[a-z0-9]+(-[a-z0-9]+)*$/,ii=(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&&!oi(u)?null:u}const a=s[0],l=a.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!oi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:a};return n&&!oi(r,i)?null:r}return null},oi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let En=!1;function Ts(e){return typeof e=="boolean"&&(En=e),En}function Ps(e){const n=typeof e=="string"?ii(e,!0,En):e;if(n){const i=dn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Nr(e,n){const i=ii(e,!0,En);if(!i)return!1;const o=dn(i.provider,i.prefix);return n?wr(o,i.name,n):(o.missing.add(i.name),!0)}function Ar(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),En&&!n&&!e.prefix){let s=!1;return Cs(e)&&(e.prefix="",As(e,(a,l)=>{Nr(a,l)&&(s=!0)})),s}const i=e.prefix;if(!oi({prefix:i,name:"a"}))return!1;const o=dn(n,i);return!!Ms(o,e)}const Ls=Object.freeze({width:null,height:null}),Bs=Object.freeze({...Ls,...ni}),Cr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,kr=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Is(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(Cr);if(o===null||!o.length)return e;const s=[];let a=o.shift(),l=kr.test(a);for(;;){if(l){const r=parseFloat(a);isNaN(r)?s.push(a):s.push(Math.ceil(r*n*i)/i)}else s.push(a);if(a=o.shift(),a===void 0)return s.join("");l=!l}}function Mr(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),a=e.indexOf("</"+n);if(s===-1||a===-1)break;const l=e.indexOf(">",a);if(l===-1)break;i+=e.slice(s+1,a).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Er(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Tr(e,n,i){const o=Mr(e);return Er(o.defs,n+o.content+i)}const Pr=e=>e==="unset"||e==="undefined"||e==="none";function Lr(e,n){const i={...Xi,...e},o={...Bs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let a=i.body;[i,o].forEach(p=>{const g=[],f=p.hFlip,N=p.vFlip;let y=p.rotate;f?N?y+=2:(g.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),g.push("scale(-1 1)"),s.top=s.left=0):N&&(g.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),g.push("scale(1 -1)"),s.top=s.left=0);let S;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:S=s.height/2+s.top,g.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:g.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:S=s.width/2+s.left,g.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}y%2===1&&(s.left!==s.top&&(S=s.left,s.left=s.top,s.top=S),s.width!==s.height&&(S=s.width,s.width=s.height,s.height=S)),g.length&&(a=Tr(a,'<g transform="'+g.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let m,c;l===null?(c=r===null?"1em":r==="auto"?u:r,m=Is(c,d/u)):(m=l==="auto"?d:l,c=r===null?Is(m,u/d):r==="auto"?u:r);const b={},v=(p,g)=>{Pr(g)||(b[p]=g.toString())};v("width",m),v("height",c);const h=[s.left,s.top,d,u];return b.viewBox=h.join(" "),{attributes:b,viewBox:h,body:a}}const Br=/\sid="(\S+)"/g,Ir="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Dr=0;function _r(e,n=Ir){const i=[];let o;for(;o=Br.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(a=>{const l=typeof n=="function"?n(a):n+(Dr++).toString(),r=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const eo=Object.create(null);function Or(e,n){eo[e]=n}function no(e){return eo[e]||eo[""]}function io(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 oo=Object.create(null),Tn=["https://api.simplesvg.com","https://api.unisvg.com"],si=[];for(;Tn.length>0;)Tn.length===1||Math.random()>.5?si.push(Tn.shift()):si.push(Tn.pop());oo[""]=io({resources:["https://api.iconify.design"].concat(si)});function Kr(e,n){const i=io(n);return i===null?!1:(oo[e]=i,!0)}function so(e){return oo[e]}let Ds=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function Hr(e,n){const i=so(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 a=n+".json?icons=";o=i.maxURL-s-i.path.length-a.length}return o}function Gr(e){return e===404}const Fr=(e,n,i)=>{const o=[],s=Hr(e,n),a="icons";let l={type:a,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:a,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Vr(e){if(typeof e=="string"){const n=so(e);if(n)return n.path}return"/"}const zr={prepare:Fr,send:(e,n,i)=>{if(!Ds){i("abort",424);return}let o=Vr(n.provider);switch(n.type){case"icons":{const a=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=a+".json?"+d.toString();break}case"custom":{const a=n.uri;o+=a.slice(0,1)==="/"?a.slice(1):a;break}default:i("abort",400);return}let s=503;Ds(e+o).then(a=>{const l=a.status;if(l!==200){setTimeout(()=>{i(Gr(l)?"abort":"next",l)});return}return s=501,a.json()}).then(a=>{if(typeof a!="object"||a===null){setTimeout(()=>{a===404?i("abort",a):i("next",s)});return}setTimeout(()=>{i("success",a)})}).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 Wr(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(a=>{const l=a.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],a.id),a.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),a.abort))})}))}let $r=0;function jr(e,n,i){const o=$r++,s=_s.bind(null,i,o);if(!n.pending.length)return s;const a={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(a)}),s}function Ur(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,a)=>s.provider!==a.provider?s.provider.localeCompare(a.provider):s.prefix!==a.prefix?s.prefix.localeCompare(a.prefix):s.name.localeCompare(a.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 a=s.provider,l=s.prefix,r=s.name,d=i[a]||(i[a]=Object.create(null)),u=d[l]||(d[l]=dn(a,l));let m;r in u.icons?m=n.loaded:l===""||u.missing.has(r)?m=n.missing:m=n.pending;const c={provider:a,prefix:l,name:r};m.push(c)}),n}function qr(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const a=typeof s=="string"?ii(s,n,i):s;a&&o.push(a)}),o}const Yr={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Jr(e,n,i,o){const s=e.resources.length,a=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let A=e.resources.slice(0);for(l=[];A.length>1;){const C=Math.floor(Math.random()*A.length);l.push(A[C]),A=A.slice(0,C).concat(A.slice(C+1))}l=l.concat(A)}else l=e.resources.slice(a).concat(e.resources.slice(0,a));const r=Date.now();let d="pending",u=0,m,c=null,b=[],v=[];typeof o=="function"&&v.push(o);function h(){c&&(clearTimeout(c),c=null)}function p(){d==="pending"&&(d="aborted"),h(),b.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),b=[]}function g(A,C){C&&(v=[]),typeof A=="function"&&v.push(A)}function f(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:b.length,subscribe:g,abort:p}}function N(){d="failed",v.forEach(A=>{A(void 0,m)})}function y(){b.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),b=[]}function S(A,C,M){const k=C!=="success";switch(b=b.filter(I=>I!==A),d){case"pending":break;case"failed":if(k||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){m=M,N();return}if(k){m=M,b.length||(l.length?w():N());return}if(h(),y(),!e.random){const I=e.resources.indexOf(A.resource);I!==-1&&I!==e.index&&(e.index=I)}d="completed",v.forEach(I=>{I(M)})}function w(){if(d!=="pending")return;h();const A=l.shift();if(A===void 0){if(b.length){c=setTimeout(()=>{h(),d==="pending"&&(y(),N())},e.timeout);return}N();return}const C={status:"pending",resource:A,callback:(M,k)=>{S(C,M,k)}};b.push(C),u++,c=setTimeout(w,e.rotate),i(A,n,C.callback)}return setTimeout(w),f}function Os(e){const n={...Yr,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const m=Jr(n,r,d,(c,b)=>{o(),u&&u(c,b)});return i.push(m),m}function a(r){return i.find(d=>r(d))||null}return{query:s,find:a,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function Ks(){}const ao=Object.create(null);function Zr(e){if(!ao[e]){const n=so(e);if(!n)return;const i=Os(n),o={config:n,redundancy:i};ao[e]=o}return ao[e]}function Xr(e,n,i){let o,s;if(typeof e=="string"){const a=no(e);if(!a)return i(void 0,424),Ks;s=a.send;const l=Zr(e);l&&(o=l.redundancy)}else{const a=io(e);if(a){o=Os(a);const l=e.resources?e.resources[0]:"",r=no(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Ks):o.query(n,s,i)().abort}function Hs(){}function Qr(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Wr(e)}))}function Rr(e){const n=[],i=[];return e.forEach(o=>{(o.match(Es)?n:i).push(o)}),{valid:n,invalid:i}}function Pn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(a=>{s&&s.delete(a),e.icons[a]||e.missing.add(a)})}if(i&&typeof i=="object")try{if(!Ms(e,i).length){o();return}}catch(s){console.error(s)}o(),Qr(e)}function Gs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function ed(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 a=e.loadIcon;if(e.loadIcons&&(s.length>1||!a)){Gs(e.loadIcons(s,o,i),m=>{Pn(e,s,m)});return}if(a){s.forEach(m=>{const c=a(m,o,i);Gs(c,b=>{const v=b?{prefix:o,icons:{[m]:b}}:null;Pn(e,[m],v)})});return}const{valid:l,invalid:r}=Rr(s);if(r.length&&Pn(e,r,null),!l.length)return;const d=o.match(Es)?no(i):null;if(!d){Pn(e,l,null);return}d.prepare(i,o,l).forEach(m=>{Xr(i,m,c=>{Pn(e,m.icons,c)})})}))}const nd=(e,n)=>{const i=qr(e,!0,Ts()),o=Ur(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Hs)}),()=>{d=!1}}const s=Object.create(null),a=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:m}=d;if(m===r&&u===l)return;l=u,r=m,a.push(dn(u,m));const c=s[u]||(s[u]=Object.create(null));c[m]||(c[m]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:m,name:c}=d,b=dn(u,m),v=b.pendingIcons||(b.pendingIcons=new Set);v.has(c)||(v.add(c),s[u][m].push(c))}),a.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&ed(d,u)}),n?jr(n,o,a):Hs};function id(e,n){const i={...e};for(const o in n){const s=n[o],a=typeof s;o in Ls?(s===null||s&&(a==="string"||a==="number"))&&(i[o]=s):a===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const od=/[\s,]+/;function sd(e,n){n.split(od).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function ad(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 a=parseFloat(e.slice(0,e.length-i.length));return isNaN(a)?0:(a=a/s,a%1===0?o(a):0)}}return n}function td(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 ld(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function rd(e){return"data:image/svg+xml,"+ld(e)}function dd(e){return'url("'+rd(e)+'")'}let Ln;function ud(){try{Ln=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Ln=null}}function cd(e){return Ln===void 0&&ud(),Ln?Ln.createHTML(e):e}const Fs={...Bs,inline:!1},md={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},bd={display:"inline-block"},to={backgroundColor:"currentColor"},Vs={backgroundColor:"transparent"},zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Ws={WebkitMask:to,mask:to,background:Vs};for(const e in Ws){const n=Ws[e];for(const i in zs)n[e+i]=zs[i]}const vd={...Fs,inline:!0};function $s(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const hd=(e,n,i)=>{const o=n.inline?vd:Fs,s=id(o,n),a=n.mode||"svg",l={},r=n.style||{},d={...a==="svg"?md:{}};if(i){const g=ii(i,!1,!0);if(g){const f=["iconify"],N=["provider","prefix"];for(const y of N)g[y]&&f.push("iconify--"+g[y]);d.className=f.join(" ")}}for(let g in n){const f=n[g];if(f!==void 0)switch(g){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=f;break;case"className":d[g]=(d[g]?d[g]+" ":"")+f;break;case"inline":case"hFlip":case"vFlip":s[g]=f===!0||f==="true"||f===1;break;case"flip":typeof f=="string"&&sd(s,f);break;case"color":l.color=f;break;case"rotate":typeof f=="string"?s[g]=ad(f):typeof f=="number"&&(s[g]=f);break;case"ariaHidden":case"aria-hidden":f!==!0&&f!=="true"&&delete d["aria-hidden"];break;default:o[g]===void 0&&(d[g]=f)}}const u=Lr(e,s),m=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),a==="svg"){d.style={...l,...r},Object.assign(d,m);let g=0,f=n.id;return typeof f=="string"&&(f=f.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:cd(_r(u.body,f?()=>f+"ID"+g++:"iconifyReact"))},x.createElement("svg",d)}const{body:c,width:b,height:v}=e,h=a==="mask"||(a==="bg"?!1:c.indexOf("currentColor")!==-1),p=td(c,{...m,width:b+"",height:v+""});return d.style={...l,"--svg":dd(p),width:$s(m.width),height:$s(m.height),...bd,...h?to:Vs,...r},x.createElement("span",d)};if(Ts(!0),Or("",zr),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"||!Ar(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;Kr(i,s)||console.error(o)}catch(s){console.error(o)}}}}function js(e){const[n,i]=x.useState(!!e.ssr),[o,s]=x.useState({});function a(v){if(v){const h=e.icon;if(typeof h=="object")return{name:"",data:h};const p=Ps(h);if(p)return{name:h,data:p}}return{name:""}}const[l,r]=x.useState(a(!!e.ssr));function d(){const v=o.callback;v&&(v(),s({}))}function u(v){if(JSON.stringify(l)!==JSON.stringify(v))return d(),r(v),!0}function m(){var v;const h=e.icon;if(typeof h=="object"){u({name:"",data:h});return}const p=Ps(h);if(u({name:h,data:p}))if(p===void 0){const g=nd([h],m);s({callback:g})}else p&&((v=e.onLoad)===null||v===void 0||v.call(e,h))}x.useEffect(()=>(i(!0),d),[]),x.useEffect(()=>{n&&m()},[e.icon,n]);const{name:c,data:b}=l;return b?hd({...Xi,...b},e,c):e.children?e.children:e.fallback?e.fallback:x.createElement("span",{})}const Us=x.forwardRef((e,n)=>js({...e,_ref:n}));x.forwardRef((e,n)=>js({inline:!0,...e,_ref:n}));function ae({icon:e,iconClass:n}){return t.jsx(t.Fragment,{children:t.jsx(Us,{icon:e,className:n})})}function lo({element:e,validationData:n,placeholder:i}){var c;const{register:o=()=>({}),setValue:s,isReadOnly:a,watch:l,getValues:r}=n||{},[d,u]=x.useState(()=>{const b=r==null?void 0:r(e.id);return Array.isArray(b)?b:[]}),m=x.useMemo(()=>d==null?void 0:d.map(b=>b.label).join(", "),[d]);return x.useEffect(()=>{o(e.id)},[e.id,o]),x.useEffect(()=>{if(!l)return;const b=l(v=>{const h=v[e.id];h!==void 0&&u(Array.isArray(h)?h:[])});return()=>{var v;return(v=b.unsubscribe)==null?void 0:v.call(b)}},[l,e.id]),t.jsx("div",{className:"custom-select",children:t.jsx(le.Listbox,{value:d||[],onChange:b=>{u(b),s==null||s(e.id,b)},multiple:!0,disabled:a,by:"value",children:t.jsxs("div",{className:"custom-select__wrapper",children:[t.jsxs(le.Listbox.Button,{className:"custom-select__control field-control",disabled:a,children:[t.jsx("span",{className:"custom-select__value",children:(d==null?void 0:d.length)>0?m:t.jsx("span",{className:"custom-select__placeholder",children:i!=null?i:" Select options"})}),t.jsx("span",{className:"custom-select__icon",children:t.jsx(ae,{icon:"lucide:chevron-down"})})]}),t.jsx(le.Transition,{as:x.Fragment,leave:"custom-select__transition",children:t.jsx(le.Listbox.Options,{anchor:"bottom start",className:"custom-select__options",children:(c=e==null?void 0:e.options)==null?void 0:c.map((b,v)=>t.jsx(le.Listbox.Option,{value:b,className:({active:h})=>`custom-select__option ${h?"custom-select__option--active":""}`,children:({selected:h})=>t.jsxs("div",{className:"custom-select__option-row",children:[t.jsx("span",{className:`custom-select__option-label ${h?"custom-select__option--selected":""}`,children:b.label}),h&&t.jsx("span",{className:"custom-select__check",children:"✓"})]})},v))})})]})})})}const fd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],pd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return fd.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"},gd={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 qs({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=x.useState(!1),[a,l]=x.useState("unknown"),[r,d]=x.useState(null);x.useEffect(()=>{e&&l(pd(e))},[e]),x.useEffect(()=>{if(a==="pdf"&&(e!=null&&e.startsWith("data:")))try{const v=atob(e.split(",")[1]),h=new ArrayBuffer(v.length),p=new Uint8Array(h);for(let N=0;N<v.length;N++)p[N]=v.charCodeAt(N);const g=new Blob([h],{type:"application/pdf"}),f=URL.createObjectURL(g);return d(f),()=>URL.revokeObjectURL(f)}catch(v){console.error("Error creating blob URL:",v)}else d(null)},[e,a]);const u=()=>{a==="image"||a==="pdf"?s(!0):window.open(r||e,"_blank")},m=()=>s(!1),c=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function b(v,h="download"){if(!v)return;if(v.startsWith("data:")){const g=document.createElement("a");g.href=v,g.download=h,document.body.appendChild(g),g.click(),document.body.removeChild(g);return}const p=document.createElement("a");p.href=v,p.setAttribute("download",h),document.body.appendChild(p),p.click(),document.body.removeChild(p)}return t.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[t.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${c}`,children:[a==="image"&&t.jsx("div",{className:"flex items-center justify-center ",children:t.jsx(ae,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),a!=="image"&&t.jsx(ae,{icon:gd[a],iconClass:"text-4xl"}),t.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:c})]}),t.jsxs("div",{className:"flex gap-x-1 items-center",children:[t.jsx("button",{type:"button",className:"p-2",onClick:()=>b(r||e,n),title:`Download ${c}`,children:t.jsx(ae,{icon:"streamline-flex:download-tray-solid"})}),i&&t.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:t.jsx(ae,{icon:"lets-icons:trash-duotone"})})]}),o&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:m,children:t.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:v=>v.stopPropagation(),children:[t.jsx("button",{onClick:m,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),a==="image"?t.jsx("img",{src:e,alt:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):a==="pdf"?t.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}const ye=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},Ys=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},yd=5*1024*1024;function xd({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:a=[]}){const{uploadUrl:l,setApiActivityCount:r}=x.useContext(Ae),d=x.useRef(null),[u,m]=x.useState(s),[c,b]=x.useState(!1);x.useEffect(()=>{m(s)},[s]);const v=x.useMemo(()=>a==null?void 0:a.map(w=>w.value).join(", "),[a]),h=x.useMemo(()=>a==null?void 0:a.map(w=>w.label).join(", "),[a]),p=x.useCallback(async w=>{var M,k;const A=ye("token"),C=((M=ye("orgData"))==null?void 0:M.id)||ye("organizationId");try{const{data:I}=await Xe.post(l,{...w,service:"FORM",organizationId:C||""},{headers:{Authorization:`Bearer ${A}`}});return(k=I==null?void 0:I.data)==null?void 0:k.url}catch(I){throw console.error("File upload error:",I),new Error("Failed to upload file to server")}},[l]),g=x.useCallback(w=>new Promise((A,C)=>{const M=new FileReader;M.onloadend=async()=>{try{const k=M.result.replace(/^data:.*;base64,/,""),I=l?await p({base64:k,ext:`.${w.name.split(".").pop()}`,fileName:w.name}):M.result;A({base64:I,type:w.type,name:w.name})}catch(k){C(k)}},M.onerror=()=>C(new Error("File read failed")),M.readAsDataURL(w)}),[l,p]),f=x.useCallback(w=>{var C;const A=v?(C=v.split(","))==null?void 0:C.map(M=>M.trim()):[];for(const M of w){if(M.size>yd)return Ee.toast.error(`File "${M.name}" exceeds 5MB limit (${(M.size/1024/1024).toFixed(2)}MB)`),!1;if(A.length&&!A.some(k=>M.type===k||M.name.toLowerCase().endsWith(k.replace("*",""))))return Ee.toast.error(`File "${M.name}" is not an allowed type. Allowed: ${h||"any"}`),!1}return!0},[v,h]),N=x.useCallback(async w=>{const A=Array.from(w.target.files||[]);if(!(!A.length||c)){if(!f(A)){d.current&&(d.current.value="");return}try{b(!0),r==null||r(k=>k+1);const C=await Promise.all(A==null?void 0:A.map(g)),M=o&&u?[...u,...C]:C;m(M),e(M),Ee.toast.success(`Successfully uploaded ${A.length} file(s)`)}catch(C){console.error("Upload error:",C),Ee.toast.error("Failed to upload file(s). Please try again.")}finally{b(!1),r==null||r(C=>Math.max(0,C-1)),d.current&&(d.current.value="")}}},[c,f,g,e,o,u,r]),y=x.useCallback(w=>{c||(d.current&&(d.current.value=""),m(A=>{const C=w===void 0?null:(A==null?void 0:A.filter((M,k)=>k!==w))||null;return e(C),C}),i==null||i())},[i,e,c]),S=u&&u.length>0;return t.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&t.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative",children:[t.jsx("input",{ref:d,type:"file",onChange:N,disabled:n||c,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
|
|
1
|
+
(function(ge,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("react-datepicker"),require("@headlessui/react"),require("sonner"),require("axios"),require("react-currency-input-field"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("papaparse"),require("xlsx"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","react-datepicker","@headlessui/react","sonner","axios","react-currency-input-field","react-dom","react-hook-form","@hookform/resolvers","yup","papaparse","xlsx","react-router-dom"],t):(ge=typeof globalThis!="undefined"?globalThis:ge||self,t(ge.FormBuilder={},ge.jsxRuntime,ge.React,ge.uuid,ge.DatePicker,ge.react,ge.sonner,ge.axios,ge.CurrencyInput,ge.ReactDOM,ge.reactHookForm,ge.resolvers,ge.yup,ge.Papa,ge.XLSX,ge.reactRouterDom))})(this,function(ge,t,x,Ce,dr,re,Ee,Xe,ei,ur,Ve,fs,cr,mr,br,vr){"use strict";function ps(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=ps(cr),gs=ps(br),Ae=x.createContext(void 0),ys={title:"",description:"",id:Ce.v4(),questionData:[],disabled:!1,isHidden:!1},xs=({children:e,onChange:n,onLogAction:i})=>{const[o,s]=x.useState(!0),[a,l]=x.useState({}),[r,d]=x.useState({}),[u,m]=x.useState([ys]),[c,b]=x.useState(()=>{try{const V=sessionStorage.getItem("editor_past");return V?JSON.parse(V):[]}catch(V){return[]}}),[v,h]=x.useState(()=>{try{const V=sessionStorage.getItem("editor_future");return V?JSON.parse(V):[]}catch(V){return[]}});x.useEffect(()=>{n&&n(u)},[u,n]),x.useEffect(()=>{sessionStorage.setItem("editor_past",JSON.stringify(c))},[c]),x.useEffect(()=>{sessionStorage.setItem("editor_future",JSON.stringify(v))},[v]);const p=x.useRef(Date.now()),g=x.useCallback(V=>{m(G=>{const H=typeof V=="function"?V(G):V;if(JSON.stringify(G)!==JSON.stringify(H)){const $=Date.now();b(F=>F.length>0&&JSON.stringify(F[F.length-1])===JSON.stringify(G)?F:$-p.current<800&&F.length>0?(p.current=$,F):(p.current=$,[...F,G])),h([])}return H})},[]),f=x.useCallback(()=>{if(c.length===0)return;const V=c[c.length-1],G=c.slice(0,c.length-1);b(G),h([u,...v]),m(V),i==null||i("UNDO",null)},[c,v,u,i]),N=x.useCallback(()=>{if(v.length===0)return;const V=v[0],G=v.slice(1);h(G),b([...c,u]),m(V),i==null||i("REDO",null)},[c,v,u,i]),y=u,S=c.length>0,w=v.length>0,[A,C]=x.useState(!1),[E,k]=x.useState(null),[I,P]=x.useState([0]),[T,O]=x.useState(""),[M,_]=x.useState(0),B=x.useCallback(()=>{},[]),K=x.useCallback(()=>{const V=Ce.v4();g(G=>[...G,{...ys,id:V}]),k(V),P([y.length]),i==null||i("ADD_SECTION",{sectionId:V})},[y,i,g]),D=x.useCallback(V=>{g(G=>G.filter(H=>H.id!==V)),k(null),i==null||i("REMOVE_SECTION",{sectionId:V})},[i,g]),L=x.useCallback((V,G)=>{const H=y.find(F=>F.id===G),$=H==null?void 0:H.questionData.find(F=>F.id===V);$&&(g(F=>F==null?void 0:F.map(q=>q.id===G?{...q,questionData:q==null?void 0:q.questionData.filter(R=>$.type==="grid"?R.gridId!==$.id&&R.id!==$.id:R.id!==V)}:q)),i==null||i("REMOVE_ELEMENT",{sectionId:G,elementId:V}))},[y,g,i]),z=x.useCallback((V,G)=>{const H=y.find(R=>R.id===G);if(!H)return;const $=H==null?void 0:H.questionData.findIndex(R=>R.id===V);if($===-1)return;const F=H==null?void 0:H.questionData[$],q=(R,Z={})=>({...JSON.parse(JSON.stringify(R)),id:Ce.v4(),...Z});g(R=>R==null?void 0:R.map(Z=>{var ee;if(Z.id!==G)return Z;const J=[...Z.questionData];if(F.type==="grid"){const ae=(ee=J==null?void 0:J.map((pe,Ne)=>({e:pe,i:Ne})).filter(({e:pe})=>pe.id===F.id||pe.gridId===F.id))==null?void 0:ee.map(({i:pe})=>pe),ue=ae.length?Math.max(...ae)+1:$+1,me=Ce.v4(),ye=q(F,{});ye.id=me;const be=J.filter(pe=>pe.gridId===F.id),we=be==null?void 0:be.map(pe=>q(pe,{gridId:me})),Me=[...J.slice(0,ue),ye,...we,...J.slice(ue)];return{...Z,questionData:Me}}else if(F.gridId){const{gridId:ae,gridPosition:ue,...me}=F,ye=q(me,{}),be=J.reduce((Me,pe,Ne)=>pe.id===F.gridId||pe.gridId===F.gridId?Ne:Me,$),we=[...J.slice(0,be+1),ye,...J.slice(be+1)];return{...Z,questionData:we}}else{const ae=q(F,{}),ue=[...J.slice(0,$+1),ae,...J.slice($+1)];return{...Z,questionData:ue}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:G,elementId:V})},[y,g,i]),U=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map($=>$.id===G?{...$,questionData:V}:$)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:G})},[g,i]),W=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map($=>$.id===G?{...$,questionData:[...$==null?void 0:$.questionData,V]}:$)),i==null||i("ADD_ELEMENT",{sectionId:G,element:V})},[g,i]),Y=x.useCallback((V,G,H)=>{g($=>$==null?void 0:$.map(F=>F.id===G?{...F,questionData:[...F==null?void 0:F.questionData.slice(0,H),V,...F==null?void 0:F.questionData.slice(H)]}:F)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:G,element:V,index:H})},[g,i]),X=x.useCallback((V,G,H)=>{g($=>$==null?void 0:$.map(F=>{var q;return F.id===H?{...F,questionData:(q=F==null?void 0:F.questionData)==null?void 0:q.map(R=>{var Z;return R.type==="grid"&&R.gridData?{...R,gridData:(Z=R.gridData)==null?void 0:Z.map((J,ee)=>ee===V?{...J,...G}:J).concat(V>=R.gridData.length?{...G}:[])}:R})}:F})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:H,gridIndex:V,element:G})},[g,i]),ie=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map($=>{var F;return $.id===G?{...$,questionData:(F=$==null?void 0:$.questionData)==null?void 0:F.map(q=>q.id===V.id?{...q,...V}:q)}:$})),i==null||i("UPDATE_ELEMENT",{sectionId:G,value:V})},[g,i]),se=x.useCallback(V=>{const{draggedId:G,sectionId:H,targetIndex:$,targetId:F,targetGridId:q,targetCol:R}=V;g(Z=>Z.map(J=>{if(J.id!==H)return J;const ee=[...J==null?void 0:J.questionData],ae=ee.findIndex(me=>me.id===G);if(ae===-1)return J;const ue={...ee[ae]};if(q!==void 0&&R!==void 0){if(ue.type==="grid")return J;const me=ee.findIndex(be=>{var we;return be.id!==G&&be.gridId===q&&((we=be.gridPosition)==null?void 0:we.col)===R});let ye=ee.map(be=>be.id===G?{...be,gridId:q,gridPosition:{col:R}}:be);return me!==-1&&(ye=ye.map((be,we)=>{if(we!==me)return be;const Me={...be};return delete Me.gridId,delete Me.gridPosition,Me})),{...J,questionData:ye}}if(ue.gridId&&$!==void 0&&q===void 0){const me={...ue};delete me.gridId,delete me.gridPosition;const ye=ee.filter(we=>we.id!==G),be=Math.min($,ye.length);return ye.splice(be,0,me),{...J,questionData:ye}}if(!ue.gridId&&$!==void 0&&q===void 0&&!F){ee.splice(ae,1);const me=Math.min($,ee.length);return ee.splice(me,0,ue),{...J,questionData:ee}}if(F){const me=ee.findIndex(ye=>ye.id===F);return me===-1?J:(ee.splice(ae,1),ee.splice(me,0,ue),{...J,questionData:ee})}return J})),i==null||i("MOVE_ELEMENT",V)},[g,i]),Q=x.useCallback((V,G)=>{g(H=>H==null?void 0:H.map($=>$.id===G?{...$,...V}:$)),i==null||i("UPDATE_SECTION",{sectionId:G,value:V})},[g,i]),j=x.useMemo(()=>({formData:y,setFormData:g,handleDragStop:B,removeElement:L,elementData:r,setElementData:d,updateElementPosition:U,addElement:W,addElementInPosition:Y,updateElement:ie,addSection:K,removeSection:D,updateSection:Q,isDragging:A,setIsDragging:C,selectedSection:E,setSelectedSection:k,activeSections:I,setActiveSections:P,updateGridElement:X,answerData:a,setAnswerData:l,uploadUrl:T,setUploadUrl:O,apiActivityCount:M,setApiActivityCount:_,duplicateElement:z,moveElement:se,showPreview:o,setShowPreview:s,undo:f,redo:N,canUndo:S,canRedo:w}),[y,B,L,r,U,W,Y,ie,K,D,Q,A,E,I,X,a,T,M,z,se,o,f,N,S,w]);return t.jsx(Ae.Provider,{value:j,children:e})};function Ss(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=Ss(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function de(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ss(e))&&(o&&(o+=" "),o+=n);return o}function hr({type:e="calendar",className:n}){return t.jsx(t.Fragment,{children:e==="calendar"?t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[t.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.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"}),t.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[t.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.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"}),t.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),t.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 Ji=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:a="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=e?new Date(e):null,[m,c]=x.useState(u);x.useEffect(()=>{const v=e?new Date(e):null;(v&&m&&v.getTime()!==m.getTime()||!v&&m||v&&!m)&&c(v)},[e]),x.useEffect(()=>{n&&n(s,m)},[m,n,s]);const b=v=>{c(v)};return t.jsx("div",{className:"builder_date__picker",children:t.jsx(dr,{showIcon:!0,icon:t.jsx(hr,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:m,onChange:b,className:"field-control",portalId:"root-portal",placeholderText:a,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function fr({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let a;return s&&(a=s()[e.id]),x.useEffect(()=>{i(e.id)},[e.id]),t.jsx(Ji,{name:e.id,value:a,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})}function Zi({element:e,validationData:n}){var o;const{register:i=()=>({})}=n||{};return t.jsx("div",{children:t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:de("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly,inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((o=n==null?void 0:n.errors)!=null&&o[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function pr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function a(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&a(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(a),s}const ws=Object.freeze({left:0,top:0,width:16,height:16}),ni=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Xi=Object.freeze({...ws,...ni}),Qi=Object.freeze({...Xi,body:"",hidden:!1});function gr(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 Ns(e,n){const i=gr(e,n);for(const o in Qi)o in ni?o in e&&!(o in i)&&(i[o]=ni[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function yr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let a={};function l(r){a=Ns(o[r]||s[r],a)}return l(n),i.forEach(l),Ns(e,a)}function As(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=pr(e);for(const s in o){const a=o[s];a&&(n(s,yr(e,s,a)),i.push(s))}return i}const xr={provider:"",aliases:{},not_found:{},...ws};function Ri(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Cs(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ri(e,xr))return null;const i=n.icons;for(const s in i){const a=i[s];if(!s||typeof a.body!="string"||!Ri(a,Qi))return null}const o=n.aliases||Object.create(null);for(const s in o){const a=o[s],l=a.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!Ri(a,Qi))return null}return n}const ks=Object.create(null);function Sr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function dn(e,n){const i=ks[e]||(ks[e]=Object.create(null));return i[n]||(i[n]=Sr(e,n))}function Ms(e,n){return Cs(n)?As(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function wr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Es=/^[a-z0-9]+(-[a-z0-9]+)*$/,ii=(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&&!oi(u)?null:u}const a=s[0],l=a.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!oi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:a};return n&&!oi(r,i)?null:r}return null},oi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let En=!1;function Ts(e){return typeof e=="boolean"&&(En=e),En}function Ps(e){const n=typeof e=="string"?ii(e,!0,En):e;if(n){const i=dn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Nr(e,n){const i=ii(e,!0,En);if(!i)return!1;const o=dn(i.provider,i.prefix);return n?wr(o,i.name,n):(o.missing.add(i.name),!0)}function Ar(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),En&&!n&&!e.prefix){let s=!1;return Cs(e)&&(e.prefix="",As(e,(a,l)=>{Nr(a,l)&&(s=!0)})),s}const i=e.prefix;if(!oi({prefix:i,name:"a"}))return!1;const o=dn(n,i);return!!Ms(o,e)}const Ls=Object.freeze({width:null,height:null}),Bs=Object.freeze({...Ls,...ni}),Cr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,kr=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Is(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(Cr);if(o===null||!o.length)return e;const s=[];let a=o.shift(),l=kr.test(a);for(;;){if(l){const r=parseFloat(a);isNaN(r)?s.push(a):s.push(Math.ceil(r*n*i)/i)}else s.push(a);if(a=o.shift(),a===void 0)return s.join("");l=!l}}function Mr(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),a=e.indexOf("</"+n);if(s===-1||a===-1)break;const l=e.indexOf(">",a);if(l===-1)break;i+=e.slice(s+1,a).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Er(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Tr(e,n,i){const o=Mr(e);return Er(o.defs,n+o.content+i)}const Pr=e=>e==="unset"||e==="undefined"||e==="none";function Lr(e,n){const i={...Xi,...e},o={...Bs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let a=i.body;[i,o].forEach(p=>{const g=[],f=p.hFlip,N=p.vFlip;let y=p.rotate;f?N?y+=2:(g.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),g.push("scale(-1 1)"),s.top=s.left=0):N&&(g.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),g.push("scale(1 -1)"),s.top=s.left=0);let S;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:S=s.height/2+s.top,g.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:g.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:S=s.width/2+s.left,g.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}y%2===1&&(s.left!==s.top&&(S=s.left,s.left=s.top,s.top=S),s.width!==s.height&&(S=s.width,s.width=s.height,s.height=S)),g.length&&(a=Tr(a,'<g transform="'+g.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let m,c;l===null?(c=r===null?"1em":r==="auto"?u:r,m=Is(c,d/u)):(m=l==="auto"?d:l,c=r===null?Is(m,u/d):r==="auto"?u:r);const b={},v=(p,g)=>{Pr(g)||(b[p]=g.toString())};v("width",m),v("height",c);const h=[s.left,s.top,d,u];return b.viewBox=h.join(" "),{attributes:b,viewBox:h,body:a}}const Br=/\sid="(\S+)"/g,Ir="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Dr=0;function _r(e,n=Ir){const i=[];let o;for(;o=Br.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(a=>{const l=typeof n=="function"?n(a):n+(Dr++).toString(),r=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const eo=Object.create(null);function Or(e,n){eo[e]=n}function no(e){return eo[e]||eo[""]}function io(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 oo=Object.create(null),Tn=["https://api.simplesvg.com","https://api.unisvg.com"],si=[];for(;Tn.length>0;)Tn.length===1||Math.random()>.5?si.push(Tn.shift()):si.push(Tn.pop());oo[""]=io({resources:["https://api.iconify.design"].concat(si)});function Kr(e,n){const i=io(n);return i===null?!1:(oo[e]=i,!0)}function so(e){return oo[e]}let Ds=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function Hr(e,n){const i=so(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 a=n+".json?icons=";o=i.maxURL-s-i.path.length-a.length}return o}function Gr(e){return e===404}const Fr=(e,n,i)=>{const o=[],s=Hr(e,n),a="icons";let l={type:a,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:a,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Vr(e){if(typeof e=="string"){const n=so(e);if(n)return n.path}return"/"}const zr={prepare:Fr,send:(e,n,i)=>{if(!Ds){i("abort",424);return}let o=Vr(n.provider);switch(n.type){case"icons":{const a=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=a+".json?"+d.toString();break}case"custom":{const a=n.uri;o+=a.slice(0,1)==="/"?a.slice(1):a;break}default:i("abort",400);return}let s=503;Ds(e+o).then(a=>{const l=a.status;if(l!==200){setTimeout(()=>{i(Gr(l)?"abort":"next",l)});return}return s=501,a.json()}).then(a=>{if(typeof a!="object"||a===null){setTimeout(()=>{a===404?i("abort",a):i("next",s)});return}setTimeout(()=>{i("success",a)})}).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 Wr(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(a=>{const l=a.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],a.id),a.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),a.abort))})}))}let $r=0;function jr(e,n,i){const o=$r++,s=_s.bind(null,i,o);if(!n.pending.length)return s;const a={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(a)}),s}function Ur(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,a)=>s.provider!==a.provider?s.provider.localeCompare(a.provider):s.prefix!==a.prefix?s.prefix.localeCompare(a.prefix):s.name.localeCompare(a.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 a=s.provider,l=s.prefix,r=s.name,d=i[a]||(i[a]=Object.create(null)),u=d[l]||(d[l]=dn(a,l));let m;r in u.icons?m=n.loaded:l===""||u.missing.has(r)?m=n.missing:m=n.pending;const c={provider:a,prefix:l,name:r};m.push(c)}),n}function qr(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const a=typeof s=="string"?ii(s,n,i):s;a&&o.push(a)}),o}const Yr={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Jr(e,n,i,o){const s=e.resources.length,a=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let A=e.resources.slice(0);for(l=[];A.length>1;){const C=Math.floor(Math.random()*A.length);l.push(A[C]),A=A.slice(0,C).concat(A.slice(C+1))}l=l.concat(A)}else l=e.resources.slice(a).concat(e.resources.slice(0,a));const r=Date.now();let d="pending",u=0,m,c=null,b=[],v=[];typeof o=="function"&&v.push(o);function h(){c&&(clearTimeout(c),c=null)}function p(){d==="pending"&&(d="aborted"),h(),b.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),b=[]}function g(A,C){C&&(v=[]),typeof A=="function"&&v.push(A)}function f(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:b.length,subscribe:g,abort:p}}function N(){d="failed",v.forEach(A=>{A(void 0,m)})}function y(){b.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),b=[]}function S(A,C,E){const k=C!=="success";switch(b=b.filter(I=>I!==A),d){case"pending":break;case"failed":if(k||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){m=E,N();return}if(k){m=E,b.length||(l.length?w():N());return}if(h(),y(),!e.random){const I=e.resources.indexOf(A.resource);I!==-1&&I!==e.index&&(e.index=I)}d="completed",v.forEach(I=>{I(E)})}function w(){if(d!=="pending")return;h();const A=l.shift();if(A===void 0){if(b.length){c=setTimeout(()=>{h(),d==="pending"&&(y(),N())},e.timeout);return}N();return}const C={status:"pending",resource:A,callback:(E,k)=>{S(C,E,k)}};b.push(C),u++,c=setTimeout(w,e.rotate),i(A,n,C.callback)}return setTimeout(w),f}function Os(e){const n={...Yr,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const m=Jr(n,r,d,(c,b)=>{o(),u&&u(c,b)});return i.push(m),m}function a(r){return i.find(d=>r(d))||null}return{query:s,find:a,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function Ks(){}const ao=Object.create(null);function Zr(e){if(!ao[e]){const n=so(e);if(!n)return;const i=Os(n),o={config:n,redundancy:i};ao[e]=o}return ao[e]}function Xr(e,n,i){let o,s;if(typeof e=="string"){const a=no(e);if(!a)return i(void 0,424),Ks;s=a.send;const l=Zr(e);l&&(o=l.redundancy)}else{const a=io(e);if(a){o=Os(a);const l=e.resources?e.resources[0]:"",r=no(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Ks):o.query(n,s,i)().abort}function Hs(){}function Qr(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Wr(e)}))}function Rr(e){const n=[],i=[];return e.forEach(o=>{(o.match(Es)?n:i).push(o)}),{valid:n,invalid:i}}function Pn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(a=>{s&&s.delete(a),e.icons[a]||e.missing.add(a)})}if(i&&typeof i=="object")try{if(!Ms(e,i).length){o();return}}catch(s){console.error(s)}o(),Qr(e)}function Gs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function ed(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 a=e.loadIcon;if(e.loadIcons&&(s.length>1||!a)){Gs(e.loadIcons(s,o,i),m=>{Pn(e,s,m)});return}if(a){s.forEach(m=>{const c=a(m,o,i);Gs(c,b=>{const v=b?{prefix:o,icons:{[m]:b}}:null;Pn(e,[m],v)})});return}const{valid:l,invalid:r}=Rr(s);if(r.length&&Pn(e,r,null),!l.length)return;const d=o.match(Es)?no(i):null;if(!d){Pn(e,l,null);return}d.prepare(i,o,l).forEach(m=>{Xr(i,m,c=>{Pn(e,m.icons,c)})})}))}const nd=(e,n)=>{const i=qr(e,!0,Ts()),o=Ur(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Hs)}),()=>{d=!1}}const s=Object.create(null),a=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:m}=d;if(m===r&&u===l)return;l=u,r=m,a.push(dn(u,m));const c=s[u]||(s[u]=Object.create(null));c[m]||(c[m]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:m,name:c}=d,b=dn(u,m),v=b.pendingIcons||(b.pendingIcons=new Set);v.has(c)||(v.add(c),s[u][m].push(c))}),a.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&ed(d,u)}),n?jr(n,o,a):Hs};function id(e,n){const i={...e};for(const o in n){const s=n[o],a=typeof s;o in Ls?(s===null||s&&(a==="string"||a==="number"))&&(i[o]=s):a===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const od=/[\s,]+/;function sd(e,n){n.split(od).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function ad(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 a=parseFloat(e.slice(0,e.length-i.length));return isNaN(a)?0:(a=a/s,a%1===0?o(a):0)}}return n}function td(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 ld(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function rd(e){return"data:image/svg+xml,"+ld(e)}function dd(e){return'url("'+rd(e)+'")'}let Ln;function ud(){try{Ln=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Ln=null}}function cd(e){return Ln===void 0&&ud(),Ln?Ln.createHTML(e):e}const Fs={...Bs,inline:!1},md={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},bd={display:"inline-block"},to={backgroundColor:"currentColor"},Vs={backgroundColor:"transparent"},zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Ws={WebkitMask:to,mask:to,background:Vs};for(const e in Ws){const n=Ws[e];for(const i in zs)n[e+i]=zs[i]}const vd={...Fs,inline:!0};function $s(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const hd=(e,n,i)=>{const o=n.inline?vd:Fs,s=id(o,n),a=n.mode||"svg",l={},r=n.style||{},d={...a==="svg"?md:{}};if(i){const g=ii(i,!1,!0);if(g){const f=["iconify"],N=["provider","prefix"];for(const y of N)g[y]&&f.push("iconify--"+g[y]);d.className=f.join(" ")}}for(let g in n){const f=n[g];if(f!==void 0)switch(g){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=f;break;case"className":d[g]=(d[g]?d[g]+" ":"")+f;break;case"inline":case"hFlip":case"vFlip":s[g]=f===!0||f==="true"||f===1;break;case"flip":typeof f=="string"&&sd(s,f);break;case"color":l.color=f;break;case"rotate":typeof f=="string"?s[g]=ad(f):typeof f=="number"&&(s[g]=f);break;case"ariaHidden":case"aria-hidden":f!==!0&&f!=="true"&&delete d["aria-hidden"];break;default:o[g]===void 0&&(d[g]=f)}}const u=Lr(e,s),m=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),a==="svg"){d.style={...l,...r},Object.assign(d,m);let g=0,f=n.id;return typeof f=="string"&&(f=f.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:cd(_r(u.body,f?()=>f+"ID"+g++:"iconifyReact"))},x.createElement("svg",d)}const{body:c,width:b,height:v}=e,h=a==="mask"||(a==="bg"?!1:c.indexOf("currentColor")!==-1),p=td(c,{...m,width:b+"",height:v+""});return d.style={...l,"--svg":dd(p),width:$s(m.width),height:$s(m.height),...bd,...h?to:Vs,...r},x.createElement("span",d)};if(Ts(!0),Or("",zr),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"||!Ar(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;Kr(i,s)||console.error(o)}catch(s){console.error(o)}}}}function js(e){const[n,i]=x.useState(!!e.ssr),[o,s]=x.useState({});function a(v){if(v){const h=e.icon;if(typeof h=="object")return{name:"",data:h};const p=Ps(h);if(p)return{name:h,data:p}}return{name:""}}const[l,r]=x.useState(a(!!e.ssr));function d(){const v=o.callback;v&&(v(),s({}))}function u(v){if(JSON.stringify(l)!==JSON.stringify(v))return d(),r(v),!0}function m(){var v;const h=e.icon;if(typeof h=="object"){u({name:"",data:h});return}const p=Ps(h);if(u({name:h,data:p}))if(p===void 0){const g=nd([h],m);s({callback:g})}else p&&((v=e.onLoad)===null||v===void 0||v.call(e,h))}x.useEffect(()=>(i(!0),d),[]),x.useEffect(()=>{n&&m()},[e.icon,n]);const{name:c,data:b}=l;return b?hd({...Xi,...b},e,c):e.children?e.children:e.fallback?e.fallback:x.createElement("span",{})}const Us=x.forwardRef((e,n)=>js({...e,_ref:n}));x.forwardRef((e,n)=>js({inline:!0,...e,_ref:n}));function te({icon:e,iconClass:n}){return t.jsx(t.Fragment,{children:t.jsx(Us,{icon:e,className:n})})}function lo({element:e,validationData:n,placeholder:i}){var c;const{register:o=()=>({}),setValue:s,isReadOnly:a,watch:l,getValues:r}=n||{},[d,u]=x.useState(()=>{const b=r==null?void 0:r(e.id);return Array.isArray(b)?b:[]}),m=x.useMemo(()=>d==null?void 0:d.map(b=>b.label).join(", "),[d]);return x.useEffect(()=>{o(e.id)},[e.id,o]),x.useEffect(()=>{if(!l)return;const b=l(v=>{const h=v[e.id];h!==void 0&&u(Array.isArray(h)?h:[])});return()=>{var v;return(v=b.unsubscribe)==null?void 0:v.call(b)}},[l,e.id]),t.jsx("div",{className:"custom-select",children:t.jsx(re.Listbox,{value:d||[],onChange:b=>{u(b),s==null||s(e.id,b)},multiple:!0,disabled:a,by:"value",children:t.jsxs("div",{className:"custom-select__wrapper",children:[t.jsxs(re.Listbox.Button,{className:"custom-select__control field-control",disabled:a,children:[t.jsx("span",{className:"custom-select__value",children:(d==null?void 0:d.length)>0?m:t.jsx("span",{className:"custom-select__placeholder",children:i!=null?i:" Select options"})}),t.jsx("span",{className:"custom-select__icon",children:t.jsx(te,{icon:"lucide:chevron-down"})})]}),t.jsx(re.Transition,{as:x.Fragment,leave:"custom-select__transition",children:t.jsx(re.Listbox.Options,{anchor:"bottom start",className:"custom-select__options",children:(c=e==null?void 0:e.options)==null?void 0:c.map((b,v)=>t.jsx(re.Listbox.Option,{value:b,className:({active:h})=>`custom-select__option ${h?"custom-select__option--active":""}`,children:({selected:h})=>t.jsxs("div",{className:"custom-select__option-row",children:[t.jsx("span",{className:`custom-select__option-label ${h?"custom-select__option--selected":""}`,children:b.label}),h&&t.jsx("span",{className:"custom-select__check",children:"✓"})]})},v))})})]})})})}const fd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],pd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return fd.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"},gd={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 qs({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=x.useState(!1),[a,l]=x.useState("unknown"),[r,d]=x.useState(null);x.useEffect(()=>{e&&l(pd(e))},[e]),x.useEffect(()=>{if(a==="pdf"&&(e!=null&&e.startsWith("data:")))try{const v=atob(e.split(",")[1]),h=new ArrayBuffer(v.length),p=new Uint8Array(h);for(let N=0;N<v.length;N++)p[N]=v.charCodeAt(N);const g=new Blob([h],{type:"application/pdf"}),f=URL.createObjectURL(g);return d(f),()=>URL.revokeObjectURL(f)}catch(v){console.error("Error creating blob URL:",v)}else d(null)},[e,a]);const u=()=>{a==="image"||a==="pdf"?s(!0):window.open(r||e,"_blank")},m=()=>s(!1),c=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function b(v,h="download"){if(!v)return;if(v.startsWith("data:")){const g=document.createElement("a");g.href=v,g.download=h,document.body.appendChild(g),g.click(),document.body.removeChild(g);return}const p=document.createElement("a");p.href=v,p.setAttribute("download",h),document.body.appendChild(p),p.click(),document.body.removeChild(p)}return t.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[t.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${c}`,children:[a==="image"&&t.jsx("div",{className:"flex items-center justify-center ",children:t.jsx(te,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),a!=="image"&&t.jsx(te,{icon:gd[a],iconClass:"text-4xl"}),t.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:c})]}),t.jsxs("div",{className:"flex gap-x-1 items-center",children:[t.jsx("button",{type:"button",className:"p-2",onClick:()=>b(r||e,n),title:`Download ${c}`,children:t.jsx(te,{icon:"streamline-flex:download-tray-solid"})}),i&&t.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:t.jsx(te,{icon:"lets-icons:trash-duotone"})})]}),o&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:m,children:t.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:v=>v.stopPropagation(),children:[t.jsx("button",{onClick:m,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),a==="image"?t.jsx("img",{src:e,alt:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):a==="pdf"?t.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}const xe=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},Ys=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},yd=5*1024*1024;function xd({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:a=[]}){const{uploadUrl:l,setApiActivityCount:r}=x.useContext(Ae),d=x.useRef(null),[u,m]=x.useState(s),[c,b]=x.useState(!1);x.useEffect(()=>{m(s)},[s]);const v=x.useMemo(()=>a==null?void 0:a.map(w=>w.value).join(", "),[a]),h=x.useMemo(()=>a==null?void 0:a.map(w=>w.label).join(", "),[a]),p=x.useCallback(async w=>{var E,k;const A=xe("token"),C=((E=xe("orgData"))==null?void 0:E.id)||xe("organizationId");try{const{data:I}=await Xe.post(l,{...w,service:"FORM",organizationId:C||""},{headers:{Authorization:`Bearer ${A}`}});return(k=I==null?void 0:I.data)==null?void 0:k.url}catch(I){throw console.error("File upload error:",I),new Error("Failed to upload file to server")}},[l]),g=x.useCallback(w=>new Promise((A,C)=>{const E=new FileReader;E.onloadend=async()=>{try{const k=E.result.replace(/^data:.*;base64,/,""),I=l?await p({base64:k,ext:`.${w.name.split(".").pop()}`,fileName:w.name}):E.result;A({base64:I,type:w.type,name:w.name})}catch(k){C(k)}},E.onerror=()=>C(new Error("File read failed")),E.readAsDataURL(w)}),[l,p]),f=x.useCallback(w=>{var C;const A=v?(C=v.split(","))==null?void 0:C.map(E=>E.trim()):[];for(const E of w){if(E.size>yd)return Ee.toast.error(`File "${E.name}" exceeds 5MB limit (${(E.size/1024/1024).toFixed(2)}MB)`),!1;if(A.length&&!A.some(k=>E.type===k||E.name.toLowerCase().endsWith(k.replace("*",""))))return Ee.toast.error(`File "${E.name}" is not an allowed type. Allowed: ${h||"any"}`),!1}return!0},[v,h]),N=x.useCallback(async w=>{const A=Array.from(w.target.files||[]);if(!(!A.length||c)){if(!f(A)){d.current&&(d.current.value="");return}try{b(!0),r==null||r(k=>k+1);const C=await Promise.all(A==null?void 0:A.map(g)),E=o&&u?[...u,...C]:C;m(E),e(E),Ee.toast.success(`Successfully uploaded ${A.length} file(s)`)}catch(C){console.error("Upload error:",C),Ee.toast.error("Failed to upload file(s). Please try again.")}finally{b(!1),r==null||r(C=>Math.max(0,C-1)),d.current&&(d.current.value="")}}},[c,f,g,e,o,u,r]),y=x.useCallback(w=>{c||(d.current&&(d.current.value=""),m(A=>{const C=w===void 0?null:(A==null?void 0:A.filter((E,k)=>k!==w))||null;return e(C),C}),i==null||i())},[i,e,c]),S=u&&u.length>0;return t.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&t.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative",children:[t.jsx("input",{ref:d,type:"file",onChange:N,disabled:n||c,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
|
|
2
2
|
file:rounded-[6px] file:py-[6px] file:border-0\r
|
|
3
3
|
file:text-sm file:font-semibold\r
|
|
4
4
|
file:bg-blue-50 file:text-blue-700\r
|
|
5
|
-
hover:file:bg-blue-100 disabled:opacity-50 disabled:cursor-not-allowed`}),S&&t.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-50",onClick:()=>y(),disabled:c,"aria-label":"Remove all files",children:t.jsx(
|
|
5
|
+
hover:file:bg-blue-100 disabled:opacity-50 disabled:cursor-not-allowed`}),S&&t.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-50",onClick:()=>y(),disabled:c,"aria-label":"Remove all files",children:t.jsx(te,{icon:"lets-icons:trash-duotone"})})]}),S&&t.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full",children:[c&&t.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/60 rounded",children:t.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-600 font-medium",children:[t.jsx("span",{className:"animate-spin h-4 w-4 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof u=="object"&&(u==null?void 0:u.map((w,A)=>t.jsx(qs,{fileUrl:w.base64,fileName:w.name,removeFile:()=>y(A)},`${w.name}-${A}`)))]})]})}function Sd({element:e,validationData:n}){var m;const[i,o]=x.useState((m=e==null?void 0:e.value)!=null?m:null),{register:s=()=>({}),setValue:a,isReadOnly:l,watch:r}=n||{};x.useEffect(()=>{s(e.id)},[e.id,s]),x.useEffect(()=>{if(r){const c=r(b=>{o(b[e.id])});return()=>{var b;return(b=c.unsubscribe)==null?void 0:b.call(c)}}},[r,e.id]);const d=x.useCallback(c=>{a==null||a(e.id,c),o(c)},[e.id,a]),u=()=>{a==null||a(e.id,null),o(null)};return t.jsxs("div",{children:[!l&&t.jsx(xd,{onFileLoaded:d,disabled:l,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles}),l&&t.jsx(t.Fragment,{children:i?t.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((c,b)=>t.jsx("div",{children:t.jsx(qs,{fileUrl:c.base64,fileName:c.name})},b))}):t.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function wd({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return t.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:de("field-control",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}const le=({label:e,name:n,register:i,errors:o,className:s,type:a="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:m,prefix:c,disabled:b,watch:v,min:h,max:p,description:g,onChange:f})=>{var y,S,w,A;const N=i?{...i(n)}:{};if(a==="amount")return t.jsxs("div",{className:"space-y-1.5 relative",children:[t.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}),t.jsx(ei,{onValueChange:C=>{d(n,C!=null?C:null),i&&i(n),m&&m(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:c,disabled:b}),(o==null?void 0:o[n])&&t.jsx("p",{className:"mt-1 text-sm text-red-600",children:(y=o[n])==null?void 0:y.message})]});if(["checkbox","radio"].includes(a)){const C=(v==null?void 0:v(n))||null;let E=!1;return C&&(C!=null&&C.length&&a==="checkbox"?E=C==null?void 0:C.includes(u):E=C==u),t.jsxs("div",{className:"space-y-1",children:[t.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${g?"items-start":"items-center"}`,children:[t.jsx("input",{...N,type:a,value:u||"",disabled:b,className:"peer sr-only"}),t.jsx("div",{className:`
|
|
6
6
|
w-[18px] h-[18px] flex items-center justify-center
|
|
7
7
|
border rounded-md transition-all duration-200
|
|
8
8
|
${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
peer-checked:border-[#7F56D9]
|
|
11
11
|
peer-disabled:opacity-60
|
|
12
12
|
peer-disabled:cursor-not-allowed
|
|
13
|
-
`,children:M&&t.jsx(ae,{icon:"meteor-icons:check",iconClass:"w-3.5 h-3.5 text-white"})}),t.jsxs("div",{children:[t.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),g&&t.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:g})]})]}),(o==null?void 0:o[n])&&t.jsx("p",{className:"ml-8 text-sm text-red-600",children:(S=o[n])==null?void 0:S.message})]})}return a==="textarea"?t.jsxs("div",{className:"space-y-1.5 relative",children:[t.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}),t.jsx("textarea",{...N,onChange:C=>{var M;(M=N.onChange)==null||M.call(N,C),f==null||f(C)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:b}),(o==null?void 0:o[n])&&t.jsx("p",{className:"mt-1 text-sm text-red-600",children:(w=o[n])==null?void 0:w.message})]}):t.jsxs("div",{className:" relative w-full",children:[e&&t.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}),t.jsx("input",{...N,onChange:C=>{var M;(M=N.onChange)==null||M.call(N,C),f==null||f(C)},type:a,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:b,min:h,max:p}),(o==null?void 0:o[n])&&t.jsx("p",{className:"mt-1 text-sm text-red-600",children:(A=o[n])==null?void 0:A.message})]})};function Nd({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return t.jsx("div",{className:re("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(a=>t.jsx("div",{children:t.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:a==null?void 0:a.label,register:i,name:e.id,value:a.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},a.id))})}function Ad({element:e,state:n}){return t.jsx("div",{children:"SectionInput"})}function Cd({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return t.jsx("div",{className:re("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(a=>t.jsx("div",{children:t.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:a==null?void 0:a.label,register:i,name:e.id,value:a.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},a.id))})}const un=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:a,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:m,subText:c,labelClass:b="text-[10px]",loading:v,disabled:h})=>{const[p,g]=x.useState(u?[]:null),f=x.useRef(!1),N=x.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(A=>{var C;return typeof w.value=="object"?((C=w.value)==null?void 0:C.id)===(A==null?void 0:A.id):w.value===A})):[]:e.find(w=>{var A;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((A=w.value)==null?void 0:A.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]);x.useEffect(()=>{if(f.current){f.current=!1;return}if(u&&Array.isArray(N)&&Array.isArray(p)){const w=p==null?void 0:p.map(C=>C.value),A=N==null?void 0:N.map(C=>C.value);JSON.stringify(w)!==JSON.stringify(A)&&g(N)}else(N==null?void 0:N.value)!==(p==null?void 0:p.value)&&g(N)},[N,u]);const y=x.useCallback(w=>{var A;if(f.current=!0,g(w),s){const C=u?Array.isArray(w)?w==null?void 0:w.map(M=>M.value):[]:(A=w==null?void 0:w.value)!=null?A:null;s(a,C),d==null||d(a)}o&&!f.current&&o(a)},[s,a,d,o,u]),S=x.useMemo(()=>v?"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,v,n,u]);return t.jsxs("div",{className:"relative",children:[!m&&l&&t.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),m&&l&&t.jsx("label",{className:re("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",b),children:l}),t.jsx(le.Listbox,{value:p,onChange:y,multiple:u,disabled:h||v,children:t.jsxs("div",{className:"relative",children:[t.jsxs(le.Listbox.Button,{className:"field-control",disabled:h||v,children:[t.jsx("span",{className:re("block text-sm text-left truncate",{"opacity-60":!p||v}),children:S}),t.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:t.jsx(ae,{icon:"lucide:chevron-down"})})]}),t.jsx(le.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(le.Listbox.Options,{anchor:"bottom start",className:"select-button-options",children:e.length===0?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,A)=>{var C;return t.jsx(le.Listbox.Option,{value:w,className:({active:M})=>re("select-option",{active:M}),children:({selected:M})=>t.jsx("div",{className:re("option-text",{selected:M}),children:w.label})},((C=w.value)==null?void 0:C.id)||w.value||A)})})})]})}),!i&&c&&t.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),(i==null?void 0:i.message)&&t.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Bn({options:e=[],apiUrl:n,value:i,defaultValue:o,onGetValue:s,readOnly:a,name:l,customClass:r}){const[d,u]=x.useState(""),[m,c]=x.useState([]),[b,v]=x.useState(!1);x.useEffect(()=>{(async()=>{var w,A;if(n){v(!0);try{const C=ye("token"),M=C?{headers:{Authorization:`Bearer ${C}`}}:{};let I=(await Xe.get(n,M)).data;if(I&&!Array.isArray(I)&&(I.data&&Array.isArray(I.data)?I=I.data:(w=I.data)!=null&&w.data&&Array.isArray(I.data.data)?I=I.data.data:I.results&&Array.isArray(I.results)?I=I.results:(A=I.data)!=null&&A.results&&Array.isArray(I.data.results)?I=I.data.results:I.items&&Array.isArray(I.items)&&(I=I.items)),Array.isArray(I)){const P=I.map(T=>typeof T=="string"?{label:T,value:T}:{label:T.label||T.name||String(T.id||T.value),value:String(T.value||T.id||T.name)});c(P)}}catch(C){console.error("Failed to fetch options",C)}finally{v(!1)}}})()},[n]);const h=n?m:e,p=x.useMemo(()=>{const S=i!=null?i:o;return S==null||S===""?null:h.find(w=>String(w.value)===String(S)||String(w.label)===String(S))||null},[i,o,h]),[g,f]=x.useState(p);x.useEffect(()=>{if(i!==void 0)if(i===null||i==="")f(null);else{const S=h.find(w=>String(w.value)===String(i)||String(w.label)===String(i))||null;f(S)}},[i,h]);const N=x.useMemo(()=>{if(d==="")return h;const S=d.toLowerCase();return h.filter(w=>w.label.toLowerCase().includes(S))},[d,h]),y=x.useCallback(S=>{f(S),s(l,S)},[l,s]);return t.jsx("div",{className:"relative w-full",children:t.jsxs(le.Combobox,{value:g,onChange:y,disabled:a,children:[t.jsxs("div",{className:"relative",children:[t.jsx(le.ComboboxInput,{className:`field-control ${r}`,displayValue:S=>(S==null?void 0:S.label)||"",onChange:S=>u(S.target.value),placeholder:b?"Loading...":a?"":"Select an option..."}),!a&&t.jsx(le.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:b?t.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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"})]}):t.jsx(ae,{icon:"octicon:chevron-down-12"})})]}),t.jsx(le.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",children:b?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):N.length===0?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):N==null?void 0:N.map(S=>t.jsx(le.ComboboxOption,{value:S,className:({active:w,selected:A})=>re("select-option",{active:w,selected:A}),children:({selected:w})=>t.jsx("div",{className:re("option-text",{selected:w}),children:S.label})},S.value))})]})})}function kd({element:e,validationData:n}){var r,d;const{register:i=()=>({}),trigger:o,setValue:s,watch:a}=n||{};let l;return a&&(l=a()[e.id]),x.useEffect(()=>{i(e.id)},[e.id,i]),t.jsx(t.Fragment,{children:e.selectType==="list"?t.jsx(un,{options:(r=e==null?void 0:e.options)!=null?r:[],register:i,name:e.id,setValue:s,trigger:o,value:l,className:re("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):t.jsx(Bn,{name:e.id,options:(d=e==null?void 0:e.options)!=null?d:[],defaultValue:l,onGetValue:s,readOnly:n==null?void 0:n.isReadOnly})})}function Md({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return t.jsx("textarea",{placeholder:e.placeholder,rows:4,className:re("field-control resize-none",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}function ro(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,a){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 a.shouldUseNativeValidation&&fs.validateFieldsNatively({},a),{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:fs.toNestErrors((r=l,d=!a.shouldUseNativeValidation&&a.criteriaMode==="all",(r.inner||[]).reduce(function(u,m){if(u[m.path]||(u[m.path]={message:m.message,type:m.type}),d){var c=u[m.path].types,b=c&&c[m.type];u[m.path]=Ve.appendErrors(m.path,d,u,m.type,b?[].concat(b,m.message):m.message)}return u},{})),a)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ed=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:a=""})=>{const l=re("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return t.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,m=re("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"}`,a),c=re({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),b=u>0&&t.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 t.jsxs("button",{onClick:()=>o(r.key),className:re(m,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,b]},r.key)})})},ai=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}]}]`),Td={...{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:""},cn=(e,n=e)=>({label:e,value:n,id:Ce.v4()}),ve=e=>({...Td,...e}),Pd=ai==null?void 0:ai.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Ld=[ve({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),ve({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),ve({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),ve({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[cn("Placeholder 1","placeholder_1")]}),ve({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",options:[cn("Placeholder 1","placeholder_1")]}),ve({type:"validateInput",label:"Validate",icon:"iconoir:www",inputLabel:"Validate Input Label",inputType:"validateInput",url:"https://api.example.com/validate?value={value}",method:"GET",responseType:"string"}),ve({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),ve({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),ve({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}),ve({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),ve({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),ve({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",options:[cn("Checkbox Option","")]}),ve({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),ve({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[cn("Radio Option","")]}),ve({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),ve({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[]}),ve({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Pd,showState:!1}),ve({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),ve({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Ce.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),ve({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),ve({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),ve({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),ve({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"}]}),ve({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),ve({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[cn("Option 1","option_1"),cn("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""})],Bd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","validateInput","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix","polling"],dateAndTime:["date"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Id=[{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"}],Dd=["amount"],_d=["text","number"],Od=["text","number","amount","date","password"],Kd=["amount"],ti=["grid","section","divider","spacer","basicText"],Hd=["radio","select","checkbox","multiselect","matrix","polling"],Gd=["validateInput"],Fd=["tableInput"],uo=["basicText"],Vd=[{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"}];function zd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=x.useState((e==null?void 0:e.length)>0?e:[{value:""}]);x.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function a(d,u){const m=[...o];m[u]={...m[u],value:d},s(m),n&&n(m)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((m,c)=>c!==d);s(u),n&&n(u)}return x.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),t.jsxs("div",{className:"]",children:[t.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[t.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:t.jsx("div",{className:"px-2 py-2",children:t.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>t.jsx("div",{className:"grid text-sm border-b border-gray-100",children:t.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[t.jsx("span",{className:"flex-1",children:t.jsx(ei,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:m=>a(m,u),allowNegativeValue:!1})}),t.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),t.jsx("div",{className:"mt-1 flex justify-end",children:t.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const Wd=()=>t.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:t.jsxs("ul",{children:[t.jsxs("li",{className:"text-xs",children:["API URL example format: ",t.jsx("code",{children:"https://example.com/validation?value={value}"})]}),t.jsxs("li",{className:"text-xs",children:[t.jsx("span",{className:"block mb-1",children:" Response example format:"}),t.jsx("pre",{className:"bg-white p-2 rounded-md",children:t.jsxs("code",{children:["{ ",t.jsx("br",{}),' "data": { ',t.jsx("br",{}),' "status": true, ',t.jsx("br",{}),' "description": "John Doe" ',t.jsx("br",{})," } ",t.jsx("br",{}),"}"]})})]})]})}),$d=()=>t.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:t.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Method:"})," ",t.jsx("code",{children:"GET"})]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Response format:"}),t.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:t.jsx("code",{children:`{
|
|
13
|
+
`,children:E&&t.jsx(te,{icon:"meteor-icons:check",iconClass:"w-3.5 h-3.5 text-white"})}),t.jsxs("div",{children:[t.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),g&&t.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:g})]})]}),(o==null?void 0:o[n])&&t.jsx("p",{className:"ml-8 text-sm text-red-600",children:(S=o[n])==null?void 0:S.message})]})}return a==="textarea"?t.jsxs("div",{className:"space-y-1.5 relative",children:[t.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}),t.jsx("textarea",{...N,onChange:C=>{var E;(E=N.onChange)==null||E.call(N,C),f==null||f(C)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:b}),(o==null?void 0:o[n])&&t.jsx("p",{className:"mt-1 text-sm text-red-600",children:(w=o[n])==null?void 0:w.message})]}):t.jsxs("div",{className:" relative w-full",children:[e&&t.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}),t.jsx("input",{...N,onChange:C=>{var E;(E=N.onChange)==null||E.call(N,C),f==null||f(C)},type:a,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:b,min:h,max:p}),(o==null?void 0:o[n])&&t.jsx("p",{className:"mt-1 text-sm text-red-600",children:(A=o[n])==null?void 0:A.message})]})};function Nd({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return t.jsx("div",{className:de("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(a=>t.jsx("div",{children:t.jsx(le,{placeholder:e.placeholder,type:e.inputType,label:a==null?void 0:a.label,register:i,name:e.id,value:a.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},a.id))})}function Ad({element:e,state:n}){return t.jsx("div",{children:"SectionInput"})}function Cd({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return t.jsx("div",{className:de("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(a=>t.jsx("div",{children:t.jsx(le,{placeholder:e.placeholder,type:e.inputType,label:a==null?void 0:a.label,register:i,name:e.id,value:a.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},a.id))})}const un=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:a,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:m,subText:c,labelClass:b="text-[10px]",loading:v,disabled:h})=>{const[p,g]=x.useState(u?[]:null),f=x.useRef(!1),N=x.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(A=>{var C;return typeof w.value=="object"?((C=w.value)==null?void 0:C.id)===(A==null?void 0:A.id):w.value===A})):[]:e.find(w=>{var A;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((A=w.value)==null?void 0:A.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]);x.useEffect(()=>{if(f.current){f.current=!1;return}if(u&&Array.isArray(N)&&Array.isArray(p)){const w=p==null?void 0:p.map(C=>C.value),A=N==null?void 0:N.map(C=>C.value);JSON.stringify(w)!==JSON.stringify(A)&&g(N)}else(N==null?void 0:N.value)!==(p==null?void 0:p.value)&&g(N)},[N,u]);const y=x.useCallback(w=>{var A;if(f.current=!0,g(w),s){const C=u?Array.isArray(w)?w==null?void 0:w.map(E=>E.value):[]:(A=w==null?void 0:w.value)!=null?A:null;s(a,C),d==null||d(a)}o&&!f.current&&o(a)},[s,a,d,o,u]),S=x.useMemo(()=>v?"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,v,n,u]);return t.jsxs("div",{className:"relative",children:[!m&&l&&t.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),m&&l&&t.jsx("label",{className:de("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",b),children:l}),t.jsx(re.Listbox,{value:p,onChange:y,multiple:u,disabled:h||v,children:t.jsxs("div",{className:"relative",children:[t.jsxs(re.Listbox.Button,{className:"field-control",disabled:h||v,children:[t.jsx("span",{className:de("block text-sm text-left truncate",{"opacity-60":!p||v}),children:S}),t.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:t.jsx(te,{icon:"lucide:chevron-down"})})]}),t.jsx(re.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(re.Listbox.Options,{anchor:"bottom start",className:"select-button-options",children:e.length===0?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,A)=>{var C;return t.jsx(re.Listbox.Option,{value:w,className:({active:E})=>de("select-option",{active:E}),children:({selected:E})=>t.jsx("div",{className:de("option-text",{selected:E}),children:w.label})},((C=w.value)==null?void 0:C.id)||w.value||A)})})})]})}),!i&&c&&t.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),(i==null?void 0:i.message)&&t.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Bn({options:e=[],apiUrl:n,value:i,defaultValue:o,onGetValue:s,readOnly:a,name:l,customClass:r}){const[d,u]=x.useState(""),[m,c]=x.useState([]),[b,v]=x.useState(!1);x.useEffect(()=>{(async()=>{var w,A;if(n){v(!0);try{const C=xe("token"),E=C?{headers:{Authorization:`Bearer ${C}`}}:{};let I=(await Xe.get(n,E)).data;if(I&&!Array.isArray(I)&&(I.data&&Array.isArray(I.data)?I=I.data:(w=I.data)!=null&&w.data&&Array.isArray(I.data.data)?I=I.data.data:I.results&&Array.isArray(I.results)?I=I.results:(A=I.data)!=null&&A.results&&Array.isArray(I.data.results)?I=I.data.results:I.items&&Array.isArray(I.items)&&(I=I.items)),Array.isArray(I)){const P=I.map(T=>typeof T=="string"?{label:T,value:T}:{label:T.label||T.name||String(T.id||T.value),value:String(T.value||T.id||T.name)});c(P)}}catch(C){console.error("Failed to fetch options",C)}finally{v(!1)}}})()},[n]);const h=n?m:e,p=x.useMemo(()=>{const S=i!=null?i:o;return S==null||S===""?null:h.find(w=>String(w.value)===String(S)||String(w.label)===String(S))||null},[i,o,h]),[g,f]=x.useState(p);x.useEffect(()=>{if(i!==void 0)if(i===null||i==="")f(null);else{const S=h.find(w=>String(w.value)===String(i)||String(w.label)===String(i))||null;f(S)}},[i,h]);const N=x.useMemo(()=>{if(d==="")return h;const S=d.toLowerCase();return h.filter(w=>w.label.toLowerCase().includes(S))},[d,h]),y=x.useCallback(S=>{f(S),s(l,S)},[l,s]);return t.jsx("div",{className:"relative w-full",children:t.jsxs(re.Combobox,{value:g,onChange:y,disabled:a,children:[t.jsxs("div",{className:"relative",children:[t.jsx(re.ComboboxInput,{className:`field-control ${r}`,displayValue:S=>(S==null?void 0:S.label)||"",onChange:S=>u(S.target.value),placeholder:b?"Loading...":a?"":"Select an option..."}),!a&&t.jsx(re.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:b?t.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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"})]}):t.jsx(te,{icon:"octicon:chevron-down-12"})})]}),t.jsx(re.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",children:b?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):N.length===0?t.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):N==null?void 0:N.map(S=>t.jsx(re.ComboboxOption,{value:S,className:({active:w,selected:A})=>de("select-option",{active:w,selected:A}),children:({selected:w})=>t.jsx("div",{className:de("option-text",{selected:w}),children:S.label})},S.value))})]})})}function kd({element:e,validationData:n}){var r,d;const{register:i=()=>({}),trigger:o,setValue:s,watch:a}=n||{};let l;return a&&(l=a()[e.id]),x.useEffect(()=>{i(e.id)},[e.id,i]),t.jsx(t.Fragment,{children:e.selectType==="list"?t.jsx(un,{options:(r=e==null?void 0:e.options)!=null?r:[],register:i,name:e.id,setValue:s,trigger:o,value:l,className:de("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):t.jsx(Bn,{name:e.id,options:(d=e==null?void 0:e.options)!=null?d:[],defaultValue:l,onGetValue:s,readOnly:n==null?void 0:n.isReadOnly})})}function Md({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return t.jsx("textarea",{placeholder:e.placeholder,rows:4,className:de("field-control resize-none",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}function ro(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,a){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 a.shouldUseNativeValidation&&fs.validateFieldsNatively({},a),{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:fs.toNestErrors((r=l,d=!a.shouldUseNativeValidation&&a.criteriaMode==="all",(r.inner||[]).reduce(function(u,m){if(u[m.path]||(u[m.path]={message:m.message,type:m.type}),d){var c=u[m.path].types,b=c&&c[m.type];u[m.path]=Ve.appendErrors(m.path,d,u,m.type,b?[].concat(b,m.message):m.message)}return u},{})),a)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ed=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:a=""})=>{const l=de("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return t.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,m=de("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"}`,a),c=de({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),b=u>0&&t.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 t.jsxs("button",{onClick:()=>o(r.key),className:de(m,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,b]},r.key)})})},ai=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}]}]`),Td={...{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:""},cn=(e,n=e)=>({label:e,value:n,id:Ce.v4()}),ve=e=>({...Td,...e}),Pd=ai==null?void 0:ai.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Ld=[ve({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),ve({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),ve({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),ve({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[cn("Placeholder 1","placeholder_1")]}),ve({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",options:[cn("Placeholder 1","placeholder_1")]}),ve({type:"validateInput",label:"Validate",icon:"iconoir:www",inputLabel:"Validate Input Label",inputType:"validateInput",url:"https://api.example.com/validate?value={value}",method:"GET",responseType:"string"}),ve({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),ve({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),ve({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}),ve({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),ve({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),ve({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",options:[cn("Checkbox Option","")]}),ve({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),ve({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[cn("Radio Option","")]}),ve({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),ve({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[]}),ve({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Pd,showState:!1}),ve({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),ve({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Ce.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),ve({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),ve({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),ve({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),ve({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"}]}),ve({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),ve({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[cn("Option 1","option_1"),cn("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""})],Bd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","validateInput","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix","polling"],dateAndTime:["date"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Id=[{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"}],Dd=["amount"],_d=["text","number"],Od=["text","number","amount","date","password"],Kd=["amount"],ti=["grid","section","divider","spacer","basicText"],Hd=["radio","select","checkbox","multiselect","matrix","polling"],Gd=["validateInput"],Fd=["tableInput"],uo=["basicText"],Vd=[{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"}];function zd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=x.useState((e==null?void 0:e.length)>0?e:[{value:""}]);x.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function a(d,u){const m=[...o];m[u]={...m[u],value:d},s(m),n&&n(m)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((m,c)=>c!==d);s(u),n&&n(u)}return x.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),t.jsxs("div",{className:"]",children:[t.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[t.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:t.jsx("div",{className:"px-2 py-2",children:t.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>t.jsx("div",{className:"grid text-sm border-b border-gray-100",children:t.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[t.jsx("span",{className:"flex-1",children:t.jsx(ei,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:m=>a(m,u),allowNegativeValue:!1})}),t.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),t.jsx("div",{className:"mt-1 flex justify-end",children:t.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const Wd=()=>t.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:t.jsxs("ul",{children:[t.jsxs("li",{className:"text-xs",children:["API URL example format: ",t.jsx("code",{children:"https://example.com/validation?value={value}"})]}),t.jsxs("li",{className:"text-xs",children:[t.jsx("span",{className:"block mb-1",children:" Response example format:"}),t.jsx("pre",{className:"bg-white p-2 rounded-md",children:t.jsxs("code",{children:["{ ",t.jsx("br",{}),' "data": { ',t.jsx("br",{}),' "status": true, ',t.jsx("br",{}),' "description": "John Doe" ',t.jsx("br",{})," } ",t.jsx("br",{}),"}"]})})]})]})}),$d=()=>t.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:t.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Method:"})," ",t.jsx("code",{children:"GET"})]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Response format:"}),t.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:t.jsx("code",{children:`{
|
|
14
14
|
"data": [
|
|
15
15
|
{ "label": "Option 1", "value": "1" },
|
|
16
16
|
{ "label": "Option 2", "value": "2" }
|
|
17
17
|
]
|
|
18
|
-
}`})})]})]})}),Js=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),co=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:Js((i=n.label)!=null?i:"")}}),mo=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:Js((i=n.headerName)!=null?i:"")}}),Zs=({setValue:e,name:n,isFloating:i,label:o,type:s})=>{const[a,l]=x.useState(""),r=
|
|
18
|
+
}`})})]})]})}),Js=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),co=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:Js((i=n.label)!=null?i:"")}}),mo=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:Js((i=n.headerName)!=null?i:"")}}),Zs=({setValue:e,name:n,isFloating:i,label:o,type:s})=>{const[a,l]=x.useState(""),r=xe("config"),d=u=>{const m=u.target.files[0];if(!m)return;l(m.name);const c=new FileReader;m.name.endsWith(".csv")?(c.onload=b=>{const v=b.target.result,h=mr.parse(v,{header:!0});e(n,(s==="dataGrid"?mo:co)(h.data))},c.readAsText(m)):m.name.endsWith(".xlsx")||m.name.endsWith(".xls")?(c.onload=b=>{const v=new Uint8Array(b.target.result),h=gs.read(v,{type:"array"}),p=h.SheetNames[0],g=h.Sheets[p],f=gs.utils.sheet_to_json(g);e(n,(s==="dataGrid"?mo:co)(f))},c.readAsArrayBuffer(m)):Ee.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return t.jsxs("div",{children:[t.jsxs("div",{className:"relative",children:[t.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:o}),t.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:d,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),a&&t.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",a]})]}),t.jsx("a",{download:!0,href:s==="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:(r==null?void 0:r.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},jd=()=>t.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:t.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Method:"})," ",t.jsx("code",{children:"GET"})]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Response format:"}),t.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:t.jsx("code",{children:`{
|
|
19
19
|
"data": [
|
|
20
20
|
{ "field": "Name", "headerName": "name", editable:true },
|
|
21
21
|
]
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
"data": [
|
|
24
24
|
{ "name": "Document Name", "id": "documentMainId", ...restObject },
|
|
25
25
|
]
|
|
26
|
-
}`})})]})})}),qd=()=>t.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:t.jsxs("ul",{children:[t.jsxs("li",{className:"text-xs",children:["Method: GET ",t.jsx("br",{}),"URL format:"," ",t.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),t.jsxs("li",{className:"text-xs",children:[t.jsx("span",{className:"block mb-1",children:" Response example format:"}),t.jsx("pre",{className:"p-2 bg-white rounded-md",children:t.jsxs("code",{children:["{ ",t.jsx("br",{}),' "data": { ',t.jsx("br",{}),' "status": true, ',t.jsx("br",{}),' "isSigned": true ',t.jsx("br",{})," } ",t.jsx("br",{}),"}"]})})]})]})});function Yd(e){return e.flatMap(n=>{var i;return(i=n==null?void 0:n.questionData)!=null?i:[]})}const bo=["text","number","boolean"],Xs=["equals","not_equals","contains","not_contains"],Jd=["greater","less"];function Zd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:a}=x.useContext(Ae),l=o("visibilityDependentFields")||[],r=x.useMemo(()=>{var u;return(u=Yd(a).filter(m=>m.id!==s))==null?void 0:u.map(m=>{const c=l.find(b=>b.id===m.id);return{id:m.id,value:m.id,label:m.inputLabel,sectionId:m.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:""}})},[a,l,s]),d=(u,m,c)=>{const b=l==null?void 0:l.map((v,h)=>h===u?{...v,[m]:c}:v);n("visibilityDependentFields",b)};return t.jsxs("div",{className:"visibility-editor",children:[t.jsx("label",{className:"label",children:"Select Dependent Fields"}),t.jsx(lo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}}),l.length>0&&t.jsx("div",{className:"py-1 bg-gray-100 rounded dependent-fields",children:l==null?void 0:l.map((u,m)=>{var c,b;return t.jsxs("div",{className:"dependent-field",children:[t.jsx("input",{type:"text",value:u.label,readOnly:!0,disabled:!0,className:"field-label"}),t.jsx("div",{className:"field-listbox min-w-[100px]",children:t.jsx(le.Listbox,{value:u.fieldType,onChange:v=>d(m,"fieldType",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldType}),t.jsx(le.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:bo==null?void 0:bo.map(v=>t.jsx(le.Listbox.Option,{value:v,className:"listbox-option",children:v},v))})})]})})}),t.jsx("div",{className:"field-listbox min-w-[100px]",children:t.jsx(le.Listbox,{value:u.operator,onChange:v=>d(m,"operator",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(le.Listbox.Button,{className:"listbox-button",children:u.operator.replace("_"," ")}),t.jsx(le.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:(c=u.fieldType==="number"?[...Xs,...Jd]:Xs)==null?void 0:c.map(v=>t.jsx(le.Listbox.Option,{value:v,className:"listbox-option",children:v.replace("_"," ")},v))})})]})})}),u.fieldType!=="boolean"?t.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:v=>d(m,"fieldValue",v.target.value),placeholder:"Value",className:"field-value"}):t.jsx("div",{className:"field-listbox",children:t.jsx(le.Listbox,{value:(b=u.fieldValue)!=null?b:"",onChange:v=>d(m,"fieldValue",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),t.jsx(le.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsxs(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:[t.jsx(le.Listbox.Option,{value:!0,className:"listbox-option",children:"True"}),t.jsx(le.Listbox.Option,{value:!1,className:"listbox-option",children:"False"})]})})]})})})]},u.id)})})]})}function Qs(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 a=e.slice(o);return a&&n.push({type:"operator",value:a}),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,a]=x.useState(()=>Qs(e)),[l,r]=x.useState(null),[d,u]=x.useState(!1),[m,c]=x.useState(""),[b,v]=x.useState(null),h=x.useRef(null),p=x.useRef(null),g=x.useRef(new Map);x.useEffect(()=>{const k=Qs(e);a(k)},[]);const f=x.useCallback(k=>{n(Xd(k))},[n]),N=(k,I)=>{const P=[...s];P[k]={type:"operator",value:I},a(P),f(P)},y=k=>{const I=s.filter((P,T)=>T!==k);a(I),f(I)},S=k=>{v(k),c(""),u(!0)},w=(k,I)=>{const P=I!==void 0?I:b!=null?b:s.length,T=[...s],O=T.slice(0,P),E=T.slice(P),_=[...O,{type:"field",id:k.id,display:k.display},...E],B=A(_);a(B),f(B),u(!1),v(null)};function A(k){const I=[];if(k.length===0)return[{type:"operator",value:""}];k[0].type==="field"&&I.push({type:"operator",value:""});for(let P=0;P<k.length;P++)I.push(k[P]),k[P].type==="field"&&(P+1>=k.length||k[P+1].type==="field")&&I.push({type:"operator",value:""});return I}const C=i.filter(k=>k.display.toLowerCase().includes(m.toLowerCase())),M=s.every(k=>k.type==="operator"&&k.value.trim()==="");return t.jsxs("div",{className:"relative",ref:p,children:[t.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var I;const k=[...s].reverse().findIndex(P=>P.type==="operator");if(k!==-1){const P=s.length-1-k;(I=g.current.get(P))==null||I.focus()}},children:[M&&t.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((k,I)=>k.type==="field"?t.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:[k.display,t.jsx("button",{type:"button",onMouseDown:P=>{P.preventDefault(),y(I)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${k.display}`,children:"×"})]},I):t.jsx("input",{ref:P=>{P?g.current.set(I,P):g.current.delete(I)},type:"text",value:k.value,onChange:P=>N(I,P.target.value),onFocus:()=>r(I),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(k.value.length*9+8,l===I?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${I}`},I)),t.jsx("button",{type:"button",onMouseDown:k=>{k.preventDefault(),S(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:t.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!M&&t.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:[t.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(k=>k.type==="field"?`[${k.display}]`:k.value).join("")]}),d&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),t.jsxs("div",{ref:h,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:[t.jsx("div",{className:"p-2 border-b border-gray-100",children:t.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:m,onChange:k=>c(k.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:k=>{k.key==="Escape"&&u(!1),k.key==="Enter"&&C.length>0&&w(C[0])}})}),t.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&t.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(k=>t.jsxs("div",{onMouseDown:I=>{I.preventDefault(),w(k)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[t.jsx("span",{className:"font-medium text-gray-800",children:k.display}),t.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[k.id.slice(0,8),"..."]})]},k.id))]})]})]}),i.length>0&&t.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(k=>t.jsxs("button",{type:"button",onMouseDown:I=>{I.preventDefault(),w(k,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:["+ ",k.display]},k.id))})]})}const Rd=ee.object().shape({inputLabel:ee.string().nullable(),placeholder:ee.string().nullable(),description:ee.string().nullable(),isReadOnly:ee.boolean(),isDisabled:ee.boolean(),isRequired:ee.boolean(),requiredMessage:ee.string().nullable(),minLengthMessage:ee.string().nullable(),maxLengthMessage:ee.string().nullable(),maxLength:ee.number().typeError("Expecting a number").nullable(),minLength:ee.number().typeError("Expecting a number").nullable(),inputType:ee.string().nullable(),maxAmountMessage:ee.string().nullable(),maxAmount:ee.string().nullable(),options:ee.array().of(ee.object().shape({label:ee.string().nullable(),value:ee.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:ee.array().of(ee.object().shape({label:ee.string().nullable(),value:ee.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:ee.string().nullable(),url:ee.string().nullable(),method:ee.string().nullable(),denominators:ee.mixed().nullable(),responseType:ee.string().nullable(),minAmount:ee.string().nullable(),heading:ee.string().nullable(),minAmountMessage:ee.string().nullable(),columns:ee.number().nullable().max(4).min(2),value:ee.mixed().nullable(),customClass:ee.string().nullable(),elementClass:ee.string().nullable(),apiUrl:ee.string().nullable(),selectType:ee.string().default("list"),dateType:ee.string().default("basic"),validationUrl:ee.string(),signatureLink:ee.string(),minDate:ee.string().nullable(),maxDate:ee.string().nullable(),canHaveDateRange:ee.boolean(),allowYearPicker:ee.boolean(),isHidden:ee.boolean(),visibilityDependentFields:ee.array().nullable(),isMultiple:ee.boolean(),acceptedFiles:ee.array(),showState:ee.boolean(),formula:ee.string().nullable(),fetchExternalResults:ee.boolean(),externalApiUrl:ee.string().nullable()}),eu=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],nu=({isOpen:e,onClose:n,element:i})=>{var V;const o=eu.filter(G=>!ti.includes(i.inputType)||G.key!=="validation"),{updateElement:s,formData:a}=x.useContext(Ae),[l,r]=x.useState("basic"),[d,u]=x.useState(!1),[m,c]=x.useState("manual"),b=((V=a==null?void 0:a.flatMap(G=>(G==null?void 0:G.questionData)||[]))==null?void 0:V.length)||0,v=x.useMemo(()=>(a==null?void 0:a.flatMap(G=>(G==null?void 0:G.questionData)||[]).filter(G=>{var H;return G.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((H=G.type)==null?void 0:H.toLowerCase())}).map(G=>({id:G.id,display:G.inputLabel||G.label||"Unnamed"})))||[],[b,i==null?void 0:i.id]),h=ye("config"),{register:p,handleSubmit:g,control:f,setValue:N,watch:y,trigger:S,formState:{errors:w,isSubmitting:A,isValid:C},reset:M}=Ve.useForm({resolver:ro(Rd),defaultValues:{...i,options:i.options||[]}}),k=y(),{fields:I,append:P,remove:T}=Ve.useFieldArray({control:f,name:"options"}),{fields:O,append:E,remove:_}=Ve.useFieldArray({control:f,name:"options1"}),{fields:B,append:K,remove:D}=Ve.useFieldArray({control:f,name:"dataColumns"});x.useEffect(()=>{e||M()},[e,M]);const L=G=>{s(G,i.sectionId),n()},q={headers:{Authorization:`Bearer ${ye("token")}`}},W=x.useCallback(async()=>{var G,H,j;if(!k.apiUrl||!/^https?:\/\//.test(k.apiUrl)){Ee.toast.info("Please provide a valid API URL");return}try{u(!0);const{status:F,data:$}=await Xe.get(k.apiUrl,q);if(F!==200||!$){Ee.toast.error("Unexpected response from server.");return}const J=$.data||$.record||$.result;if(!Array.isArray(J)){Ee.toast.error("Expected an array in response (data, record, or result).");return}((G=i.type)==null?void 0:G.toLowerCase())==="datagrid"?N("dataColumns",mo(J)):N("options",co(J))}catch(F){const $=((j=(H=F==null?void 0:F.response)==null?void 0:H.data)==null?void 0:j.message)||(F==null?void 0:F.message)||"Unable to load options";Ee.toast.error($)}finally{u(!1)}},[i.type,N,k.apiUrl]),Y=["manual","api","sheet"];function X(){m==="api"&&W()}const ne=()=>{var G,H;return t.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[t.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:Y==null?void 0:Y.map(j=>t.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[t.jsx("input",{type:"radio",name:"optionType",onChange:F=>c(F.target.value),value:j})," ",t.jsxs("span",{children:[j," options"]})]},j))}),m==="api"&&t.jsxs("div",{className:"mb-4",children:[t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[t.jsx(te,{watch:y,label:"Load Options from Api",name:"apiUrl",errors:w,register:p,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&t.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"})]}),t.jsx("button",{onClick:X,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),t.jsx($d,{})]}),m==="sheet"&&t.jsx("div",{className:"mb-4",children:t.jsx(Zs,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:N,name:"options"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((G=i==null?void 0:i.type)==null?void 0:G.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),I==null?void 0:I.map((j,F)=>t.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:F===0?"Label":"",name:`options.${F}.label`,register:p,errors:w,element:i,placeholder:"Label",onChange:$=>{const R=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`options.${F}.value`,R,{shouldValidate:!0,shouldDirty:!0})}})}),t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:F===0?"Value":"",name:`options.${F}.value`,register:p,errors:w,element:i,placeholder:"Value"})}),t.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>T(F),children:t.jsx(ae,{icon:"iconamoon:sign-times-fill"})})]},j.id))," ",t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>P({label:"",value:"",id:Ce.v4()}),children:[t.jsx(ae,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&t.jsxs(t.Fragment,{children:[t.jsx("hr",{className:"my-5"}),t.jsxs("div",{children:[" ",t.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((H=i==null?void 0:i.type)==null?void 0:H.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),O==null?void 0:O.map((j,F)=>t.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:F===0?"Label":"",name:`options1.${F}.label`,register:p,errors:w,element:i,placeholder:"Label",onChange:$=>{const R=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`options1.${F}.value`,R,{shouldValidate:!0,shouldDirty:!0})}})}),t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:F===0?"Value":"",name:`options1.${F}.value`,register:p,errors:w,element:i,placeholder:"Value"})}),t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:F===0?"Key":"",name:`options1.${F}.key`,register:p,errors:w,element:i,placeholder:"Key"})}),t.jsx("button",{disabled:O.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>_(F),children:t.jsx(ae,{icon:"iconamoon:sign-times-fill"})})]},j.id)),t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>E({label:"",value:"",key:"",id:Ce.v4()}),children:[t.jsx(ae,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},se=()=>t.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[t.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:Y==null?void 0:Y.map(G=>t.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[t.jsx("input",{type:"radio",name:"optionType",onChange:H=>c(H.target.value),value:G,checked:G===m})," ",t.jsxs("span",{children:[G," options"]})]},G))}),m==="api"&&t.jsxs("div",{className:"mb-4",children:[t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[t.jsx(te,{watch:y,label:"Load Columns from Api",name:"apiUrl",errors:w,register:p,className:"!w-full",placeholder:"https://example.com/columns"}),d&&t.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"})]})," ",t.jsx("button",{onClick:X,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),t.jsx(jd,{})]}),m==="sheet"&&t.jsx("div",{className:"mb-4",children:t.jsx(Zs,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:N,name:"dataColumns"})}),t.jsx("div",{className:"grid gap-y-3",children:B==null?void 0:B.map((G,H)=>{var j,F;return t.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:[t.jsxs("div",{className:"flex items-center gap-x-4",children:[t.jsx("div",{className:"min-w-[140px]",children:t.jsx(un,{label:H===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:p,name:`dataColumns.${H}.type`,setValue:N,trigger:S,value:k.dataColumns[H].type})}),t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:H===0?"Display header":"",name:`dataColumns.${H}.headerName`,register:p,onChange:$=>{const R=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`dataColumns.${H}.field`,R,{shouldValidate:!0,shouldDirty:!0})},errors:w,element:i,placeholder:"header"})}),t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:H===0?"Field key":"",name:`dataColumns.${H}.field`,register:p,errors:w,element:i,placeholder:"fieldKey",disabled:!0})}),t.jsx("button",{disabled:B.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>D(H),children:t.jsx(ae,{icon:"iconamoon:sign-times-fill"})})]}),((F=(j=k.dataColumns)==null?void 0:j[H])==null?void 0:F.type)==="select"&&t.jsx("div",{className:"flex items-center gap-x-4",children:t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Options API URL",name:`dataColumns.${H}.optionsUrl`,register:p,errors:w,element:i,placeholder:"https://api.example.com/options"})})})]},G.id)})}),t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>K({headerName:"",field:"",editable:!0,id:Ce.v4(),type:"text",validate:!1}),children:[t.jsx(ae,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),Q=x.useCallback(async()=>{const G=ye("token"),{status:H,data:j}=await Xe.get(k.url,{headers:{Authorization:`Bearer ${G}`}});H===200&&N("options",(j==null?void 0:j.data)||j)},[N,k.url]);x.useEffect(()=>{i.type==="document"&&k.url&&Q()},[k.url,i.type,Q]);const U=t.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:G=>G.stopPropagation(),onPointerDown:G=>G.stopPropagation(),onDragStart:G=>{G.preventDefault(),G.stopPropagation()},children:t.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:[t.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:t.jsx(ae,{icon:"tabler:x",iconClass:"text-xl"})}),t.jsx("div",{className:"w-full pt-4",children:t.jsx(Ed,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),t.jsxs("form",{onSubmit:g(L),className:"w-full flex-1 flex flex-col",children:[t.jsxs("div",{className:"flex-1",children:[" ",t.jsxs("div",{className:" max-h-[70vh] overflow-y-auto flex-1",children:[l==="basic"&&t.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[uo.includes(i.inputType)&&t.jsx(t.Fragment,{children:t.jsx(te,{watch:y,label:"Value",name:"value",register:p,errors:w,element:i})}),!uo.includes(i.inputType)&&!ti.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsx(te,{watch:y,label:"Label",name:"inputLabel",register:p,errors:w,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&t.jsx(te,{watch:y,label:"Child Label",name:"childLabel",register:p,errors:w,element:i})]}),Od.includes(i.inputType)&&t.jsx(te,{watch:y,label:"Placeholder",name:"placeholder",register:p,errors:w,element:i}),Dd.includes(i.inputType)&&t.jsx(te,{watch:y,label:"Prefix",name:"prefix",register:p,errors:w,element:i}),Gd.includes(i.inputType)&&t.jsxs("div",{className:"grid gap-y-4",children:[t.jsx(Wd,{}),t.jsx(te,{watch:y,label:"Api Url",name:"url",register:p,errors:w,element:i}),t.jsx(un,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:p,name:"method",setValue:N,trigger:S,value:y("method")}),t.jsx(un,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:p,name:"responseType",setValue:N,trigger:S,value:y("responseType")})]}),Fd.includes(i.inputType)&&t.jsx(zd,{onChange:G=>{N("denominators",G)},value:y("denominators")}),!uo.includes(i.inputType)&&!ti.includes(i.inputType)&&t.jsx(te,{watch:y,label:"Short Description",name:"description",register:p,errors:w,element:i}),i.type.toLowerCase()==="date"&&t.jsxs(t.Fragment,{children:[t.jsx(un,{label:"Date Format",options:Id,register:p,name:"dateFormat",setValue:N,trigger:S,value:y("dateFormat")}),t.jsx(te,{watch:y,label:"Allow Range",name:"canHaveDateRange",register:p,errors:w,element:i,type:"checkbox",value:k.canHaveDateRange}),(k==null?void 0:k.canHaveDateRange)&&t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsx(Ji,{name:"minDate",value:k==null?void 0:k.minDate,onGetValue:N,placeholder:"Select min date"}),t.jsx(Ji,{name:"maxDate",value:k==null?void 0:k.minDate,onGetValue:N,placeholder:"Select max date",minDate:k==null?void 0:k.minDate})]}),t.jsx(te,{watch:y,label:"Allow Year Picker",name:"allowYearPicker",register:p,errors:w,element:i,type:"checkbox",value:k.allowYearPicker})]}),i.type.toLowerCase()==="country"&&t.jsx(te,{watch:y,label:"Allow States",name:"showState",register:p,errors:w,element:i,type:"checkbox",value:k.showState}),i.type.toLowerCase()==="selectfield"&&t.jsx(un,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:p,name:"selectType",setValue:N,trigger:S,value:y("selectType")}),i.type.toLowerCase()==="grid"&&t.jsx(te,{watch:y,label:"Number of columns (max: 4)",name:"columns",register:p,errors:w,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&t.jsxs("div",{className:"grid gap-y-6",children:[t.jsxs("div",{className:"grid gap-y-1",children:[t.jsx(te,{watch:y,label:"Document Options Url",name:"url",register:p,errors:w,element:i})," ",t.jsx(Ud,{})]}),t.jsxs("div",{className:"grid gap-y-1",children:[t.jsx(te,{watch:y,label:"Document Validation Url",name:"validationUrl",register:p,errors:w,element:i}),t.jsx(qd,{})]}),t.jsx("div",{className:"grid gap-y-1",children:t.jsx(te,{watch:y,label:"Signature Page Url",name:"signatureLink",register:p,errors:w,element:i})})]}),i.type.toLowerCase()==="datagrid"&&se(),i.type.toLowerCase()==="file"&&t.jsxs(t.Fragment,{children:[t.jsx(te,{watch:y,label:"Allow Multiple Uploads",name:"isMultiple",register:p,errors:w,element:i,type:"checkbox",value:k.isMultiple}),t.jsx(lo,{element:{options:Vd,id:"acceptedFiles",value:k==null?void 0:k.acceptedFiles},validationData:{register:p,setValue:N,trigger:S,watch:y},placeholder:"Choose file types"})]}),Hd.includes(i.inputType)&&ne(),t.jsxs("div",{children:[t.jsx("div",{className:"w-[150px] mb-4",children:t.jsx(te,{watch:y,label:"Toggle Visibility",name:"isHidden",register:p,errors:w,element:i,type:"checkbox",value:k.isHidden})})," ",k.isHidden&&t.jsx(Zd,{register:p,setValue:N,trigger:S,watch:y,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&t.jsxs("div",{className:"grid gap-y-2 mb-4",children:[t.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),t.jsx(Qd,{value:y("formula")||"",onChange:G=>N("formula",G,{shouldValidate:!0,shouldDirty:!0}),fields:v,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&t.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[t.jsx(te,{watch:y,label:"Fetch results from external API",name:"fetchExternalResults",register:p,errors:w,element:i,type:"checkbox",value:k.fetchExternalResults}),k.fetchExternalResults&&t.jsx(te,{watch:y,label:"External API URL (returns options results)",name:"externalApiUrl",register:p,errors:w,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!ti.includes(i.type.toLowerCase())&&l==="validation"&&t.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(te,{watch:y,label:"Required",name:"isRequired",register:p,errors:w,element:i,type:"checkbox",value:k.isRequired})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Error message text",name:"requiredMessage",register:p,errors:w,element:i})})]}),_d.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(te,{watch:y,label:"Min Length",name:"minLength",register:p,errors:w,element:i,type:"number"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Error message text",name:"minLengthMessage",register:p,errors:w,element:i})})]}),t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(te,{watch:y,label:"Max Length",name:"maxLength",register:p,errors:w,element:i,type:"number"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Error message text",name:"maxLengthMessage",register:p,errors:w,element:i})})]})]}),Kd.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(te,{watch:y,label:"Min Amount",name:"minAmount",register:p,errors:w,element:i,type:"amount"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Error message text",name:"minAmountMessage",register:p,errors:w,element:i})})]}),t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(te,{watch:y,label:"Max Amount",name:"maxAmount",register:p,errors:w,element:i,type:"amount"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(te,{watch:y,label:"Error message text",name:"maxAmountMessage",register:p,errors:w,element:i})})]})]})]})]})]}),t.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 mt-10 border-t",children:[t.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"}),t.jsx("button",{type:"submit",disabled:!C||A,style:{background:(h==null?void 0:h.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||A?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||A?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50 editor_option__save`,children:A?"Saving...":"Save"})]})]})]})});return document.body?ur.createPortal(U,document.body):U},vo=x.memo(({state:e,element:n,children:i})=>{var m,c;const[o,s]=x.useState(!1),{removeElement:a,duplicateElement:l,updateElement:r}=x.useContext(Ae),d=x.useMemo(()=>{var b;return(b=n==null?void 0:n.acceptedFiles)==null?void 0:b.map(v=>v.label).join(", ")},[n]),u=x.useCallback(()=>{a(n.id,n.sectionId)},[n.id,n.sectionId,a]);return t.jsxs("div",{className:"w-full min-w-0",children:[o&&t.jsx(nu,{isOpen:o,onClose:()=>s(!1),element:n}),t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsxs("span",{children:[" ",n.inputLabel&&t.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",d&&t.jsxs("span",{className:"text-gray-400 text-xs",children:["(",d==null?void 0:d.toLowerCase(),")"]})]})]}),e==="edit"&&t.jsxs("span",{className:"flex items-center gap-x-3",children:[((m=n.type)==null?void 0:m.toLowerCase())!=="spacer"&&((c=n.type)==null?void 0:c.toLowerCase())!=="divider"&&t.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[t.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:b=>r({...n,isRequired:b.target.checked},n.sectionId),className:"cursor-pointer"}),t.jsx("span",{className:"mt-0.5",children:"Required"})]}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>l(n==null?void 0:n.id,n.sectionId),title:"Duplicate",children:t.jsx(ae,{icon:"tabler:copy",iconClass:"text-base"})}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:t.jsx(ae,{icon:"circum:edit",iconClass:"text-base"})}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:u,title:"Remove",children:t.jsx(ae,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i]})});vo.displayName="ElementContainer";function iu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:a,isReadOnly:l}=n||{};let r;return a&&(r=a()[e.id]),t.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l,watch:a})}function ou(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 su=({imageUrl:e})=>{const[n,i]=x.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return t.jsxs("div",{children:[t.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&&t.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:t.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:a=>a.stopPropagation(),children:[t.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),t.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})};function au({element:e,validationData:n}){var A;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[a,l]=x.useState(),[r,d]=x.useState(!1),[u,m]=x.useState(!1),[c,b]=x.useState(""),v=s&&s(e==null?void 0:e.id);x.useEffect(()=>{l(v)},[v]);const[h,p]=x.useState("");x.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:f,responseType:N}=e||{},S={headers:{Authorization:`Bearer ${ye("token")}`}},w=x.useCallback(async C=>{var M,k,I,P,T,O,E,_,B,K,D;if(!(!g||!f)){d(!0);try{let L;if(f.toLowerCase()==="get"){const z=`${g}?value=${C}`;L=await Xe.get(z,S)}else if(f.toLowerCase()==="post")L=await Xe.post(g,{value:C},S);else throw new Error("Unsupported HTTP method");L.status===200&&((((k=(M=L==null?void 0:L.data)==null?void 0:M.data)==null?void 0:k.status)||((I=L==null?void 0:L.data)==null?void 0:I.status))===!0?(m(!0),N==="string"?b(((T=(P=L==null?void 0:L.data)==null?void 0:P.data)==null?void 0:T.description)||((O=L==null?void 0:L.data)==null?void 0:O.description)||"Validation successful"):p(((_=(E=L==null?void 0:L.data)==null?void 0:E.data)==null?void 0:_.description)||((B=L==null?void 0:L.data)==null?void 0:B.description)||{})):(console.error("Invalid input:",C),b("Unable to validate input"),m(!1)))}catch(L){console.error("Error validating input:",L),b(((D=(K=L==null?void 0:L.response)==null?void 0:K.data)==null?void 0:D.message)||"Unable to validate input"),m(!1)}finally{d(!1)}}},[f,N,g]);return x.useEffect(()=>{if(a){const C=setTimeout(()=>{w(a)},700);return()=>clearTimeout(C)}},[w,a]),t.jsxs("div",{children:[t.jsxs("div",{className:"relative flex items-center",children:[t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:re("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),onChange:C=>{l(C.target.value),o(e==null?void 0:e.id,C.target.value)},disabled:n==null?void 0:n.isReadOnly}),t.jsxs("span",{className:"absolute right-0",children:[r&&t.jsxs("span",{children:[" ",t.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:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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&&t.jsx("span",{className:"block pr-3 text-lg text-green-600",children:t.jsx(ae,{icon:"gg:check-o"})})]})]}),c&&N==="string"&&t.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),N==="object"&&t.jsx("div",{className:"grid grid-cols-2 gap-6 mt-2 text-sm text-gray-600",children:(A=Object.entries(h))==null?void 0:A.map(([C,M])=>t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("span",{className:"font-semibold",children:[C,":"]}),ou(M)?t.jsx(su,{imageUrl:M}):t.jsx("span",{children:String(M)})]},C))})]})}function tu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,a]=x.useState([...i]);function l(u,m){a(c=>{const b=[...c];return b[m]={...b[m],value:u},b})}function r(u,m){return parseFloat(u)*parseFloat(m)||0}const d=x.useMemo(()=>s.reduce((u,m)=>{const c=r(m.key,m.value);return u+c},0),[s]);return x.useEffect(()=>{e&&e(s)},[s]),x.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((m,c)=>({key:m.value,value:Array.isArray(i)&&i[c]?i[c].value:""}));a(u)}},[i,o]),t.jsx("div",{className:"mt-2",children:t.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[t.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[t.jsx("div",{className:"border-r px-4 py-2",children:t.jsx("span",{className:"",children:"Denomination"})}),t.jsx("div",{className:"border-r px-4 py-2",children:t.jsx("span",{children:"Quantity"})}),t.jsx("div",{className:"px-4 py-2",children:t.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,m)=>{var c,b;return t.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[t.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:t.jsx("span",{className:"",children:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),t.jsx("div",{className:"border-r px-4 py-1",children:t.jsx("span",{children:t.jsx(ei,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:v=>l(v,m),disabled:n,allowNegativeValue:!1})})}),t.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:t.jsx("span",{children:(b=r(u.key,u.value))==null?void 0:b.toLocaleString()})})]},m+"index")}),t.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[t.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),t.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function lu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},a=s&&s(e==null?void 0:e.id)||[];return x.useEffect(()=>{i(e.id)},[e.id,i]),t.jsx("div",{children:t.jsx(tu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:a,readOnly:e==null?void 0:e.isReadOnly})})}function ru({element:e}){return t.jsx("div",{className:re("py-6",e==null?void 0:e.customClass)})}function du({element:e}){return t.jsx("div",{children:t.jsx("hr",{className:re("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function uu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return t.jsx("div",{children:t.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function cu({element:e,state:n}){return t.jsx(t.Fragment,{children:t.jsx("div",{className:e==null?void 0:e.customClass,children:(e==null?void 0:e.value)||n==="edit"&&t.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function mu({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:a}){return t.jsxs("tr",{children:[n.map(l=>{var v;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:m}=s(e.id,l.field);let c="border-gray-300";l.validate&&((m==null?void 0:m.isValid)===!1?c="border-red-500 bg-red-50":(m==null?void 0:m.isValid)===!0&&(c="border-green-500 bg-green-50"));const b=`w-full py-1 rounded outline-none ${c}`;return t.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?t.jsxs("div",{className:"relative",children:[l.type==="number"?t.jsx(ei,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:b,onValueChange:h=>o(h,e.id,l.field)}):l.type==="checkbox"?t.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(h=>{const p=h==="yes",g=`radio-${e.id}-${String(l.field)}-${h}`;return t.jsxs("label",{htmlFor:g,className:"flex items-center gap-1 cursor-pointer",children:[t.jsx("input",{id:g,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===p,onChange:()=>o(p,e.id,l.field)}),t.jsx("span",{className:"text-sm",children:p?"Yes":"No"})]},h)})}):l.type==="select"?t.jsx(Bn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(h,p)=>o((p==null?void 0:p.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):t.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:h=>o(h.target.value,e.id,l.field),className:b}),u&&t.jsx("div",{className:"absolute right-1 top-1",children:t.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&m?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("span",{children:[String(r!=null?r:"")," ",m.data&&`[${m.data}]`]}),m.isValid?t.jsx("span",{className:"text-xs text-green-600",children:"✓"}):t.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(v=m.error)!=null?v:"",children:"✗"})]}):l.type==="select"?t.jsx(Bn,{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"?t.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):t.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&t.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:t.jsx("button",{type:"button",onClick:()=>a(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:t.jsx(ae,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const bu=x.memo(mu);function vu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,a]=x.useState(e),l=ye("config"),r=x.useRef(s);r.current=s,x.useEffect(()=>{a(b=>JSON.stringify(b)!==JSON.stringify(e)?e:b)},[e]);const d=x.useCallback((b,v,h)=>{const p=r.current.map(g=>g.id===v?{...g,[h]:b}:g);a(p),n==null||n(p)},[n]),u=x.useCallback(()=>{const b=Ce.v4(),v=o.reduce((p,g)=>(p[g.field]=g.field==="id"?b:"",p),{}),h=[...r.current,{id:b,...v}];a(h),n==null||n(h)},[o,n]),m=x.useCallback(b=>{const v=r.current.filter(h=>h.id!==b);a(v),n==null||n(v)},[n]),c=x.useCallback(()=>({isValidating:!1,result:void 0}),[]);return t.jsxs("div",{className:"mt-3 rounded",children:[t.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:t.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"bg-gray-100",children:[o.map((b,v)=>{var h;return t.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(h=b.headerName)!=null?h:String(b.field),b.validate&&t.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(b.id)}-${v}`)}),!i&&t.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),t.jsx("tbody",{children:s.length>0?s.map(b=>t.jsx(bu,{row:b,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:c,deleteRow:m},b.id)):t.jsx("tr",{children:t.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&t.jsx("div",{className:"flex justify-center mt-2",children:t.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 hu({element:e,validationData:n}){var v;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:a}=n||{},l=s&&s(e==null?void 0:e.id)||{},r=Array.isArray(l)?l:(v=l==null?void 0:l.rows)!=null?v:[];x.useEffect(()=>{i(e.id)},[e.id,i]);const d=x.useRef(""),u=x.useRef(e==null?void 0:e.id),m=x.useRef(e==null?void 0:e.dataColumns),c=x.useRef(o);u.current=e==null?void 0:e.id,m.current=e==null?void 0:e.dataColumns,c.current=o;const b=x.useCallback(h=>{var g;const p=JSON.stringify(h);p!==d.current&&(d.current=p,(g=c.current)==null||g.call(c,u.current,{rows:h,columns:m.current}))},[]);return t.jsx(vu,{value:r,onChange:b,columns:e==null?void 0:e.dataColumns,isReadOnly:a})}const Rs=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:a,name:l,label:r,value:d,trigger:u,isMultiple:m=!1,isFloatingLabel:c=!1,subText:b,labelClass:v="",loading:h,disabled:p})=>{const[g,f]=x.useState(m?[]:null),N=re("custom-select__control",e),y=x.useMemo(()=>n,[n]);return x.useEffect(()=>{const S=n==null?void 0:n.find(w=>{var A;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((A=w.value)==null?void 0:A.id)===(d==null?void 0:d.id):w.value===d});f(S||null)},[d,n]),x.useEffect(()=>{g&&a&&s&&(a(l,g==null?void 0:g.value),s(l),u==null||u(l))},[l,g]),t.jsxs("div",{className:"custom-select",children:[r&&!c&&t.jsx("label",{className:"custom-select__label",children:r}),c&&r&&t.jsx("label",{className:re("custom-select__floating-label",v),children:r}),t.jsx(le.Listbox,{value:g,onChange:f,multiple:m,disabled:p,children:t.jsxs("div",{className:"custom-select__wrapper",children:[t.jsxs(le.Listbox.Button,{className:N,disabled:p,children:[h?t.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):t.jsx("span",{className:"custom-select__value",children:(g==null?void 0:g.label)||t.jsx("span",{className:"custom-select__placeholder",children:i})}),t.jsx("span",{className:"custom-select__icon",children:t.jsx(ae,{icon:"lucide:chevron-down"})})]}),t.jsx(le.Transition,{as:x.Fragment,leave:"custom-select__transition",children:t.jsx(le.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:y==null?void 0:y.map((S,w)=>t.jsx(le.Listbox.Option,{value:S,className:({active:A})=>re("custom-select__option",A&&"custom-select__option--active"),children:({selected:A})=>t.jsx("span",{className:re("custom-select__option-label",A&&"custom-select__option--selected"),children:S.label})},w))})})]})}),b&&!o&&t.jsx("p",{className:"custom-select__subtext",children:b}),o&&t.jsx("span",{className:"custom-select__error",children:o.message})]})},fu=({element:e,validationData:n})=>{var p;const{register:i=()=>({}),trigger:o,setValue:s,watch:a,isReadOnly:l}=n||{},r=(p=e==null?void 0:e.id)!=null?p:"cascadeValue",[d,u]=x.useState(""),[m,c]=x.useState(""),b=(g,f)=>{const N=g&&f?`${g}_${f}`:"";s==null||s(r,N),o==null||o(r)},v=(g,f)=>{g==="first"?(u(f),c(""),b(f,"")):(c(f),b(d,f))};x.useEffect(()=>{if(a){const g=a(r);if(g!=null&&g.includes("_")){const[f,N]=g.split("_");u(f),c(N)}}},[a,r]);const h=x.useMemo(()=>{var g;return(g=e.options1)==null?void 0:g.filter(f=>f.key===d)},[e.options1,d]);return!e.options||!e.options1?null:t.jsxs("div",{children:[t.jsx("input",{type:"hidden",...i(r)}),t.jsx("div",{className:"relative",children:t.jsx(Rs,{setValue:(g,f)=>v("first",f),options:e.options,name:`${r}`,register:i,value:d})}),d&&t.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&t.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),t.jsx(Rs,{setValue:(g,f)=>v("second",f),options:h,name:`${r}`,register:i,value:m})]})]})},pu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:a="",element:l,validationData:r})=>{var f;const{register:d=()=>({}),trigger:u,setValue:m,watch:c,isReadOnly:b}=r||{},v=(f=c==null?void 0:c(l.id))!=null?f:0,[h,p]=x.useState(null);x.useEffect(()=>{v==null&&(m==null||m(l.id,e))},[]);const g=N=>{if(!i&&!b){const y=N+1;m==null||m(l.id,y),u==null||u(l.id),o==null||o(y)}};return t.jsxs("div",{className:`flex gap-1 ${a}`,children:[t.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(N,y)=>{const S=h!==null?y<=h:y<v;return t.jsx(Us,{icon:S?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${S?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||b)&&p(y),onMouseLeave:()=>!(i||b)&&p(null),onClick:()=>g(y)},y)})]})};function gu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return t.jsx("div",{className:re("w-full overflow-x-auto",e.customClass),children:t.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(a=>t.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:a.label},a.id||a.value))]})}),t.jsx("tbody",{children:o.map(a=>t.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[t.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:a.label}),s.map(l=>t.jsx("td",{className:"p-3 text-center align-middle",children:t.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-50",...i(`${e.id}.${a.value}`)})},l.id||l.value))]},a.id||a.value))})]})})}function ea({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:a,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=x.useMemo(()=>{var h;if(typeof r=="string"&&r.includes(",")){const[p,g]=(h=r.split(","))==null?void 0:h.map(f=>f.trim());return{country:g,state:p}}return{country:r,state:""}},[r]),m=x.useRef(r),c=x.useMemo(()=>{var h,p;return d?((p=(h=ai.find(g=>g.name===d))==null?void 0:h.states)==null?void 0:p.map(g=>({label:g.name,value:g.name})))||[]:[]},[d]),b=(h,p)=>{const f=(p==null?void 0:p.value)||"";o&&f!==m.current&&(o(e.id,f),s==null||s(e.id),m.current=f)},v=(h,p)=>{const g=(p==null?void 0:p.value)||"",f=g?`${g}, ${d}`:d;o&&f!==m.current&&(o(e.id,f),s==null||s(e.id),m.current=f)};return x.useEffect(()=>{m.current=r},[r]),t.jsxs("div",{className:"grid gap-y-6",children:[t.jsx("input",{type:"hidden",...i(e.id)}),t.jsx(Bn,{options:e.options,onGetValue:b,name:`${e.id}-country`,readOnly:a,defaultValue:d},`country-${d}`),c.length>0&&e.showState&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),t.jsx(Bn,{options:c,onGetValue:v,name:`${e.id}-state`,readOnly:a,defaultValue:u},`state-${u}`)]})]})}function yu({element:e,validationData:n}){const{register:i=()=>({}),isReadOnly:o}=n||{},{validationUrl:s,documentObj:a,signatureLink:l}=e,r=x.useMemo(()=>ye("config"),[]),[d,u]=x.useState(!1),[m,c]=x.useState(!1),b=x.useCallback(async()=>{var v,h;if(!(!s||!a))try{c(!0);const g={headers:{Authorization:`Bearer ${ye("token")}`}},{data:f}=await Xe.get(`${s}/${a}`,g),N=!!((h=(v=f==null?void 0:f.data)==null?void 0:v.isSigned)!=null?h:f!=null&&f.isSigned);return u(N),N}catch(p){console.error("Failed to check sign status",p)}finally{c(!1)}},[s,a]);return x.useEffect(()=>{let v=null;return!d&&a&&s&&(async()=>{await b()||(v=setInterval(async()=>{await b()&&v&&clearInterval(v)},2e3))})(),()=>{v&&clearInterval(v)}},[b,d,a,s]),t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:re("field-control",e.customClass),...i(e.id),disabled:o}),t.jsx("a",{href:d?"#":l,children:t.jsxs("button",{type:"button",onClick:b,disabled:m||d,style:{background:(r==null?void 0:r.buttonColor)||"#333"},className:re("flex items-center gap-x-1 rounded-lg border border-gray-200 bg-gray-200 px-3 py-[10px] text-sm text-white",{"!opacity-60":m}),children:[t.jsx(ae,{icon:m?"solar:refresh-outline":d?"solar:check-circle-bold":"solar:pen-2-line-duotone",iconClass:m?"animate-spin":""}),m?"Checking...":d?"Signed":"Sign"]})})]})}const ho=[{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 xu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:a,value:l,error:r,disabled:d,readOnly:u,horizontal:m,description:c,validate:b,onChange:v,onError:h}){const[p,g]=x.useState(""),[f,N]=x.useState(null),[y,S]=x.useState(""),w=x.useMemo(()=>{var T;return(T=ho==null?void 0:ho.slice().sort((O,E)=>O.label.localeCompare(E.label)))==null?void 0:T.map(O=>({...O,phone:`+${O.phone}`}))},[]),A=x.useMemo(()=>p?w.filter(T=>`${T.label} ${T.phone}`.toLowerCase().includes(p.toLowerCase())):w,[p,w]),C=(f==null?void 0:f.min)||10,M=(f==null?void 0:f.max)||10,k=()=>y?`${(f==null?void 0:f.phone)||"+234"}-${y}`:"",I=T=>{if(!T)return{code:"+234",number:""};const O=T.split(/[-\s]/);return{code:O[0],number:O.slice(1).join(" ")}};x.useEffect(()=>{if(l){const T=I(l);N(w.find(O=>O.phone===T.code)||w[0]),S(T.number)}},[l,w]);const P=x.useMemo(()=>{if(r)return r;const T=y.length;return o&&T===0?"Phone number is required":T>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":T>0&&T<C?`Minimum length is ${C}`:T>M?`Maximum length is ${M}`:""},[r,y,C,M,o]);return x.useEffect(()=>{v==null||v(k()),h==null||h(P||null)},[y,f,P]),t.jsxs("div",{className:`relative formGroup ${P&&!u?"has-error":""} ${m?"flex":""} ${!P&&y.length>0&&!u?"is-valid":""}`,children:[e&&t.jsxs("label",{htmlFor:a,className:`${i} ${m?"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&&t.jsx("span",{className:"text-red-500",children:"*"}),s&&t.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),t.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[t.jsx(ae,{icon:"lucide:phone-call"}),t.jsx(le.Combobox,{value:f,onChange:N,children:t.jsxs("div",{className:"relative",children:[t.jsx(le.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:T=>(T==null?void 0:T.phone)||"+234",placeholder:"+234",onChange:T=>g(T.target.value)}),t.jsx(le.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:t.jsx(ae,{icon:"lucide:chevron-down"})}),t.jsx(le.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((T,O)=>t.jsxs(le.Combobox.Option,{value:T,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[T.phone," - ",T.label]},`${T.code}+ ${O}`))})]})}),t.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[t.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:d,readOnly:u,onChange:T=>{const O=T.target.value.replace(/\D/g,"");S(O)},placeholder:n,className:"w-full px-3 outline-none",maxLength:M,minLength:C}),t.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!P&&y.length>0&&!u&&t.jsx("span",{className:"text-green-500",children:t.jsx(ae,{icon:"bi:check-lg"})})})]})]}),c&&t.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function Su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:a,setError:l,clearErrors:r}=n||{};let d;return x.useEffect(()=>{i(e.id)},[e.id,i]),s&&(d=s()[e.id]),t.jsx(xu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:a,disabled:a,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 wu({element:e,validationData:n}){var u;const{register:i=()=>({}),watch:o}=n||{};let s="";o&&(s=(u=o()[e.id])!=null?u:"");const a=s.trim(),l=/^https?:\/\//i.test(a),r=a?l?a:`https://${a}`:"",d=!l;return t.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&t.jsxs("div",{className:"relative",children:[d&&t.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://"}),t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:re("field-control",d&&"!pl-16",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly})]}),a?t.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:t.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:r,children:a})}):(n==null?void 0:n.isReadOnly)&&t.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Nu({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",a=x.useMemo(()=>{const m=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(v=>v.replace(/[{}]/g,"")),b=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(v=>{const h=/@\[.*?\]\((.*?)\)/.exec(v);return h?h[1]:""}).filter(Boolean);return Array.from(new Set([...m,...b]))},[s]),l=i?i(a):[],r=x.useMemo(()=>{if(!s)return"";let u=s,m=!1;if(a.forEach((c,b)=>{const v=l[b],h=Number(v);(isNaN(h)||v===void 0||v===null||v==="")&&(m=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(h||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(h||0))}),m)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const b=new Function(`return ${c}`)();return!isNaN(b)&&b!==null?Number.isInteger(b)?b:Number(b.toFixed(2)):""}catch(c){return"Error"}},[s,a,l]);return x.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),t.jsx("div",{children:t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:re("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 Au({element:e,validationData:n,state:i}){var v;const{register:o,watch:s,setValue:a}=n||{},[l,r]=x.useState({}),[d,u]=x.useState(0),m=s?s(e.id):null,c=!!(m||i&&i!=="edit");x.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const h=async()=>{try{const g=await fetch(e.externalApiUrl);if(!g.ok)return;const f=await g.json();let N={};Array.isArray(f)?f.forEach(S=>{const w=S.value||S.id||S.option,A=S.count||S.votes||S.value||0;w&&(N[w]=Number(A))}):typeof f=="object"&&(N=f),r(N);const y=Object.values(N).reduce((S,w)=>S+Number(w),0);u(y)}catch(g){console.error("Failed to fetch polling results",g)}};h();const p=setInterval(h,1e4);return()=>clearInterval(p)},[e.fetchExternalResults,e.externalApiUrl]),x.useEffect(()=>{e.fetchExternalResults||(m?(r({[m]:1}),u(1)):(r({}),u(0)))},[m,e.fetchExternalResults]);const b=h=>{n!=null&&n.isReadOnly||a&&a(e.id,h,{shouldValidate:!0,shouldDirty:!0})};return t.jsxs("div",{className:"w-full",children:[t.jsx("div",{className:"grid gap-y-3",children:(v=e.options)==null?void 0:v.map(h=>{const p=l[h.value]||0,g=d>0?Math.round(p/d*100):0,f=m===h.value;return t.jsxs("div",{onClick:()=>b(h.value),className:re("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",f?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[c&&t.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${g}%`}}),t.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[t.jsx("div",{className:re("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",f?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:f&&t.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),t.jsx("span",{className:re("font-medium text-sm",f?"text-blue-900":"text-gray-700"),children:h.label||h.name||h.option||h.value||"Unknown Option"})]}),c&&t.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[t.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[g,"%"]}),f&&t.jsx(ae,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),t.jsx("input",{type:"radio",value:h.value,className:"hidden",...o?o(e.id):{}})]},h.id||h.value)})}),c&&t.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[t.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const na={textField:Zi,longText:Md,selectField:kd,multiSelect:lo,numberField:Zi,amountField:iu,date:fr,password:wd,checkbox:Cd,radio:Nd,email:Zi,file:Sd,dataGrid:hu,section:Ad,validateInput:au,tableInput:lu,spacer:ru,divider:du,header:uu,basicText:cu,phoneField:Su,cascadeSelect:fu,rating:pu,matrix:gu,country:ea,bank:ea,document:yu,url:wu,calculatedField:Nu,polling:Au},ia="edit",Cu=(e,n)=>{var o;const i=na[e.type];return i?t.jsx(vo,{element:e,state:ia,children:t.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&t.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),t.jsx(i,{element:e,state:ia,sectionId:n})]})}):t.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:t.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},li=({col:e,children:n,customClass:i})=>t.jsx("div",{className:re("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:a})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:m,removeElement:c}=x.useContext(Ae),b=x.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[v,h]=x.useState(null);x.useEffect(()=>{const S=()=>{h(null),d(!1)};return document.addEventListener("dragend",S),()=>document.removeEventListener("dragend",S)},[d]);const p=x.useCallback((S,w)=>{S.preventDefault(),S.stopPropagation(),S.dataTransfer.dropEffect="move",h(w)},[]),g=x.useCallback((S,w)=>{S.preventDefault(),S.stopPropagation(),h(w)},[]),f=x.useCallback((S,w)=>{const A=S.relatedTarget;A&&S.currentTarget.contains(A)||h(C=>C===w?null:C)},[]),N=x.useCallback((S,w)=>{var M;S.preventDefault(),S.stopPropagation(),d(!1),h(null);const A=w+1,C=S.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:A});return}try{const k=S.dataTransfer.getData("properties");if(!k)return;const I=JSON.parse(k);if((I==null?void 0:I.type)==="grid")return;const P=l.find(E=>E.id===n),T=(M=P==null?void 0:P.questionData)==null?void 0:M.find(E=>{var _;return E.gridId===e.id&&((_=E.gridPosition)==null?void 0:_.col)===A});T&&c(T.id,n);const O={...I,id:Ce.v4(),sectionId:n,gridId:e.id,gridPosition:{col:A}};r(O,n)}catch(k){console.error("Drop failed in grid:",k),d(!1)}},[r,e.id,l,n,d,u]),y=(S,w,A)=>{var _,B,K;const C=S+1,M=(B=(_=l.find(D=>D.id===n))==null?void 0:_.questionData)==null?void 0:B.find(D=>{var L;return D.gridId===e.id&&((L=D.gridPosition)==null?void 0:L.col)===C}),k=(K=M==null?void 0:M.id)!=null?K:null,I=Array.isArray(i)&&i.find(D=>{var L;return((L=D==null?void 0:D.props)==null?void 0:L.col)===C}),P=m&&v===S,T=!!I,O=m&&!!a,E=T&&k&&A==="edit"?{draggable:!0,onDragStart:D=>{D.stopPropagation(),D.dataTransfer.setData("elementId",k),D.dataTransfer.setData("properties",k),D.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{h(null),d(!1)}}:{};return t.jsx("div",{className:"min-w-0",children:t.jsxs("div",{id:`grid-cell-${e.id}-${S}`,...E,onDrop:D=>N(D,S),onDragEnter:D=>g(D,S),onDragOver:D=>p(D,S),onDragLeave:D=>f(D,S),className:re("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",A==="edit"?"py-3 ":"",T&&A==="edit"&&"cursor-grab active:cursor-grabbing border-none",w,!O&&!P&&"bg-white border-gray-200 text-gray-300",O&&!P&&!T&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",O&&!P&&T&&"bg-white border-orange-200 border-dashed",P&&!T&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",P&&T&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[T&&A==="edit"&&t.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:t.jsx(ae,{icon:"ph:dots-six-bold"})}),P&&!T&&t.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:[t.jsx(ae,{icon:"ph:plus-bold"}),"Drop here"]}),P&&T&&t.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"}),t.jsx("div",{className:re("w-full select-none min-w-0",P&&"opacity-50 pointer-events-none"),children:I||t.jsx("span",{className:"flex items-center justify-center text-gray-300",children:A==="edit"&&t.jsx(ae,{icon:"ph:plus-bold"})})})]})},S)};return t.jsx("div",{className:"relative w-full",children:t.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:b==null?void 0:b.map((S,w)=>y(w,o,s))})})},ri=x.memo(ku),Mu="edit";function fo({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,a]=x.useState(!1),l=s?52:o?28:4;return t.jsx("div",{onDragEnter:r=>{r.preventDefault(),a(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),a(!0)},onDragLeave:()=>a(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),a(!1),n(r,e)},onDragEnd:()=>{a(!1),i()},style:{height:`${l}px`},className:re("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&&t.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[t.jsx(ae,{icon:"octicon:plus-16"}),"Drop here"]})})}function Eu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:a,moveElement:l}=x.useContext(Ae),[r,d]=x.useState(null),u=x.useMemo(()=>{var f;return((f=i.find(N=>N.id===n))==null?void 0:f.questionData)||[]},[i,n]),m=x.useCallback((f,N)=>{f.dataTransfer.setData("elementId",N),f.dataTransfer.setData("properties",N),f.dataTransfer.effectAllowed="move",d(N),s(!0)},[s]),c=x.useCallback(()=>{d(null),s(!1)},[s]);x.useEffect(()=>{!o&&r&&d(null)},[o,r]);const b=x.useCallback(f=>{f.preventDefault(),f.stopPropagation();const N=f.dataTransfer.getData("elementId"),y=f.currentTarget.id;if(!N||!y||N===y){c();return}const S=u.find(A=>A.id===N),w=u.findIndex(A=>A.id===y);S!=null&&S.gridId&&w!==-1?l({draggedId:N,sectionId:n,targetIndex:w}):l({draggedId:N,sectionId:n,targetId:y}),d(null),s(!1)},[n,l,s,c,u]),v=x.useCallback((f,N)=>{f.preventDefault(),f.stopPropagation(),s(!1);const y=f.dataTransfer.getData("elementId");if(y){l({draggedId:y,sectionId:n,targetIndex:N}),d(null);return}try{const S=JSON.parse(f.dataTransfer.getData("properties"));if((S==null?void 0:S.type)==="section")return;const w={...S,id:Ce.v4(),sectionId:n};a(w,n,N),d(null)}catch(S){console.error("Drop error:",S)}},[a,n,s,l]),h=x.useCallback((f,N=!1)=>t.jsx("div",{id:f.id,draggable:!0,onDragStart:y=>m(y,f.id),onDragOver:N?void 0:y=>{y.preventDefault(),y.stopPropagation()},onDrop:N?void 0:b,onDragEnd:c,className:re("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===f.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:Cu(f,n)},f.id),[r,b,n,m,c]),p=x.useMemo(()=>(e==null?void 0:e.reduce((f,N)=>(N.gridId&&(f[N.gridId]=f[N.gridId]||[],f[N.gridId].push(N)),f),{}))||{},[e]);if(!(e!=null&&e.length))return t.jsx("div",{onDragOver:f=>f.preventDefault(),onDrop:f=>v(f,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=e.filter(f=>!f.gridId);return t.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[t.jsx(fo,{index:0,isDragging:o,onDrop:v,onDragEnd:c}),g.map(f=>{const N=u.findIndex(y=>y.id===f.id);if(f.type==="grid"){const y=p[f.id]||[],S=r===f.id,w=!!r&&!S;return t.jsxs("div",{className:"flex flex-col gap-0",children:[t.jsx("div",{id:f.id,draggable:!0,onDragStart:A=>m(A,f.id),onDragOver:A=>{A.preventDefault(),A.stopPropagation()},onDrop:b,onDragEnd:c,className:re("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",S?"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:t.jsx(vo,{element:f,state:"edit",children:t.jsx(ri,{element:f,sectionId:n,state:Mu,draggedElementId:r,children:y==null?void 0:y.map(A=>{var C;return t.jsx(li,{col:(C=A.gridPosition)==null?void 0:C.col,children:h(A,!0)},A.id)})})})}),t.jsx(fo,{index:N+1,isDragging:o,onDrop:v,onDragEnd:c})]},f.id)}return t.jsxs("div",{className:"flex flex-col gap-0",children:[h(f),t.jsx(fo,{index:N+1,isDragging:o,onDrop:v,onDragEnd:c})]},f.id)})]})}const Tu=x.memo(Eu),Pu=ee.object({title:ee.string(),description:ee.string(),disabled:ee.boolean().default(!1),isHidden:ee.boolean().default(!1)}).required(),po=ye("config"),Lu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=x.useContext(Ae),{register:s,handleSubmit:a,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:m}=Ve.useForm({resolver:ro(Pu),defaultValues:i});if(x.useEffect(()=>{e||m()},[e,m]),!e)return null;const c=v=>{o(v,i.id),n()},b=l();return t.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:t.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[t.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[t.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),t.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:t.jsx(ae,{icon:"tabler:x"})})]}),t.jsxs("form",{onSubmit:a(c),className:"w-full",children:[t.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[t.jsx(te,{label:"Title",name:"title",register:s,errors:r,watch:l}),t.jsx(te,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),t.jsx(te,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:b.disabled,description:"Disables all fields in this section"}),t.jsx(te,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:b.isHidden,description:"Hides this section from the form"})]}),t.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[t.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"}),t.jsx("button",{type:"submit",disabled:!u||d,style:{background:(po==null?void 0:po.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-50`,children:d?"Saving...":"Save"})]})]})]})})},Bu=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?t.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:t.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[t.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[t.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),t.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:t.jsx(ae,{icon:"tabler:x"})})]}),t.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=>t.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[t.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&t.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):t.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Iu=[{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"}]}]}],Du=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:a,handleSectionEdit:l,removeSection:r,formDataLength:d,onDragOver:u,setIsDragging:m,onReorderSection:c})=>{var h,p;const b=x.useRef(null),v=x.useRef((h=e==null?void 0:e.questionData)==null?void 0:h.length);return x.useEffect(()=>{var g,f;((g=e==null?void 0:e.questionData)==null?void 0:g.length)>v.current&&b.current&&requestAnimationFrame(()=>{var N;(N=b.current)==null||N.scrollTo({top:b.current.scrollHeight,behavior:"smooth"})}),v.current=(f=e==null?void 0:e.questionData)==null?void 0:f.length},[(p=e==null?void 0:e.questionData)==null?void 0:p.length]),t.jsx("div",{ref:b,onDragOver:g=>{g.dataTransfer.types.includes("sectionid")&&g.preventDefault()},onDrop:g=>{const f=g.dataTransfer.getData("sectionid");f&&(g.preventDefault(),g.stopPropagation(),c&&c(f,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:t.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
|
|
27
|
-
${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{draggable:!0,onDragStart:g=>{g.dataTransfer.setData("sectionid",e.id),g.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:[t.jsx(
|
|
26
|
+
}`})})]})})}),qd=()=>t.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:t.jsxs("ul",{children:[t.jsxs("li",{className:"text-xs",children:["Method: GET ",t.jsx("br",{}),"URL format:"," ",t.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),t.jsxs("li",{className:"text-xs",children:[t.jsx("span",{className:"block mb-1",children:" Response example format:"}),t.jsx("pre",{className:"p-2 bg-white rounded-md",children:t.jsxs("code",{children:["{ ",t.jsx("br",{}),' "data": { ',t.jsx("br",{}),' "status": true, ',t.jsx("br",{}),' "isSigned": true ',t.jsx("br",{})," } ",t.jsx("br",{}),"}"]})})]})]})});function Yd(e){return e.flatMap(n=>{var i;return(i=n==null?void 0:n.questionData)!=null?i:[]})}const bo=["text","number","boolean"],Xs=["equals","not_equals","contains","not_contains"],Jd=["greater","less"];function Zd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:a}=x.useContext(Ae),l=o("visibilityDependentFields")||[],r=x.useMemo(()=>{var u;return(u=Yd(a).filter(m=>m.id!==s))==null?void 0:u.map(m=>{const c=l.find(b=>b.id===m.id);return{id:m.id,value:m.id,label:m.inputLabel,sectionId:m.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:""}})},[a,l,s]),d=(u,m,c)=>{const b=l==null?void 0:l.map((v,h)=>h===u?{...v,[m]:c}:v);n("visibilityDependentFields",b)};return t.jsxs("div",{className:"visibility-editor",children:[t.jsx("label",{className:"label",children:"Select Dependent Fields"}),t.jsx(lo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}}),l.length>0&&t.jsx("div",{className:"py-1 bg-gray-100 rounded dependent-fields",children:l==null?void 0:l.map((u,m)=>{var c,b;return t.jsxs("div",{className:"dependent-field",children:[t.jsx("input",{type:"text",value:u.label,readOnly:!0,disabled:!0,className:"field-label"}),t.jsx("div",{className:"field-listbox min-w-[100px]",children:t.jsx(re.Listbox,{value:u.fieldType,onChange:v=>d(m,"fieldType",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(re.Listbox.Button,{className:"listbox-button",children:u.fieldType}),t.jsx(re.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(re.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:bo==null?void 0:bo.map(v=>t.jsx(re.Listbox.Option,{value:v,className:"listbox-option",children:v},v))})})]})})}),t.jsx("div",{className:"field-listbox min-w-[100px]",children:t.jsx(re.Listbox,{value:u.operator,onChange:v=>d(m,"operator",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(re.Listbox.Button,{className:"listbox-button",children:u.operator.replace("_"," ")}),t.jsx(re.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsx(re.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:(c=u.fieldType==="number"?[...Xs,...Jd]:Xs)==null?void 0:c.map(v=>t.jsx(re.Listbox.Option,{value:v,className:"listbox-option",children:v.replace("_"," ")},v))})})]})})}),u.fieldType!=="boolean"?t.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:v=>d(m,"fieldValue",v.target.value),placeholder:"Value",className:"field-value"}):t.jsx("div",{className:"field-listbox",children:t.jsx(re.Listbox,{value:(b=u.fieldValue)!=null?b:"",onChange:v=>d(m,"fieldValue",v),children:t.jsxs("div",{className:"listbox-wrapper",children:[t.jsx(re.Listbox.Button,{className:"listbox-button",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),t.jsx(re.Transition,{as:x.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:t.jsxs(re.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:[t.jsx(re.Listbox.Option,{value:!0,className:"listbox-option",children:"True"}),t.jsx(re.Listbox.Option,{value:!1,className:"listbox-option",children:"False"})]})})]})})})]},u.id)})})]})}function Qs(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 a=e.slice(o);return a&&n.push({type:"operator",value:a}),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,a]=x.useState(()=>Qs(e)),[l,r]=x.useState(null),[d,u]=x.useState(!1),[m,c]=x.useState(""),[b,v]=x.useState(null),h=x.useRef(null),p=x.useRef(null),g=x.useRef(new Map);x.useEffect(()=>{const k=Qs(e);a(k)},[]);const f=x.useCallback(k=>{n(Xd(k))},[n]),N=(k,I)=>{const P=[...s];P[k]={type:"operator",value:I},a(P),f(P)},y=k=>{const I=s.filter((P,T)=>T!==k);a(I),f(I)},S=k=>{v(k),c(""),u(!0)},w=(k,I)=>{const P=I!==void 0?I:b!=null?b:s.length,T=[...s],O=T.slice(0,P),M=T.slice(P),_=[...O,{type:"field",id:k.id,display:k.display},...M],B=A(_);a(B),f(B),u(!1),v(null)};function A(k){const I=[];if(k.length===0)return[{type:"operator",value:""}];k[0].type==="field"&&I.push({type:"operator",value:""});for(let P=0;P<k.length;P++)I.push(k[P]),k[P].type==="field"&&(P+1>=k.length||k[P+1].type==="field")&&I.push({type:"operator",value:""});return I}const C=i.filter(k=>k.display.toLowerCase().includes(m.toLowerCase())),E=s.every(k=>k.type==="operator"&&k.value.trim()==="");return t.jsxs("div",{className:"relative",ref:p,children:[t.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var I;const k=[...s].reverse().findIndex(P=>P.type==="operator");if(k!==-1){const P=s.length-1-k;(I=g.current.get(P))==null||I.focus()}},children:[E&&t.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((k,I)=>k.type==="field"?t.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:[k.display,t.jsx("button",{type:"button",onMouseDown:P=>{P.preventDefault(),y(I)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${k.display}`,children:"×"})]},I):t.jsx("input",{ref:P=>{P?g.current.set(I,P):g.current.delete(I)},type:"text",value:k.value,onChange:P=>N(I,P.target.value),onFocus:()=>r(I),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(k.value.length*9+8,l===I?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${I}`},I)),t.jsx("button",{type:"button",onMouseDown:k=>{k.preventDefault(),S(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:t.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!E&&t.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:[t.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(k=>k.type==="field"?`[${k.display}]`:k.value).join("")]}),d&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),t.jsxs("div",{ref:h,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:[t.jsx("div",{className:"p-2 border-b border-gray-100",children:t.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:m,onChange:k=>c(k.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:k=>{k.key==="Escape"&&u(!1),k.key==="Enter"&&C.length>0&&w(C[0])}})}),t.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&t.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(k=>t.jsxs("div",{onMouseDown:I=>{I.preventDefault(),w(k)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[t.jsx("span",{className:"font-medium text-gray-800",children:k.display}),t.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[k.id.slice(0,8),"..."]})]},k.id))]})]})]}),i.length>0&&t.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(k=>t.jsxs("button",{type:"button",onMouseDown:I=>{I.preventDefault(),w(k,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:["+ ",k.display]},k.id))})]})}const Rd=ne.object().shape({inputLabel: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().typeError("Expecting a number").nullable(),minLength:ne.number().typeError("Expecting a number").nullable(),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(),isHidden:ne.boolean(),visibilityDependentFields:ne.array().nullable(),isMultiple:ne.boolean(),acceptedFiles:ne.array(),showState:ne.boolean(),formula:ne.string().nullable(),fetchExternalResults:ne.boolean(),externalApiUrl:ne.string().nullable()}),eu=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],nu=({isOpen:e,onClose:n,element:i})=>{var V;const o=eu.filter(G=>!ti.includes(i.inputType)||G.key!=="validation"),{updateElement:s,formData:a}=x.useContext(Ae),[l,r]=x.useState("basic"),[d,u]=x.useState(!1),[m,c]=x.useState("manual"),b=((V=a==null?void 0:a.flatMap(G=>(G==null?void 0:G.questionData)||[]))==null?void 0:V.length)||0,v=x.useMemo(()=>(a==null?void 0:a.flatMap(G=>(G==null?void 0:G.questionData)||[]).filter(G=>{var H;return G.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((H=G.type)==null?void 0:H.toLowerCase())}).map(G=>({id:G.id,display:G.inputLabel||G.label||"Unnamed"})))||[],[b,i==null?void 0:i.id]),h=xe("config"),{register:p,handleSubmit:g,control:f,setValue:N,watch:y,trigger:S,formState:{errors:w,isSubmitting:A,isValid:C},reset:E}=Ve.useForm({resolver:ro(Rd),defaultValues:{...i,options:i.options||[]}}),k=y(),{fields:I,append:P,remove:T}=Ve.useFieldArray({control:f,name:"options"}),{fields:O,append:M,remove:_}=Ve.useFieldArray({control:f,name:"options1"}),{fields:B,append:K,remove:D}=Ve.useFieldArray({control:f,name:"dataColumns"});x.useEffect(()=>{e||E()},[e,E]);const L=G=>{s(G,i.sectionId),n()},U={headers:{Authorization:`Bearer ${xe("token")}`}},W=x.useCallback(async()=>{var G,H,$;if(!k.apiUrl||!/^https?:\/\//.test(k.apiUrl)){Ee.toast.info("Please provide a valid API URL");return}try{u(!0);const{status:F,data:q}=await Xe.get(k.apiUrl,U);if(F!==200||!q){Ee.toast.error("Unexpected response from server.");return}const R=q.data||q.record||q.result;if(!Array.isArray(R)){Ee.toast.error("Expected an array in response (data, record, or result).");return}((G=i.type)==null?void 0:G.toLowerCase())==="datagrid"?N("dataColumns",mo(R)):N("options",co(R))}catch(F){const q=(($=(H=F==null?void 0:F.response)==null?void 0:H.data)==null?void 0:$.message)||(F==null?void 0:F.message)||"Unable to load options";Ee.toast.error(q)}finally{u(!1)}},[i.type,N,k.apiUrl]),Y=["manual","api","sheet"];function X(){m==="api"&&W()}const ie=()=>{var G,H;return t.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[t.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:Y==null?void 0:Y.map($=>t.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[t.jsx("input",{type:"radio",name:"optionType",onChange:F=>c(F.target.value),value:$})," ",t.jsxs("span",{children:[$," options"]})]},$))}),m==="api"&&t.jsxs("div",{className:"mb-4",children:[t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[t.jsx(le,{watch:y,label:"Load Options from Api",name:"apiUrl",errors:w,register:p,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&t.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"})]}),t.jsx("button",{onClick:X,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),t.jsx($d,{})]}),m==="sheet"&&t.jsx("div",{className:"mb-4",children:t.jsx(Zs,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:N,name:"options"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((G=i==null?void 0:i.type)==null?void 0:G.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),I==null?void 0:I.map(($,F)=>t.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:F===0?"Label":"",name:`options.${F}.label`,register:p,errors:w,element:i,placeholder:"Label",onChange:q=>{const Z=q.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`options.${F}.value`,Z,{shouldValidate:!0,shouldDirty:!0})}})}),t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:F===0?"Value":"",name:`options.${F}.value`,register:p,errors:w,element:i,placeholder:"Value"})}),t.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>T(F),children:t.jsx(te,{icon:"iconamoon:sign-times-fill"})})]},$.id))," ",t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>P({label:"",value:"",id:Ce.v4()}),children:[t.jsx(te,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&t.jsxs(t.Fragment,{children:[t.jsx("hr",{className:"my-5"}),t.jsxs("div",{children:[" ",t.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((H=i==null?void 0:i.type)==null?void 0:H.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),O==null?void 0:O.map(($,F)=>t.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:F===0?"Label":"",name:`options1.${F}.label`,register:p,errors:w,element:i,placeholder:"Label",onChange:q=>{const Z=q.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`options1.${F}.value`,Z,{shouldValidate:!0,shouldDirty:!0})}})}),t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:F===0?"Value":"",name:`options1.${F}.value`,register:p,errors:w,element:i,placeholder:"Value"})}),t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:F===0?"Key":"",name:`options1.${F}.key`,register:p,errors:w,element:i,placeholder:"Key"})}),t.jsx("button",{disabled:O.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>_(F),children:t.jsx(te,{icon:"iconamoon:sign-times-fill"})})]},$.id)),t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>M({label:"",value:"",key:"",id:Ce.v4()}),children:[t.jsx(te,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},se=()=>t.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[t.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:Y==null?void 0:Y.map(G=>t.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[t.jsx("input",{type:"radio",name:"optionType",onChange:H=>c(H.target.value),value:G,checked:G===m})," ",t.jsxs("span",{children:[G," options"]})]},G))}),m==="api"&&t.jsxs("div",{className:"mb-4",children:[t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[t.jsx(le,{watch:y,label:"Load Columns from Api",name:"apiUrl",errors:w,register:p,className:"!w-full",placeholder:"https://example.com/columns"}),d&&t.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"})]})," ",t.jsx("button",{onClick:X,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),t.jsx(jd,{})]}),m==="sheet"&&t.jsx("div",{className:"mb-4",children:t.jsx(Zs,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:N,name:"dataColumns"})}),t.jsx("div",{className:"grid gap-y-3",children:B==null?void 0:B.map((G,H)=>{var $,F;return t.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:[t.jsxs("div",{className:"flex items-center gap-x-4",children:[t.jsx("div",{className:"min-w-[140px]",children:t.jsx(un,{label:H===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:p,name:`dataColumns.${H}.type`,setValue:N,trigger:S,value:k.dataColumns[H].type})}),t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:H===0?"Display header":"",name:`dataColumns.${H}.headerName`,register:p,onChange:q=>{const Z=q.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");N(`dataColumns.${H}.field`,Z,{shouldValidate:!0,shouldDirty:!0})},errors:w,element:i,placeholder:"header"})}),t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:H===0?"Field key":"",name:`dataColumns.${H}.field`,register:p,errors:w,element:i,placeholder:"fieldKey",disabled:!0})}),t.jsx("button",{disabled:B.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>D(H),children:t.jsx(te,{icon:"iconamoon:sign-times-fill"})})]}),((F=($=k.dataColumns)==null?void 0:$[H])==null?void 0:F.type)==="select"&&t.jsx("div",{className:"flex items-center gap-x-4",children:t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Options API URL",name:`dataColumns.${H}.optionsUrl`,register:p,errors:w,element:i,placeholder:"https://api.example.com/options"})})})]},G.id)})}),t.jsxs("div",{children:[" ",t.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>K({headerName:"",field:"",editable:!0,id:Ce.v4(),type:"text",validate:!1}),children:[t.jsx(te,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),Q=x.useCallback(async()=>{const G=xe("token"),{status:H,data:$}=await Xe.get(k.url,{headers:{Authorization:`Bearer ${G}`}});H===200&&N("options",($==null?void 0:$.data)||$)},[N,k.url]);x.useEffect(()=>{i.type==="document"&&k.url&&Q()},[k.url,i.type,Q]);const j=t.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:G=>G.stopPropagation(),onPointerDown:G=>G.stopPropagation(),onDragStart:G=>{G.preventDefault(),G.stopPropagation()},children:t.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:[t.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:t.jsx(te,{icon:"tabler:x",iconClass:"text-xl"})}),t.jsx("div",{className:"w-full pt-4",children:t.jsx(Ed,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),t.jsxs("form",{onSubmit:g(L),className:"w-full flex-1 flex flex-col",children:[t.jsxs("div",{className:"flex-1",children:[" ",t.jsxs("div",{className:" max-h-[70vh] overflow-y-auto flex-1",children:[l==="basic"&&t.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[uo.includes(i.inputType)&&t.jsx(t.Fragment,{children:t.jsx(le,{watch:y,label:"Value",name:"value",register:p,errors:w,element:i})}),!uo.includes(i.inputType)&&!ti.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsx(le,{watch:y,label:"Label",name:"inputLabel",register:p,errors:w,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&t.jsx(le,{watch:y,label:"Child Label",name:"childLabel",register:p,errors:w,element:i})]}),Od.includes(i.inputType)&&t.jsx(le,{watch:y,label:"Placeholder",name:"placeholder",register:p,errors:w,element:i}),Dd.includes(i.inputType)&&t.jsx(le,{watch:y,label:"Prefix",name:"prefix",register:p,errors:w,element:i}),Gd.includes(i.inputType)&&t.jsxs("div",{className:"grid gap-y-4",children:[t.jsx(Wd,{}),t.jsx(le,{watch:y,label:"Api Url",name:"url",register:p,errors:w,element:i}),t.jsx(un,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:p,name:"method",setValue:N,trigger:S,value:y("method")}),t.jsx(un,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:p,name:"responseType",setValue:N,trigger:S,value:y("responseType")})]}),Fd.includes(i.inputType)&&t.jsx(zd,{onChange:G=>{N("denominators",G)},value:y("denominators")}),!uo.includes(i.inputType)&&!ti.includes(i.inputType)&&t.jsx(le,{watch:y,label:"Short Description",name:"description",register:p,errors:w,element:i}),i.type.toLowerCase()==="date"&&t.jsxs(t.Fragment,{children:[t.jsx(un,{label:"Date Format",options:Id,register:p,name:"dateFormat",setValue:N,trigger:S,value:y("dateFormat")}),t.jsx(le,{watch:y,label:"Allow Range",name:"canHaveDateRange",register:p,errors:w,element:i,type:"checkbox",value:k.canHaveDateRange}),(k==null?void 0:k.canHaveDateRange)&&t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsx(Ji,{name:"minDate",value:k==null?void 0:k.minDate,onGetValue:N,placeholder:"Select min date"}),t.jsx(Ji,{name:"maxDate",value:k==null?void 0:k.minDate,onGetValue:N,placeholder:"Select max date",minDate:k==null?void 0:k.minDate})]}),t.jsx(le,{watch:y,label:"Allow Year Picker",name:"allowYearPicker",register:p,errors:w,element:i,type:"checkbox",value:k.allowYearPicker})]}),i.type.toLowerCase()==="country"&&t.jsx(le,{watch:y,label:"Allow States",name:"showState",register:p,errors:w,element:i,type:"checkbox",value:k.showState}),i.type.toLowerCase()==="selectfield"&&t.jsx(un,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:p,name:"selectType",setValue:N,trigger:S,value:y("selectType")}),i.type.toLowerCase()==="grid"&&t.jsx(le,{watch:y,label:"Number of columns (max: 4)",name:"columns",register:p,errors:w,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&t.jsxs("div",{className:"grid gap-y-6",children:[t.jsxs("div",{className:"grid gap-y-1",children:[t.jsx(le,{watch:y,label:"Document Options Url",name:"url",register:p,errors:w,element:i})," ",t.jsx(Ud,{})]}),t.jsxs("div",{className:"grid gap-y-1",children:[t.jsx(le,{watch:y,label:"Document Validation Url",name:"validationUrl",register:p,errors:w,element:i}),t.jsx(qd,{})]}),t.jsx("div",{className:"grid gap-y-1",children:t.jsx(le,{watch:y,label:"Signature Page Url",name:"signatureLink",register:p,errors:w,element:i})})]}),i.type.toLowerCase()==="datagrid"&&se(),i.type.toLowerCase()==="file"&&t.jsxs(t.Fragment,{children:[t.jsx(le,{watch:y,label:"Allow Multiple Uploads",name:"isMultiple",register:p,errors:w,element:i,type:"checkbox",value:k.isMultiple}),t.jsx(lo,{element:{options:Vd,id:"acceptedFiles",value:k==null?void 0:k.acceptedFiles},validationData:{register:p,setValue:N,trigger:S,watch:y},placeholder:"Choose file types"})]}),Hd.includes(i.inputType)&&ie(),t.jsxs("div",{children:[t.jsx("div",{className:"w-[150px] mb-4",children:t.jsx(le,{watch:y,label:"Toggle Visibility",name:"isHidden",register:p,errors:w,element:i,type:"checkbox",value:k.isHidden})})," ",k.isHidden&&t.jsx(Zd,{register:p,setValue:N,trigger:S,watch:y,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&t.jsxs("div",{className:"grid gap-y-2 mb-4",children:[t.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),t.jsx(Qd,{value:y("formula")||"",onChange:G=>N("formula",G,{shouldValidate:!0,shouldDirty:!0}),fields:v,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&t.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[t.jsx(le,{watch:y,label:"Fetch results from external API",name:"fetchExternalResults",register:p,errors:w,element:i,type:"checkbox",value:k.fetchExternalResults}),k.fetchExternalResults&&t.jsx(le,{watch:y,label:"External API URL (returns options results)",name:"externalApiUrl",register:p,errors:w,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!ti.includes(i.type.toLowerCase())&&l==="validation"&&t.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(le,{watch:y,label:"Required",name:"isRequired",register:p,errors:w,element:i,type:"checkbox",value:k.isRequired})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Error message text",name:"requiredMessage",register:p,errors:w,element:i})})]}),_d.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(le,{watch:y,label:"Min Length",name:"minLength",register:p,errors:w,element:i,type:"number"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Error message text",name:"minLengthMessage",register:p,errors:w,element:i})})]}),t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(le,{watch:y,label:"Max Length",name:"maxLength",register:p,errors:w,element:i,type:"number"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Error message text",name:"maxLengthMessage",register:p,errors:w,element:i})})]})]}),Kd.includes(i.inputType)&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(le,{watch:y,label:"Min Amount",name:"minAmount",register:p,errors:w,element:i,type:"amount"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Error message text",name:"minAmountMessage",register:p,errors:w,element:i})})]}),t.jsxs("div",{className:"flex items-center gap-x-6",children:[t.jsx("div",{className:"w-[150px]",children:t.jsx(le,{watch:y,label:"Max Amount",name:"maxAmount",register:p,errors:w,element:i,type:"amount"})})," ",t.jsx("div",{className:"flex-1",children:t.jsx(le,{watch:y,label:"Error message text",name:"maxAmountMessage",register:p,errors:w,element:i})})]})]})]})]})]}),t.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 mt-10 border-t",children:[t.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"}),t.jsx("button",{type:"submit",disabled:!C||A,style:{background:(h==null?void 0:h.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||A?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||A?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50 editor_option__save`,children:A?"Saving...":"Save"})]})]})]})});return document.body?ur.createPortal(j,document.body):j},vo=x.memo(({state:e,element:n,children:i})=>{var m,c;const[o,s]=x.useState(!1),{removeElement:a,duplicateElement:l,updateElement:r}=x.useContext(Ae),d=x.useMemo(()=>{var b;return(b=n==null?void 0:n.acceptedFiles)==null?void 0:b.map(v=>v.label).join(", ")},[n]),u=x.useCallback(()=>{a(n.id,n.sectionId)},[n.id,n.sectionId,a]);return t.jsxs("div",{className:"w-full min-w-0",children:[o&&t.jsx(nu,{isOpen:o,onClose:()=>s(!1),element:n}),t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsxs("span",{children:[" ",n.inputLabel&&t.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",d&&t.jsxs("span",{className:"text-gray-400 text-xs",children:["(",d==null?void 0:d.toLowerCase(),")"]})]})]}),e==="edit"&&t.jsxs("span",{className:"flex items-center gap-x-3",children:[((m=n.type)==null?void 0:m.toLowerCase())!=="spacer"&&((c=n.type)==null?void 0:c.toLowerCase())!=="divider"&&t.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[t.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:b=>r({...n,isRequired:b.target.checked},n.sectionId),className:"cursor-pointer"}),t.jsx("span",{className:"mt-0.5",children:"Required"})]}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>l(n==null?void 0:n.id,n.sectionId),title:"Duplicate",children:t.jsx(te,{icon:"tabler:copy",iconClass:"text-base"})}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:t.jsx(te,{icon:"circum:edit",iconClass:"text-base"})}),t.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:u,title:"Remove",children:t.jsx(te,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i]})});vo.displayName="ElementContainer";function iu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:a,isReadOnly:l}=n||{};let r;return a&&(r=a()[e.id]),t.jsx(le,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l,watch:a})}function ou(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 su=({imageUrl:e})=>{const[n,i]=x.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return t.jsxs("div",{children:[t.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&&t.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:t.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:a=>a.stopPropagation(),children:[t.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),t.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})};function au({element:e,validationData:n}){var A;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[a,l]=x.useState(),[r,d]=x.useState(!1),[u,m]=x.useState(!1),[c,b]=x.useState(""),v=s&&s(e==null?void 0:e.id);x.useEffect(()=>{l(v)},[v]);const[h,p]=x.useState("");x.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:f,responseType:N}=e||{},S={headers:{Authorization:`Bearer ${xe("token")}`}},w=x.useCallback(async C=>{var E,k,I,P,T,O,M,_,B,K,D;if(!(!g||!f)){d(!0);try{let L;if(f.toLowerCase()==="get"){const z=`${g}?value=${C}`;L=await Xe.get(z,S)}else if(f.toLowerCase()==="post")L=await Xe.post(g,{value:C},S);else throw new Error("Unsupported HTTP method");L.status===200&&((((k=(E=L==null?void 0:L.data)==null?void 0:E.data)==null?void 0:k.status)||((I=L==null?void 0:L.data)==null?void 0:I.status))===!0?(m(!0),N==="string"?b(((T=(P=L==null?void 0:L.data)==null?void 0:P.data)==null?void 0:T.description)||((O=L==null?void 0:L.data)==null?void 0:O.description)||"Validation successful"):p(((_=(M=L==null?void 0:L.data)==null?void 0:M.data)==null?void 0:_.description)||((B=L==null?void 0:L.data)==null?void 0:B.description)||{})):(console.error("Invalid input:",C),b("Unable to validate input"),m(!1)))}catch(L){console.error("Error validating input:",L),b(((D=(K=L==null?void 0:L.response)==null?void 0:K.data)==null?void 0:D.message)||"Unable to validate input"),m(!1)}finally{d(!1)}}},[f,N,g]);return x.useEffect(()=>{if(a){const C=setTimeout(()=>{w(a)},700);return()=>clearTimeout(C)}},[w,a]),t.jsxs("div",{children:[t.jsxs("div",{className:"relative flex items-center",children:[t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:de("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),onChange:C=>{l(C.target.value),o(e==null?void 0:e.id,C.target.value)},disabled:n==null?void 0:n.isReadOnly}),t.jsxs("span",{className:"absolute right-0",children:[r&&t.jsxs("span",{children:[" ",t.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:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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&&t.jsx("span",{className:"block pr-3 text-lg text-green-600",children:t.jsx(te,{icon:"gg:check-o"})})]})]}),c&&N==="string"&&t.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),N==="object"&&t.jsx("div",{className:"grid grid-cols-2 gap-6 mt-2 text-sm text-gray-600",children:(A=Object.entries(h))==null?void 0:A.map(([C,E])=>t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsxs("span",{className:"font-semibold",children:[C,":"]}),ou(E)?t.jsx(su,{imageUrl:E}):t.jsx("span",{children:String(E)})]},C))})]})}function tu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,a]=x.useState([...i]);function l(u,m){a(c=>{const b=[...c];return b[m]={...b[m],value:u},b})}function r(u,m){return parseFloat(u)*parseFloat(m)||0}const d=x.useMemo(()=>s.reduce((u,m)=>{const c=r(m.key,m.value);return u+c},0),[s]);return x.useEffect(()=>{e&&e(s)},[s]),x.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((m,c)=>({key:m.value,value:Array.isArray(i)&&i[c]?i[c].value:""}));a(u)}},[i,o]),t.jsx("div",{className:"mt-2",children:t.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[t.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[t.jsx("div",{className:"border-r px-4 py-2",children:t.jsx("span",{className:"",children:"Denomination"})}),t.jsx("div",{className:"border-r px-4 py-2",children:t.jsx("span",{children:"Quantity"})}),t.jsx("div",{className:"px-4 py-2",children:t.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,m)=>{var c,b;return t.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[t.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:t.jsx("span",{className:"",children:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),t.jsx("div",{className:"border-r px-4 py-1",children:t.jsx("span",{children:t.jsx(ei,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:v=>l(v,m),disabled:n,allowNegativeValue:!1})})}),t.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:t.jsx("span",{children:(b=r(u.key,u.value))==null?void 0:b.toLocaleString()})})]},m+"index")}),t.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[t.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),t.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function lu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},a=s&&s(e==null?void 0:e.id)||[];return x.useEffect(()=>{i(e.id)},[e.id,i]),t.jsx("div",{children:t.jsx(tu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:a,readOnly:e==null?void 0:e.isReadOnly})})}function ru({element:e}){return t.jsx("div",{className:de("py-6",e==null?void 0:e.customClass)})}function du({element:e}){return t.jsx("div",{children:t.jsx("hr",{className:de("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function uu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return t.jsx("div",{children:t.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function cu({element:e,state:n}){return t.jsx(t.Fragment,{children:t.jsx("div",{className:e==null?void 0:e.customClass,children:(e==null?void 0:e.value)||n==="edit"&&t.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function mu({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:a}){return t.jsxs("tr",{children:[n.map(l=>{var v;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:m}=s(e.id,l.field);let c="border-gray-300";l.validate&&((m==null?void 0:m.isValid)===!1?c="border-red-500 bg-red-50":(m==null?void 0:m.isValid)===!0&&(c="border-green-500 bg-green-50"));const b=`w-full py-1 rounded outline-none ${c}`;return t.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?t.jsxs("div",{className:"relative",children:[l.type==="number"?t.jsx(ei,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:b,onValueChange:h=>o(h,e.id,l.field)}):l.type==="checkbox"?t.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(h=>{const p=h==="yes",g=`radio-${e.id}-${String(l.field)}-${h}`;return t.jsxs("label",{htmlFor:g,className:"flex items-center gap-1 cursor-pointer",children:[t.jsx("input",{id:g,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===p,onChange:()=>o(p,e.id,l.field)}),t.jsx("span",{className:"text-sm",children:p?"Yes":"No"})]},h)})}):l.type==="select"?t.jsx(Bn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(h,p)=>o((p==null?void 0:p.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):t.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:h=>o(h.target.value,e.id,l.field),className:b}),u&&t.jsx("div",{className:"absolute right-1 top-1",children:t.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&m?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("span",{children:[String(r!=null?r:"")," ",m.data&&`[${m.data}]`]}),m.isValid?t.jsx("span",{className:"text-xs text-green-600",children:"✓"}):t.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(v=m.error)!=null?v:"",children:"✗"})]}):l.type==="select"?t.jsx(Bn,{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"?t.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):t.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&t.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:t.jsx("button",{type:"button",onClick:()=>a(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:t.jsx(te,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const bu=x.memo(mu);function vu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,a]=x.useState(e),l=xe("config"),r=x.useRef(s);r.current=s,x.useEffect(()=>{a(b=>JSON.stringify(b)!==JSON.stringify(e)?e:b)},[e]);const d=x.useCallback((b,v,h)=>{const p=r.current.map(g=>g.id===v?{...g,[h]:b}:g);a(p),n==null||n(p)},[n]),u=x.useCallback(()=>{const b=Ce.v4(),v=o.reduce((p,g)=>(p[g.field]=g.field==="id"?b:"",p),{}),h=[...r.current,{id:b,...v}];a(h),n==null||n(h)},[o,n]),m=x.useCallback(b=>{const v=r.current.filter(h=>h.id!==b);a(v),n==null||n(v)},[n]),c=x.useCallback(()=>({isValidating:!1,result:void 0}),[]);return t.jsxs("div",{className:"mt-3 rounded",children:[t.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:t.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"bg-gray-100",children:[o.map((b,v)=>{var h;return t.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(h=b.headerName)!=null?h:String(b.field),b.validate&&t.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(b.id)}-${v}`)}),!i&&t.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),t.jsx("tbody",{children:s.length>0?s.map(b=>t.jsx(bu,{row:b,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:c,deleteRow:m},b.id)):t.jsx("tr",{children:t.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&t.jsx("div",{className:"flex justify-center mt-2",children:t.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 hu({element:e,validationData:n}){var v;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:a}=n||{},l=s&&s(e==null?void 0:e.id)||{},r=Array.isArray(l)?l:(v=l==null?void 0:l.rows)!=null?v:[];x.useEffect(()=>{i(e.id)},[e.id,i]);const d=x.useRef(""),u=x.useRef(e==null?void 0:e.id),m=x.useRef(e==null?void 0:e.dataColumns),c=x.useRef(o);u.current=e==null?void 0:e.id,m.current=e==null?void 0:e.dataColumns,c.current=o;const b=x.useCallback(h=>{var g;const p=JSON.stringify(h);p!==d.current&&(d.current=p,(g=c.current)==null||g.call(c,u.current,{rows:h,columns:m.current}))},[]);return t.jsx(vu,{value:r,onChange:b,columns:e==null?void 0:e.dataColumns,isReadOnly:a})}const Rs=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:a,name:l,label:r,value:d,trigger:u,isMultiple:m=!1,isFloatingLabel:c=!1,subText:b,labelClass:v="",loading:h,disabled:p})=>{const[g,f]=x.useState(m?[]:null),N=de("custom-select__control",e),y=x.useMemo(()=>n,[n]);return x.useEffect(()=>{const S=n==null?void 0:n.find(w=>{var A;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((A=w.value)==null?void 0:A.id)===(d==null?void 0:d.id):w.value===d});f(S||null)},[d,n]),x.useEffect(()=>{g&&a&&s&&(a(l,g==null?void 0:g.value),s(l),u==null||u(l))},[l,g]),t.jsxs("div",{className:"custom-select",children:[r&&!c&&t.jsx("label",{className:"custom-select__label",children:r}),c&&r&&t.jsx("label",{className:de("custom-select__floating-label",v),children:r}),t.jsx(re.Listbox,{value:g,onChange:f,multiple:m,disabled:p,children:t.jsxs("div",{className:"custom-select__wrapper",children:[t.jsxs(re.Listbox.Button,{className:N,disabled:p,children:[h?t.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):t.jsx("span",{className:"custom-select__value",children:(g==null?void 0:g.label)||t.jsx("span",{className:"custom-select__placeholder",children:i})}),t.jsx("span",{className:"custom-select__icon",children:t.jsx(te,{icon:"lucide:chevron-down"})})]}),t.jsx(re.Transition,{as:x.Fragment,leave:"custom-select__transition",children:t.jsx(re.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:y==null?void 0:y.map((S,w)=>t.jsx(re.Listbox.Option,{value:S,className:({active:A})=>de("custom-select__option",A&&"custom-select__option--active"),children:({selected:A})=>t.jsx("span",{className:de("custom-select__option-label",A&&"custom-select__option--selected"),children:S.label})},w))})})]})}),b&&!o&&t.jsx("p",{className:"custom-select__subtext",children:b}),o&&t.jsx("span",{className:"custom-select__error",children:o.message})]})},fu=({element:e,validationData:n})=>{var p;const{register:i=()=>({}),trigger:o,setValue:s,watch:a,isReadOnly:l}=n||{},r=(p=e==null?void 0:e.id)!=null?p:"cascadeValue",[d,u]=x.useState(""),[m,c]=x.useState(""),b=(g,f)=>{const N=g&&f?`${g}_${f}`:"";s==null||s(r,N),o==null||o(r)},v=(g,f)=>{g==="first"?(u(f),c(""),b(f,"")):(c(f),b(d,f))};x.useEffect(()=>{if(a){const g=a(r);if(g!=null&&g.includes("_")){const[f,N]=g.split("_");u(f),c(N)}}},[a,r]);const h=x.useMemo(()=>{var g;return(g=e.options1)==null?void 0:g.filter(f=>f.key===d)},[e.options1,d]);return!e.options||!e.options1?null:t.jsxs("div",{children:[t.jsx("input",{type:"hidden",...i(r)}),t.jsx("div",{className:"relative",children:t.jsx(Rs,{setValue:(g,f)=>v("first",f),options:e.options,name:`${r}`,register:i,value:d})}),d&&t.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&t.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),t.jsx(Rs,{setValue:(g,f)=>v("second",f),options:h,name:`${r}`,register:i,value:m})]})]})},pu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:a="",element:l,validationData:r})=>{var f;const{register:d=()=>({}),trigger:u,setValue:m,watch:c,isReadOnly:b}=r||{},v=(f=c==null?void 0:c(l.id))!=null?f:0,[h,p]=x.useState(null);x.useEffect(()=>{v==null&&(m==null||m(l.id,e))},[]);const g=N=>{if(!i&&!b){const y=N+1;m==null||m(l.id,y),u==null||u(l.id),o==null||o(y)}};return t.jsxs("div",{className:`flex gap-1 ${a}`,children:[t.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(N,y)=>{const S=h!==null?y<=h:y<v;return t.jsx(Us,{icon:S?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${S?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||b)&&p(y),onMouseLeave:()=>!(i||b)&&p(null),onClick:()=>g(y)},y)})]})};function gu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return t.jsx("div",{className:de("w-full overflow-x-auto",e.customClass),children:t.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(a=>t.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:a.label},a.id||a.value))]})}),t.jsx("tbody",{children:o.map(a=>t.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[t.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:a.label}),s.map(l=>t.jsx("td",{className:"p-3 text-center align-middle",children:t.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-50",...i(`${e.id}.${a.value}`)})},l.id||l.value))]},a.id||a.value))})]})})}function ea({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:a,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=x.useMemo(()=>{var h;if(typeof r=="string"&&r.includes(",")){const[p,g]=(h=r.split(","))==null?void 0:h.map(f=>f.trim());return{country:g,state:p}}return{country:r,state:""}},[r]),m=x.useRef(r),c=x.useMemo(()=>{var h,p;return d?((p=(h=ai.find(g=>g.name===d))==null?void 0:h.states)==null?void 0:p.map(g=>({label:g.name,value:g.name})))||[]:[]},[d]),b=(h,p)=>{const f=(p==null?void 0:p.value)||"";o&&f!==m.current&&(o(e.id,f),s==null||s(e.id),m.current=f)},v=(h,p)=>{const g=(p==null?void 0:p.value)||"",f=g?`${g}, ${d}`:d;o&&f!==m.current&&(o(e.id,f),s==null||s(e.id),m.current=f)};return x.useEffect(()=>{m.current=r},[r]),t.jsxs("div",{className:"grid gap-y-6",children:[t.jsx("input",{type:"hidden",...i(e.id)}),t.jsx(Bn,{options:e.options,onGetValue:b,name:`${e.id}-country`,readOnly:a,defaultValue:d},`country-${d}`),c.length>0&&e.showState&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),t.jsx(Bn,{options:c,onGetValue:v,name:`${e.id}-state`,readOnly:a,defaultValue:u},`state-${u}`)]})]})}function yu({element:e,validationData:n}){const{register:i=()=>({}),isReadOnly:o}=n||{},{validationUrl:s,documentObj:a,signatureLink:l}=e,r=x.useMemo(()=>xe("config"),[]),[d,u]=x.useState(!1),[m,c]=x.useState(!1),b=x.useCallback(async()=>{var v,h;if(!(!s||!a))try{c(!0);const g={headers:{Authorization:`Bearer ${xe("token")}`}},{data:f}=await Xe.get(`${s}/${a}`,g),N=!!((h=(v=f==null?void 0:f.data)==null?void 0:v.isSigned)!=null?h:f!=null&&f.isSigned);return u(N),N}catch(p){console.error("Failed to check sign status",p)}finally{c(!1)}},[s,a]);return x.useEffect(()=>{let v=null;return!d&&a&&s&&(async()=>{await b()||(v=setInterval(async()=>{await b()&&v&&clearInterval(v)},2e3))})(),()=>{v&&clearInterval(v)}},[b,d,a,s]),t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:de("field-control",e.customClass),...i(e.id),disabled:o}),t.jsx("a",{href:d?"#":l,children:t.jsxs("button",{type:"button",onClick:b,disabled:m||d,style:{background:(r==null?void 0:r.buttonColor)||"#333"},className:de("flex items-center gap-x-1 rounded-lg border border-gray-200 bg-gray-200 px-3 py-[10px] text-sm text-white",{"!opacity-60":m}),children:[t.jsx(te,{icon:m?"solar:refresh-outline":d?"solar:check-circle-bold":"solar:pen-2-line-duotone",iconClass:m?"animate-spin":""}),m?"Checking...":d?"Signed":"Sign"]})})]})}const ho=[{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 xu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:a,value:l,error:r,disabled:d,readOnly:u,horizontal:m,description:c,validate:b,onChange:v,onError:h}){const[p,g]=x.useState(""),[f,N]=x.useState(null),[y,S]=x.useState(""),w=x.useMemo(()=>{var T;return(T=ho==null?void 0:ho.slice().sort((O,M)=>O.label.localeCompare(M.label)))==null?void 0:T.map(O=>({...O,phone:`+${O.phone}`}))},[]),A=x.useMemo(()=>p?w.filter(T=>`${T.label} ${T.phone}`.toLowerCase().includes(p.toLowerCase())):w,[p,w]),C=(f==null?void 0:f.min)||10,E=(f==null?void 0:f.max)||10,k=()=>y?`${(f==null?void 0:f.phone)||"+234"}-${y}`:"",I=T=>{if(!T)return{code:"+234",number:""};const O=T.split(/[-\s]/);return{code:O[0],number:O.slice(1).join(" ")}};x.useEffect(()=>{if(l){const T=I(l);N(w.find(O=>O.phone===T.code)||w[0]),S(T.number)}},[l,w]);const P=x.useMemo(()=>{if(r)return r;const T=y.length;return o&&T===0?"Phone number is required":T>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":T>0&&T<C?`Minimum length is ${C}`:T>E?`Maximum length is ${E}`:""},[r,y,C,E,o]);return x.useEffect(()=>{v==null||v(k()),h==null||h(P||null)},[y,f,P]),t.jsxs("div",{className:`relative formGroup ${P&&!u?"has-error":""} ${m?"flex":""} ${!P&&y.length>0&&!u?"is-valid":""}`,children:[e&&t.jsxs("label",{htmlFor:a,className:`${i} ${m?"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&&t.jsx("span",{className:"text-red-500",children:"*"}),s&&t.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),t.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[t.jsx(te,{icon:"lucide:phone-call"}),t.jsx(re.Combobox,{value:f,onChange:N,children:t.jsxs("div",{className:"relative",children:[t.jsx(re.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:T=>(T==null?void 0:T.phone)||"+234",placeholder:"+234",onChange:T=>g(T.target.value)}),t.jsx(re.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:t.jsx(te,{icon:"lucide:chevron-down"})}),t.jsx(re.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((T,O)=>t.jsxs(re.Combobox.Option,{value:T,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[T.phone," - ",T.label]},`${T.code}+ ${O}`))})]})}),t.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[t.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:d,readOnly:u,onChange:T=>{const O=T.target.value.replace(/\D/g,"");S(O)},placeholder:n,className:"w-full px-3 outline-none",maxLength:E,minLength:C}),t.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!P&&y.length>0&&!u&&t.jsx("span",{className:"text-green-500",children:t.jsx(te,{icon:"bi:check-lg"})})})]})]}),c&&t.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function Su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:a,setError:l,clearErrors:r}=n||{};let d;return x.useEffect(()=>{i(e.id)},[e.id,i]),s&&(d=s()[e.id]),t.jsx(xu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:a,disabled:a,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 wu({element:e,validationData:n}){var u;const{register:i=()=>({}),watch:o}=n||{};let s="";o&&(s=(u=o()[e.id])!=null?u:"");const a=s.trim(),l=/^https?:\/\//i.test(a),r=a?l?a:`https://${a}`:"",d=!l;return t.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&t.jsxs("div",{className:"relative",children:[d&&t.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://"}),t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:de("field-control",d&&"!pl-16",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly})]}),a?t.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:t.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:r,children:a})}):(n==null?void 0:n.isReadOnly)&&t.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Nu({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",a=x.useMemo(()=>{const m=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(v=>v.replace(/[{}]/g,"")),b=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(v=>{const h=/@\[.*?\]\((.*?)\)/.exec(v);return h?h[1]:""}).filter(Boolean);return Array.from(new Set([...m,...b]))},[s]),l=i?i(a):[],r=x.useMemo(()=>{if(!s)return"";let u=s,m=!1;if(a.forEach((c,b)=>{const v=l[b],h=Number(v);(isNaN(h)||v===void 0||v===null||v==="")&&(m=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(h||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(h||0))}),m)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const b=new Function(`return ${c}`)();return!isNaN(b)&&b!==null?Number.isInteger(b)?b:Number(b.toFixed(2)):""}catch(c){return"Error"}},[s,a,l]);return x.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),t.jsx("div",{children:t.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:de("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 Au({element:e,validationData:n,state:i}){var v;const{register:o,watch:s,setValue:a}=n||{},[l,r]=x.useState({}),[d,u]=x.useState(0),m=s?s(e.id):null,c=!!(m||i&&i!=="edit");x.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const h=async()=>{try{const g=await fetch(e.externalApiUrl);if(!g.ok)return;const f=await g.json();let N={};Array.isArray(f)?f.forEach(S=>{const w=S.value||S.id||S.option,A=S.count||S.votes||S.value||0;w&&(N[w]=Number(A))}):typeof f=="object"&&(N=f),r(N);const y=Object.values(N).reduce((S,w)=>S+Number(w),0);u(y)}catch(g){console.error("Failed to fetch polling results",g)}};h();const p=setInterval(h,1e4);return()=>clearInterval(p)},[e.fetchExternalResults,e.externalApiUrl]),x.useEffect(()=>{e.fetchExternalResults||(m?(r({[m]:1}),u(1)):(r({}),u(0)))},[m,e.fetchExternalResults]);const b=h=>{n!=null&&n.isReadOnly||a&&a(e.id,h,{shouldValidate:!0,shouldDirty:!0})};return t.jsxs("div",{className:"w-full",children:[t.jsx("div",{className:"grid gap-y-3",children:(v=e.options)==null?void 0:v.map(h=>{const p=l[h.value]||0,g=d>0?Math.round(p/d*100):0,f=m===h.value;return t.jsxs("div",{onClick:()=>b(h.value),className:de("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",f?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[c&&t.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${g}%`}}),t.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[t.jsx("div",{className:de("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",f?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:f&&t.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),t.jsx("span",{className:de("font-medium text-sm",f?"text-blue-900":"text-gray-700"),children:h.label||h.name||h.option||h.value||"Unknown Option"})]}),c&&t.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[t.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[g,"%"]}),f&&t.jsx(te,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),t.jsx("input",{type:"radio",value:h.value,className:"hidden",...o?o(e.id):{}})]},h.id||h.value)})}),c&&t.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[t.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const na={textField:Zi,longText:Md,selectField:kd,multiSelect:lo,numberField:Zi,amountField:iu,date:fr,password:wd,checkbox:Cd,radio:Nd,email:Zi,file:Sd,dataGrid:hu,section:Ad,validateInput:au,tableInput:lu,spacer:ru,divider:du,header:uu,basicText:cu,phoneField:Su,cascadeSelect:fu,rating:pu,matrix:gu,country:ea,bank:ea,document:yu,url:wu,calculatedField:Nu,polling:Au},ia="edit",Cu=(e,n)=>{var o;const i=na[e.type];return i?t.jsx(vo,{element:e,state:ia,children:t.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&t.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),t.jsx(i,{element:e,state:ia,sectionId:n})]})}):t.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:t.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},li=({col:e,children:n,customClass:i})=>t.jsx("div",{className:de("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:a})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:m,removeElement:c}=x.useContext(Ae),b=x.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[v,h]=x.useState(null);x.useEffect(()=>{const S=()=>{h(null),d(!1)};return document.addEventListener("dragend",S),()=>document.removeEventListener("dragend",S)},[d]);const p=x.useCallback((S,w)=>{S.preventDefault(),S.stopPropagation(),S.dataTransfer.dropEffect="move",h(w)},[]),g=x.useCallback((S,w)=>{S.preventDefault(),S.stopPropagation(),h(w)},[]),f=x.useCallback((S,w)=>{const A=S.relatedTarget;A&&S.currentTarget.contains(A)||h(C=>C===w?null:C)},[]),N=x.useCallback((S,w)=>{var E;S.preventDefault(),S.stopPropagation(),d(!1),h(null);const A=w+1,C=S.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:A});return}try{const k=S.dataTransfer.getData("properties");if(!k)return;const I=JSON.parse(k);if((I==null?void 0:I.type)==="grid")return;const P=l.find(M=>M.id===n),T=(E=P==null?void 0:P.questionData)==null?void 0:E.find(M=>{var _;return M.gridId===e.id&&((_=M.gridPosition)==null?void 0:_.col)===A});T&&c(T.id,n);const O={...I,id:Ce.v4(),sectionId:n,gridId:e.id,gridPosition:{col:A}};r(O,n)}catch(k){console.error("Drop failed in grid:",k),d(!1)}},[r,e.id,l,n,d,u]),y=(S,w,A)=>{var _,B,K;const C=S+1,E=(B=(_=l.find(D=>D.id===n))==null?void 0:_.questionData)==null?void 0:B.find(D=>{var L;return D.gridId===e.id&&((L=D.gridPosition)==null?void 0:L.col)===C}),k=(K=E==null?void 0:E.id)!=null?K:null,I=Array.isArray(i)&&i.find(D=>{var L;return((L=D==null?void 0:D.props)==null?void 0:L.col)===C}),P=m&&v===S,T=!!I,O=m&&!!a,M=T&&k&&A==="edit"?{draggable:!0,onDragStart:D=>{D.stopPropagation(),D.dataTransfer.setData("elementId",k),D.dataTransfer.setData("properties",k),D.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{h(null),d(!1)}}:{};return t.jsx("div",{className:"min-w-0",children:t.jsxs("div",{id:`grid-cell-${e.id}-${S}`,...M,onDrop:D=>N(D,S),onDragEnter:D=>g(D,S),onDragOver:D=>p(D,S),onDragLeave:D=>f(D,S),className:de("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",A==="edit"?"py-3 ":"",T&&A==="edit"&&"cursor-grab active:cursor-grabbing border-none",w,!O&&!P&&"bg-white border-gray-200 text-gray-300",O&&!P&&!T&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",O&&!P&&T&&"bg-white border-orange-200 border-dashed",P&&!T&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",P&&T&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[T&&A==="edit"&&t.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:t.jsx(te,{icon:"ph:dots-six-bold"})}),P&&!T&&t.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:[t.jsx(te,{icon:"ph:plus-bold"}),"Drop here"]}),P&&T&&t.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"}),t.jsx("div",{className:de("w-full select-none min-w-0",P&&"opacity-50 pointer-events-none"),children:I||t.jsx("span",{className:"flex items-center justify-center text-gray-300",children:A==="edit"&&t.jsx(te,{icon:"ph:plus-bold"})})})]})},S)};return t.jsx("div",{className:"relative w-full",children:t.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:b==null?void 0:b.map((S,w)=>y(w,o,s))})})},ri=x.memo(ku),Mu="edit";function fo({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,a]=x.useState(!1),l=s?52:o?28:4;return t.jsx("div",{onDragEnter:r=>{r.preventDefault(),a(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),a(!0)},onDragLeave:()=>a(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),a(!1),n(r,e)},onDragEnd:()=>{a(!1),i()},style:{height:`${l}px`},className:de("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&&t.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[t.jsx(te,{icon:"octicon:plus-16"}),"Drop here"]})})}function Eu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:a,moveElement:l}=x.useContext(Ae),[r,d]=x.useState(null),u=x.useMemo(()=>{var f;return((f=i.find(N=>N.id===n))==null?void 0:f.questionData)||[]},[i,n]),m=x.useCallback((f,N)=>{f.dataTransfer.setData("elementId",N),f.dataTransfer.setData("properties",N),f.dataTransfer.effectAllowed="move",d(N),s(!0)},[s]),c=x.useCallback(()=>{d(null),s(!1)},[s]);x.useEffect(()=>{!o&&r&&d(null)},[o,r]);const b=x.useCallback(f=>{f.preventDefault(),f.stopPropagation();const N=f.dataTransfer.getData("elementId"),y=f.currentTarget.id;if(!N||!y||N===y){c();return}const S=u.find(A=>A.id===N),w=u.findIndex(A=>A.id===y);S!=null&&S.gridId&&w!==-1?l({draggedId:N,sectionId:n,targetIndex:w}):l({draggedId:N,sectionId:n,targetId:y}),d(null),s(!1)},[n,l,s,c,u]),v=x.useCallback((f,N)=>{f.preventDefault(),f.stopPropagation(),s(!1);const y=f.dataTransfer.getData("elementId");if(y){l({draggedId:y,sectionId:n,targetIndex:N}),d(null);return}try{const S=JSON.parse(f.dataTransfer.getData("properties"));if((S==null?void 0:S.type)==="section")return;const w={...S,id:Ce.v4(),sectionId:n};a(w,n,N),d(null)}catch(S){console.error("Drop error:",S)}},[a,n,s,l]),h=x.useCallback((f,N=!1)=>t.jsx("div",{id:f.id,draggable:!0,onDragStart:y=>m(y,f.id),onDragOver:N?void 0:y=>{y.preventDefault(),y.stopPropagation()},onDrop:N?void 0:b,onDragEnd:c,className:de("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===f.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:Cu(f,n)},f.id),[r,b,n,m,c]),p=x.useMemo(()=>(e==null?void 0:e.reduce((f,N)=>(N.gridId&&(f[N.gridId]=f[N.gridId]||[],f[N.gridId].push(N)),f),{}))||{},[e]);if(!(e!=null&&e.length))return t.jsx("div",{onDragOver:f=>f.preventDefault(),onDrop:f=>v(f,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=e.filter(f=>!f.gridId);return t.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[t.jsx(fo,{index:0,isDragging:o,onDrop:v,onDragEnd:c}),g.map(f=>{const N=u.findIndex(y=>y.id===f.id);if(f.type==="grid"){const y=p[f.id]||[],S=r===f.id,w=!!r&&!S;return t.jsxs("div",{className:"flex flex-col gap-0",children:[t.jsx("div",{id:f.id,draggable:!0,onDragStart:A=>m(A,f.id),onDragOver:A=>{A.preventDefault(),A.stopPropagation()},onDrop:b,onDragEnd:c,className:de("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",S?"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:t.jsx(vo,{element:f,state:"edit",children:t.jsx(ri,{element:f,sectionId:n,state:Mu,draggedElementId:r,children:y==null?void 0:y.map(A=>{var C;return t.jsx(li,{col:(C=A.gridPosition)==null?void 0:C.col,children:h(A,!0)},A.id)})})})}),t.jsx(fo,{index:N+1,isDragging:o,onDrop:v,onDragEnd:c})]},f.id)}return t.jsxs("div",{className:"flex flex-col gap-0",children:[h(f),t.jsx(fo,{index:N+1,isDragging:o,onDrop:v,onDragEnd:c})]},f.id)})]})}const Tu=x.memo(Eu),Pu=ne.object({title:ne.string(),description:ne.string(),disabled:ne.boolean().default(!1),isHidden:ne.boolean().default(!1)}).required(),po=xe("config"),Lu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=x.useContext(Ae),{register:s,handleSubmit:a,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:m}=Ve.useForm({resolver:ro(Pu),defaultValues:i});if(x.useEffect(()=>{e||m()},[e,m]),!e)return null;const c=v=>{o(v,i.id),n()},b=l();return t.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:t.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[t.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[t.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),t.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:t.jsx(te,{icon:"tabler:x"})})]}),t.jsxs("form",{onSubmit:a(c),className:"w-full",children:[t.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[t.jsx(le,{label:"Title",name:"title",register:s,errors:r,watch:l}),t.jsx(le,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),t.jsx(le,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:b.disabled,description:"Disables all fields in this section"}),t.jsx(le,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:b.isHidden,description:"Hides this section from the form"})]}),t.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[t.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"}),t.jsx("button",{type:"submit",disabled:!u||d,style:{background:(po==null?void 0:po.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-50`,children:d?"Saving...":"Save"})]})]})]})})},Bu=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?t.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:t.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[t.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[t.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),t.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:t.jsx(te,{icon:"tabler:x"})})]}),t.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=>t.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[t.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&t.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):t.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Iu=[{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"}]}]}],Du=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:a,handleSectionEdit:l,removeSection:r,formDataLength:d,onDragOver:u,setIsDragging:m,onReorderSection:c})=>{var h,p;const b=x.useRef(null),v=x.useRef((h=e==null?void 0:e.questionData)==null?void 0:h.length);return x.useEffect(()=>{var g,f;((g=e==null?void 0:e.questionData)==null?void 0:g.length)>v.current&&b.current&&requestAnimationFrame(()=>{var N;(N=b.current)==null||N.scrollTo({top:b.current.scrollHeight,behavior:"smooth"})}),v.current=(f=e==null?void 0:e.questionData)==null?void 0:f.length},[(p=e==null?void 0:e.questionData)==null?void 0:p.length]),t.jsx("div",{ref:b,onDragOver:g=>{g.dataTransfer.types.includes("sectionid")&&g.preventDefault()},onDrop:g=>{const f=g.dataTransfer.getData("sectionid");f&&(g.preventDefault(),g.stopPropagation(),c&&c(f,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:t.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
|
|
27
|
+
${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{draggable:!0,onDragStart:g=>{g.dataTransfer.setData("sectionid",e.id),g.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:[t.jsx(te,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),t.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),t.jsxs("div",{className:"flex items-center gap-x-2",children:[t.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>l(e),children:t.jsx(te,{icon:"fluent:edit-28-regular"})}),d>1&&t.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>r(e.id),children:t.jsx(te,{icon:"lets-icons:trash-duotone-line"})}),t.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>a(n),children:t.jsx(te,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&t.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&t.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:u,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[t.jsx("hr",{className:"group-last:hidden"}),t.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:t.jsx(Tu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},_u=({onAddTemplate:e,templates:n})=>{const i=[...Iu,...n||[]],[o,s]=x.useState(!1),[a,l]=x.useState(!1),r=x.useRef(null),d=x.useRef(null),{removeSection:u,addSection:m,formData:c,setIsDragging:b,setSelectedSection:v,selectedSection:h,activeSections:p,setActiveSections:g,setFormData:f}=x.useContext(Ae),N=x.useRef((c==null?void 0:c.length)||0);x.useEffect(()=>{var k;v(((k=c[0])==null?void 0:k.id)||null)},[]),x.useEffect(()=>{(c==null?void 0:c.length)>N.current&&d.current&&requestAnimationFrame(()=>{var k;(k=d.current)==null||k.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),N.current=(c==null?void 0:c.length)||0},[c==null?void 0:c.length]);const y=x.useCallback(k=>{k.preventDefault(),k.dataTransfer.dropEffect="move",d.current&&(d.current.scrollTop=d.current.scrollHeight)},[]),S=x.useCallback((k,I)=>{f(P=>{const T=P.findIndex(B=>B.id===k),O=P.findIndex(B=>B.id===I);if(T===-1||O===-1||T===O)return P;const M=[...P],[_]=M.splice(T,1);return M.splice(O,0,_),M})},[f]);function w(k){p.includes(k)?g(I=>I.filter(P=>P!==k)):g(I=>[...I,k])}function A(k){r.current=k,s(!0)}const C=k=>{var P,T,O,M;const I=(_,B={})=>({...JSON.parse(JSON.stringify(_)),...B});if(k.sections&&Array.isArray(k.sections)){const B=k.sections.filter(Boolean).map(D=>{var U;const L=Ce.v4(),z=(U=D.questionData)==null?void 0:U.map(W=>I(W,{id:Ce.v4(),sectionId:L}));if(z){const W=new Map;D.questionData.forEach((Y,X)=>{W.set(Y.id,z[X].id)}),z.forEach(Y=>{Y.gridId&&W.has(Y.gridId)&&(Y.gridId=W.get(Y.gridId))})}return I(D,{id:L,questionData:z||[]})});c.length===1&&c[0].title===""&&c[0].description===""&&(!((P=c[0])!=null&&P.questionData)||((O=(T=c[0])==null?void 0:T.questionData)==null?void 0:O.length)===0)?(f(B),B.length>0&&v((M=B[0])==null?void 0:M.id)):f(D=>[...D,...B])}},E=xe("config");return t.jsxs("div",{ref:d,className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&t.jsx(Lu,{isOpen:o,onClose:()=>s(!1),section:r.current}),t.jsxs("div",{id:"section-container",className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[c==null?void 0:c.map((k,I)=>t.jsx(Du,{section:k,index:I,selectedSection:h,setSelectedSection:v,activeSections:p,toggleSection:w,handleSectionEdit:A,removeSection:u,formDataLength:c.length,onDragOver:y,setIsDragging:b,onReorderSection:S},k.id)),t.jsxs("div",{className:"flex justify-center gap-x-4",children:[t.jsxs("button",{type:"button",onClick:()=>m(),style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"text-sm font-medium",children:["+ Add section"," "]}),e||i!=null&&i.length?t.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),a&&t.jsx(Bu,{isOpen:a,onClose:()=>l(!1),templates:i,onSelect:C})]})},Ou=()=>{const{formData:e,uploadUrl:n}=x.useContext(Ae),[i,o]=x.useState("multi"),s=xe("config");return t.jsxs("div",{className:"flex flex-col h-full w-full",children:[t.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:t.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[t.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"}),t.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"})]})}),t.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:t.jsx(wo,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n,renderType:i,onGetValues:a=>console.log(a)})})]})},go=({loadingClass:e})=>{const n=de("h-full w-full min-h-[300px] flex justify-center items-center",e);return x.useEffect(()=>{const i=xe("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),t.jsx("div",{className:n,children:t.jsx("span",{className:"loader"})})},Ku=x.lazy(()=>Promise.resolve().then(()=>yg));function Hu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:a,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=x.useContext(Ae);x.useEffect(()=>{e&&e.length>0&&a(e)},[e,a]),x.useEffect(()=>{r(n)},[n,r]);const m=x.useCallback(c=>{c.preventDefault();try{const b=JSON.parse(c.dataTransfer.getData("properties"));if((b==null?void 0:b.type)==="section"){l();return}}catch(b){console.error("Drop error:",b)}},[]);return t.jsxs("div",{className:"flex gap-x-6 h-full",children:[t.jsx("div",{onDragOver:c=>c.preventDefault(),onDrop:c=>m(c),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?t.jsx(_u,{onAddTemplate:i,templates:o}):t.jsx(x.Suspense,{fallback:t.jsx(go,{loadingClass:"!w-full !h-full"}),children:t.jsx(Ku,{formData:u})})}),s==="canvas"&&t.jsx(re.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:t.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:t.jsx(Ou,{})})})]})}const yo=[{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"}],Gu=()=>{const[e,n]=x.useState(""),{setIsDragging:i,addElement:o,selectedSection:s}=x.useContext(Ae),a=x.useCallback((v,h)=>{if(!s){Ee.toast.error("Please select a section to add an element.");return}v.dataTransfer.setData("properties",JSON.stringify(h)),v.dataTransfer.effectAllowed="move",i(!0)},[i,s]);function l(v){if(!s){Ee.toast.error("Please select a section to add an element.");return}const h={...v,id:Ce.v4(),sectionId:s};o(h,s)}const r=xe("config")||{},d=r.elementColor,u=r.elementBgColor,m=r.elementBorderColor,c=Ld.filter(v=>v.label.toLowerCase().includes(e.toLowerCase())),b=yo==null?void 0:yo.map(v=>({title:v.title,elements:c.filter(h=>{var p;return(p=Bd[v.key])==null?void 0:p.includes(h.type)})})).filter(v=>v.elements.length>0);return t.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[t.jsx("div",{className:"px-5",children:t.jsx("input",{className:"field-control",placeholder:"Search",value:e,onChange:v=>n(v.target.value),name:"search",id:"search"})}),t.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:t.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:b==null?void 0:b.map((v,h)=>{var p;return t.jsxs("li",{children:[t.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:v.title}),t.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(p=v.elements)==null?void 0:p.map(g=>t.jsx("li",{onDragStart:f=>a(f,g),onDragEnd:()=>i(!1),onClick:()=>l(g),style:{borderColor:m,backgroundColor:u},className:`cursor-move text-[#475467] flex justify-between items-center \r
|
|
28
28
|
border-[1.5px] border-[#98A2B3] rounded-lg py-2 px-2 shadow-custom\r
|
|
29
29
|
hover:shadow-lg transition-all duration-200\r
|
|
30
|
-
active:opacity-50 element_class`,draggable:!0,children:t.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[t.jsx("span",{style:{color:d},children:t.jsx(ae,{icon:g.icon,iconClass:"w-6 h-6"})}),t.jsx("span",{style:{color:d},className:"text-xs font-medium text-center",children:g.label})]})},g.type))})]},h)})})})]})},Fu=x.memo(Gu),Ke=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:a="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:m="button",style:c,onClick:b})=>{const v=re("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),h=()=>i?t.jsxs(t.Fragment,{children:[t.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:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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..."]}):t.jsxs("span",{className:"flex items-center",children:[s&&a==="left"&&t.jsx("span",{className:`mr-[6px] ${l}`,children:t.jsx(ae,{icon:s})}),e&&t.jsx("span",{children:e}),s&&a==="right"&&t.jsx("span",{className:`ml-[6px] ${l}`,children:t.jsx(ae,{icon:s})})]});return u?t.jsx("div",{className:v,children:h()}):d?t.jsx(vr.Link,{to:d,className:v,children:h()}):t.jsx("button",{disabled:n,type:m,className:v,"data-testid":"btn",onClick:b,style:c,children:h()})};function Vu(){return t.jsx("div",{children:t.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),t.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),t.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const zu=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=x.useContext(Ae);if(!e)return null;const s=ye("config");return t.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:[t.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:t.jsx(Vu,{})})," ",t.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:t.jsx(wo,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function Wu(){return t.jsx("div",{children:t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),t.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function $u({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:a,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:m}){const{formData:c,setShowPreview:b,showPreview:v,undo:h,redo:p,canUndo:g,canRedo:f}=x.useContext(Ae),[N,y]=x.useState(!1),[S,w]=x.useState(!1),[A,C]=x.useState(e||""),M=ye("config");function k(){localStorage.setItem("formData",JSON.stringify(c)),i==null||i(c)}function I(){localStorage.setItem("formData",JSON.stringify(c)),o==null||o(c)}function P(){w(!1),r&&A!==e&&r(A.trim())}return t.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[t.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&t.jsx("button",{type:"button",onClick:()=>n(),style:{color:(M==null?void 0:M.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:t.jsx(Wu,{})})," ",S?t.jsx("input",{type:"text",value:A,onChange:T=>C(T.target.value),onBlur:P,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):t.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>w(!0),children:A||"Untitled"})]}),N&&t.jsx(zu,{isOpen:N,onClose:()=>y(!1),element:void 0}),t.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&t.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[t.jsxs("button",{type:"button",style:{color:(M==null?void 0:M.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:[t.jsx(ae,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),t.jsxs("button",{type:"button",style:{color:(M==null?void 0:M.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:[t.jsx(ae,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),t.jsx(Ke,{onClick:h,text:"",btnClass:`!px-2 bg-transparent undo ${g?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(M==null?void 0:M.buttonColor)||"#333"},isDisabled:!g}),t.jsx(Ke,{onClick:p,text:"",btnClass:`!px-2 bg-transparent redo ${f?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(M==null?void 0:M.buttonColor)||"#333"},isDisabled:!f}),m&&t.jsx(Ke,{onClick:m,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(M==null?void 0:M.buttonColor)||"#333"}}),t.jsx(Ke,{onClick:()=>b(T=>!T),text:v?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:v?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(M==null?void 0:M.buttonColor)||"#333"},isDisabled:s,isLoading:s}),t.jsx(Ke,{onClick:k,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(M==null?void 0:M.buttonColor)||"#333"},isDisabled:a,isLoading:a}),t.jsx(Ke,{onClick:I,text:"Publish",style:{background:(M==null?void 0:M.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 ju({onSubmit:e,onChange:n,onLogAction:i,questionData:o,title:s,goBackUrl:a,loading:l,onPublish:r,previewLoading:d,saveLoading:u,publishLoading:m,onTitleChange:c,uploadUrl:b,onAddTemplate:v,templates:h,onShowVersion:p}){const[g,f]=x.useState("canvas");return t.jsxs(xs,{onChange:n,onLogAction:i,children:[t.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),t.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:t.jsxs("div",{className:"flex flex-1 ",children:[g==="canvas"&&t.jsx("div",{children:t.jsx("div",{className:"w-[250px] h-screen border-r border-[#E4E7EC] bg-white ",children:t.jsx(Fu,{})})}),t.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${g==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[t.jsx("div",{className:" h-[70px]",children:t.jsx($u,{title:s,goBackUrl:a,onSubmit:e,onPublish:r,previewLoading:d,saveLoading:u,publishLoading:m,onTitleChange:c,viewMode:g,setViewMode:f,onShowVersion:p})}),t.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:l?t.jsx(go,{loadingClass:"!w-full !h-[800px]"}):t.jsx(Hu,{questionData:o,uploadUrl:b,onAddTemplate:v,templates:h,viewMode:g})})]})]})})]})}const Uu=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,config:a={buttonColor:"#333"},title:l,loading:r,goBackUrl:d,onPublish:u,previewLoading:m,saveLoading:c,publishLoading:b,onTitleChange:v,uploadUrl:h,onAddTemplate:p,templates:g,onShowVersion:f})=>(x.useEffect(()=>{a&&Ys("config",a)},[a]),t.jsx(ju,{onSubmit:e,onChange:n,onLogAction:i,onPublish:u,questionData:o,isReadOnly:s,title:l,goBackUrl:d,loading:r,previewLoading:m,saveLoading:c,publishLoading:b,onTitleChange:v,uploadUrl:h,onAddTemplate:p,templates:g,onShowVersion:f})),Ue={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}`},qu=(e,n=!1)=>({textField:ee.string().nullable(),longText:ee.string().nullable(),numberField:ee.number().nullable().transform(o=>isNaN(o)?null:o),amountField:ee.number().nullable().transform(o=>isNaN(o)?null:o),selectField:ee.string().nullable(),checkbox:ee.mixed().nullable(),radio:ee.mixed().nullable(),matrix:ee.mixed().nullable(),email:ee.string().nullable().test("email-format",Ue.email,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:ee.date().nullable().transform((o,s)=>n&&s===""?null:o).typeError("Invalid date"),url:ee.string().nullable().test("url-format",Ue.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||ee.mixed().nullable(),Yu=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||Ue.required):e.required(i||Ue.required):e,Ju=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let a=e;return n&&(a=a.min(n,o||Ue.minLength(n))),i&&(a=a.max(i,s||Ue.maxLength(i))),a},Zu=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let a=e;return n&&(a=a.min(parseFloat(String(n)),o||Ue.minAmount(n))),i&&(a=a.max(parseFloat(String(i)),s||Ue.maxAmount(i))),a},xo=(e,n)=>{if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],a=o.fieldValue,l=s;switch(o.operator){case"equals":return String(a).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(a).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(a);case"less":return Number(l)<Number(a);case"contains":return String(l).toLowerCase().includes(String(a).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(a).toLowerCase());default:return!0}}):!0};function Xu({formData:e,isReadOnly:n,answerData:i}){const o={};return e.forEach(({questionData:s})=>{s==null||s.forEach(a=>{if(!xo(a,i))return;const{id:l,type:r,isRequired:d,requiredMessage:u,isDisabled:m}=a;let c=qu(r,n);c=Yu(c,m||n?!1:d,u),r==="textField"||r==="longText"||r==="email"||r==="url"?c=Ju(c,a):(r==="numberField"||r==="amountField")&&(c=Zu(c,a)),o[l]=c})}),ee.object().shape(o)}const mn=({element:e,validationData:n})=>{const i=na[e.type],{answerData:o}=x.useContext(Ae),s=x.useMemo(()=>{var l;return(l=e==null?void 0:e.acceptedFiles)==null?void 0:l.map(r=>r.label).join(", ")},[e]),a=x.useMemo(()=>xo(e,o),[o,e]);return i?t.jsxs("div",{className:`${a?"":"invisible h-0"} min-w-0 w-full`,children:[t.jsxs("div",{className:"mb-1.5 min-w-0",children:[e.inputLabel&&t.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&t.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]}),e.description&&t.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),t.jsx(i,{element:e,state:"edit",validationData:{...n,isReadOnly:n.isReadOnly||e.isDisabled}})]}):null},bn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function Qu({form_data:e,options:n}){const i=(s,a)=>t.jsx("div",{className:"min-w-0",children:t.jsx(ri,{element:s,customClass:"p-0 min-h-[60px] border-none",children:a==null?void 0:a.map(l=>{var r,d,u;return t.jsxs(li,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[t.jsx(mn,{element:l,validationData:bn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var a,l;return t.jsxs("div",{className:re("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[t.jsx(mn,{element:s,validationData:bn(s,n)}),((l=(a=n==null?void 0:n.errors)==null?void 0:a[s.id])==null?void 0:l.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[s.id].message})]},s.id)};return t.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const a=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(a.has(d.gridId)||a.set(d.gridId,[]),a.get(d.gridId).push(d))}),t.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&t.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&t.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&t.jsx("p",{className:"text-sm",children:s.description})]}),t.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,a.get(d.id)||[]):o(d))})]},s.id)})})}function Ru({form_data:e,options:n,current:i}){var o,s;return t.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(a=>{var l,r,d,u;if(a.type==="grid"){const m=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===a.id);return t.jsx("div",{className:"min-w-0",children:t.jsx(ri,{element:a,customClass:"p-0 min-h-[60px] border-none",children:m==null?void 0:m.map(c=>{var b,v,h;return t.jsxs(li,{col:(b=c.gridPosition)==null?void 0:b.col,customClass:"p-0",children:[t.jsx(mn,{element:c,validationData:bn(c,n)}),t.jsx("div",{className:"mt-1 text-xs text-red-600",children:(h=(v=n==null?void 0:n.errors)==null?void 0:v[c.id])==null?void 0:h.message})]},c.id)})})},a.id)}return a.gridId?null:t.jsxs("div",{className:re("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[t.jsx(mn,{element:a,validationData:bn(a,n)}),t.jsx("div",{className:"mt-1 text-xs text-red-600",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[a.id])==null?void 0:u.message})]},a.id)})})}const So=ye("config");function ec({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:a,isReadOnly:l}){if(!e)return t.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=m=>{m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),i())},d=m=>{var c;return t.jsx("div",{className:"min-w-0 w-full",children:t.jsx(ri,{element:m,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=m.gridChildren)==null?void 0:c.map(b=>{var v,h,p;return t.jsxs(li,{col:(v=b.gridPosition)==null?void 0:v.col,customClass:"p-0",children:[t.jsx(mn,{element:b,validationData:bn(b,n)}),((p=(h=n==null?void 0:n.errors)==null?void 0:h[b.id])==null?void 0:p.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[b.id].message})]},b.id)})})},m.id)},u=m=>{var c,b;return t.jsxs("div",{className:re("group relative grid gap-y-[6px] min-w-0 w-full",m.elementClass),children:[t.jsx(mn,{element:m,validationData:bn(m,n)}),((b=(c=n==null?void 0:n.errors)==null?void 0:c[m.id])==null?void 0:b.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[m.id].message})]},m.id)};return t.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:t.jsxs(le.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:[t.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&t.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[t.jsx(Ke,{type:"button",text:a?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(So==null?void 0:So.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${a?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||a&&(n==null?void 0:n.isSubmitting)}),!a&&t.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&t.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:[t.jsx(ae,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function nc(e){return e.reduce((n,i)=>(n[i.id]=i.value,n),{})}const ic=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:a=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u})=>{var se,Q,U,V,G,H,j,F;const{setAnswerData:m,setUploadUrl:c,apiActivityCount:b}=x.useContext(Ae),[v,h]=x.useState(0),[p,g]=x.useState(0),f=x.useMemo(()=>e.filter($=>!$.isHidden).map($=>{var R;return $.isDisabled||$.disabled?{...$,questionData:(R=$==null?void 0:$.questionData)==null?void 0:R.map(Z=>({...Z,isDisabled:!0}))}:$}),[e]),N=(se=f==null?void 0:f.length)!=null?se:0,y=ye("config"),S=x.useCallback(async($,J,R)=>{const Z=Xu({formData:f,isReadOnly:a,answerData:$});return ro(Z)($,J,R)},[f,a]),w=Ve.useForm({resolver:S,mode:"onSubmit",defaultValues:{}}),{register:A,setValue:C,control:M,handleSubmit:k,reset:I,getValues:P,watch:T,formState:{errors:O,isSubmitting:E},trigger:_,setError:B,clearErrors:K}=w,D=Ve.useWatch({control:M}),L=x.useMemo(()=>D,[JSON.stringify(D)]),z=x.useMemo(()=>{if(l!=="conversational")return[];const $=[];return f.forEach(J=>{var R;(R=J==null?void 0:J.questionData)==null||R.forEach(Z=>{var oe;if(xo(Z,L))if(Z.type==="grid"){const ue=(oe=J==null?void 0:J.questionData)==null?void 0:oe.filter(ce=>ce.gridId===Z.id);$.push({...Z,gridChildren:ue})}else Z.gridId||$.push(Z)})}),$},[f,L,l]),q=x.useCallback($=>{s&&s($)},[s]);x.useEffect(()=>{c(u)},[c,u]),x.useEffect(()=>{if(!(f!=null&&f.length)||!s)return;const $=f.flatMap(J=>{var R;return(R=J==null?void 0:J.questionData)==null?void 0:R.map(Z=>({id:Z.id,value:L[Z.id]||"",sectionId:J.id,type:Z.type,metaData:{prefix:Z.prefix,dateFormat:Z.dateFormat}}))});q($),m(L)},[L,f,q,s,m]),x.useEffect(()=>{n!=null&&n.length&&I(nc(n))},[n,I]);const W=x.useCallback($=>{const J=f.flatMap(R=>{var Z;return(Z=R==null?void 0:R.questionData)==null?void 0:Z.map(oe=>({id:oe.id,value:$[oe.id]||"",sectionId:R.id,type:oe.type,metaData:{prefix:oe.prefix,dateFormat:oe.dateFormat}}))});Object.keys(O).length>0||o==null||o(J)},[O,f,o]),Y=x.useCallback(async()=>{var $,J;if(l==="conversational"){if(!i){const R=z[p];if(!R)return;const Z=R.gridChildren?R.gridChildren.map(ue=>ue.id):[R.id];if(!await _(Z))return}p<z.length-1?g(R=>R+1):k(W)();return}if(!i){const R=(J=($=f==null?void 0:f[v])==null?void 0:$.questionData)==null?void 0:J.map(oe=>oe.id);if(!await _(R))return}h(R=>R+1)},[v,p,z,f,i,_,l,k,W]),X=x.useCallback(()=>{if(l==="conversational"){g($=>Math.max(0,$-1));return}h($=>$-1)},[l]),ne=x.useMemo(()=>({register:A,setValue:C,watch:T,errors:O,trigger:_,isSubmitting:E,isReadOnly:a,getValues:P,setError:B,clearErrors:K,apiActivityCount:b}),[A,C,T,O,_,E,a,P,B,K,b]);return t.jsxs(Ve.FormProvider,{...w,children:[t.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),t.jsxs("form",{onSubmit:k(W),className:"container h-full mx-auto",children:[t.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:t.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((Q=f==null?void 0:f[v])==null?void 0:Q.title)||((U=f==null?void 0:f[v])==null?void 0:U.description))&&t.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((V=f[v])==null?void 0:V.title)&&t.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(G=f[v])==null?void 0:G.title}),((H=f[v])==null?void 0:H.description)&&t.jsx("p",{className:"text-sm",children:(j=f[v])==null?void 0:j.description})]}),l==="multi"?t.jsx(Ru,{form_data:f,options:ne,current:v}):l==="conversational"?t.jsx(ec,{element:z[p],options:ne,onNext:Y,onPrev:X,isFirst:p===0,isLast:p===z.length-1,isReadOnly:a}):t.jsx(Qu,{form_data:f,options:ne})]},l==="conversational"?`conv-${p}`:(F=f==null?void 0:f[v])==null?void 0:F.id)}),!d&&l!=="conversational"&&t.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[t.jsxs("div",{children:[" ",v>0&&t.jsxs("button",{type:"button",onClick:X,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[t.jsx(ae,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),v<N-1&&t.jsx(Ke,{type:"button",text:"Next",onClick:Y,style:{background:(y==null?void 0:y.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"})]}),(v===N-1||a)&&!i&&(r!=null?r:t.jsx(Ke,{isDisabled:E||Object.keys(O).length>0||b>0,isLoading:E,type:"submit",text:"Submit",style:{background:(y==null?void 0:y.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&&(r!=null?r:t.jsx(Ke,{isDisabled:E||Object.keys(O).length>0||b>0,isLoading:E,type:"submit",text:"Submit",style:{background:(y==null?void 0:y.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"&&z.length>0&&t.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:t.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(p+1)/z.length*100}%`,background:(y==null?void 0:y.buttonColor)||"#2563EB"}})})]})]})},oc=x.memo(ic);function wo({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:a=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:m,uploadUrl:c}){x.useEffect(()=>{l&&Ys("config",l)},[l]);const b=x.useCallback(v=>{m&&m(v)},[m]);return a?t.jsx(go,{}):n?t.jsxs("div",{className:"w-full h-full min-w-0",children:[t.jsx("div",{id:"root-portal"}),t.jsx(xs,{children:t.jsx(oc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:b,uploadUrl:c,children:d})})]}):t.jsx("div",{children:t.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function xe(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=xe(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var sc={value:()=>{}};function di(){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 ui(i)}function ui(e){this._=e}function ac(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}})}ui.prototype=di.prototype={constructor:ui,on:function(e,n){var i=this._,o=ac(e+"",i),s,a=-1,l=o.length;if(arguments.length<2){for(;++a<l;)if((s=(e=o[a]).type)&&(s=tc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(s=(e=o[a]).type)i[s]=oa(i[s],e.name,n);else if(n==null)for(s in i)i[s]=oa(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 ui(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,a;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],o=0,s=a.length;o<s;++o)a[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,a=o.length;s<a;++s)o[s].value.apply(n,i)}};function tc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function oa(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=sc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var No="http://www.w3.org/1999/xhtml";const sa={svg:"http://www.w3.org/2000/svg",xhtml:No,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ci(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),sa.hasOwnProperty(n)?{space:sa[n],local:e}:e}function lc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===No&&n.documentElement.namespaceURI===No?n.createElement(e):n.createElementNS(i,e)}}function rc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function aa(e){var n=ci(e);return(n.local?rc:lc)(n)}function dc(){}function Ao(e){return e==null?dc:function(){return this.querySelector(e)}}function uc(e){typeof e!="function"&&(e=Ao(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=new Array(l),d,u,m=0;m<l;++m)(d=a[m])&&(u=e.call(d,d.__data__,m,a))&&("__data__"in d&&(u.__data__=d.__data__),r[m]=u);return new Te(o,this._parents)}function cc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function mc(){return[]}function ta(e){return e==null?mc:function(){return this.querySelectorAll(e)}}function bc(e){return function(){return cc(e.apply(this,arguments))}}function vc(e){typeof e=="function"?e=bc(e):e=ta(e);for(var n=this._groups,i=n.length,o=[],s=[],a=0;a<i;++a)for(var l=n[a],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 Te(o,s)}function la(e){return function(){return this.matches(e)}}function ra(e){return function(n){return n.matches(e)}}var hc=Array.prototype.find;function fc(e){return function(){return hc.call(this.children,e)}}function pc(){return this.firstElementChild}function gc(e){return this.select(e==null?pc:fc(typeof e=="function"?e:ra(e)))}var yc=Array.prototype.filter;function xc(){return Array.from(this.children)}function Sc(e){return function(){return yc.call(this.children,e)}}function wc(e){return this.selectAll(e==null?xc:Sc(typeof e=="function"?e:ra(e)))}function Nc(e){typeof e!="function"&&(e=la(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=[],d,u=0;u<l;++u)(d=a[u])&&e.call(d,d.__data__,u,a)&&r.push(d);return new Te(o,this._parents)}function da(e){return new Array(e.length)}function Ac(){return new Te(this._enter||this._groups.map(da),this._parents)}function mi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}mi.prototype={constructor:mi,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 Cc(e){return function(){return e}}function kc(e,n,i,o,s,a){for(var l=0,r,d=n.length,u=a.length;l<u;++l)(r=n[l])?(r.__data__=a[l],o[l]=r):i[l]=new mi(e,a[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function Mc(e,n,i,o,s,a,l){var r,d,u=new Map,m=n.length,c=a.length,b=new Array(m),v;for(r=0;r<m;++r)(d=n[r])&&(b[r]=v=l.call(d,d.__data__,r,n)+"",u.has(v)?s[r]=d:u.set(v,d));for(r=0;r<c;++r)v=l.call(e,a[r],r,a)+"",(d=u.get(v))?(o[r]=d,d.__data__=a[r],u.delete(v)):i[r]=new mi(e,a[r]);for(r=0;r<m;++r)(d=n[r])&&u.get(b[r])===d&&(s[r]=d)}function Ec(e){return e.__data__}function Tc(e,n){if(!arguments.length)return Array.from(this,Ec);var i=n?Mc:kc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Cc(e));for(var a=s.length,l=new Array(a),r=new Array(a),d=new Array(a),u=0;u<a;++u){var m=o[u],c=s[u],b=c.length,v=Pc(e.call(m,m&&m.__data__,u,o)),h=v.length,p=r[u]=new Array(h),g=l[u]=new Array(h),f=d[u]=new Array(b);i(m,c,p,g,f,v,n);for(var N=0,y=0,S,w;N<h;++N)if(S=p[N]){for(N>=y&&(y=N+1);!(w=g[y])&&++y<h;);S._next=w||null}}return l=new Te(l,o),l._enter=r,l._exit=d,l}function Pc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Lc(){return new Te(this._exit||this._groups.map(da),this._parents)}function Bc(e,n,i){var o=this.enter(),s=this,a=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?a.remove():i(a),o&&s?o.merge(s).order():s}function Ic(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,a=o.length,l=Math.min(s,a),r=new Array(s),d=0;d<l;++d)for(var u=i[d],m=o[d],c=u.length,b=r[d]=new Array(c),v,h=0;h<c;++h)(v=u[h]||m[h])&&(b[h]=v);for(;d<s;++d)r[d]=i[d];return new Te(r,this._parents)}function Dc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,a=o[s],l;--s>=0;)(l=o[s])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function _c(e){e||(e=Oc);function n(c,b){return c&&b?e(c.__data__,b.__data__):!c-!b}for(var i=this._groups,o=i.length,s=new Array(o),a=0;a<o;++a){for(var l=i[a],r=l.length,d=s[a]=new Array(r),u,m=0;m<r;++m)(u=l[m])&&(d[m]=u);d.sort(n)}return new Te(s,this._parents).order()}function Oc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Kc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hc(){return Array.from(this)}function Gc(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,a=o.length;s<a;++s){var l=o[s];if(l)return l}return null}function Fc(){let e=0;for(const n of this)++e;return e}function Vc(){return!this.node()}function zc(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],a=0,l=s.length,r;a<l;++a)(r=s[a])&&e.call(r,r.__data__,a,s);return this}function Wc(e){return function(){this.removeAttribute(e)}}function $c(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jc(e,n){return function(){this.setAttribute(e,n)}}function Uc(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function qc(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function Yc(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 Jc(e,n){var i=ci(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?$c:Wc:typeof n=="function"?i.local?Yc:qc:i.local?Uc:jc)(i,n))}function ua(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Zc(e){return function(){this.style.removeProperty(e)}}function Xc(e,n,i){return function(){this.style.setProperty(e,n,i)}}function Qc(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function Rc(e,n,i){return arguments.length>1?this.each((n==null?Zc:typeof n=="function"?Qc:Xc)(e,n,i==null?"":i)):vn(this.node(),e)}function vn(e,n){return e.style.getPropertyValue(n)||ua(e).getComputedStyle(e,null).getPropertyValue(n)}function em(e){return function(){delete this[e]}}function nm(e,n){return function(){this[e]=n}}function im(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function om(e,n){return arguments.length>1?this.each((n==null?em:typeof n=="function"?im:nm)(e,n)):this.node()[e]}function ca(e){return e.trim().split(/^|\s+/)}function Co(e){return e.classList||new ma(e)}function ma(e){this._node=e,this._names=ca(e.getAttribute("class")||"")}ma.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 ba(e,n){for(var i=Co(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function va(e,n){for(var i=Co(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function sm(e){return function(){ba(this,e)}}function am(e){return function(){va(this,e)}}function tm(e,n){return function(){(n.apply(this,arguments)?ba:va)(this,e)}}function lm(e,n){var i=ca(e+"");if(arguments.length<2){for(var o=Co(this.node()),s=-1,a=i.length;++s<a;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?tm:n?sm:am)(i,n))}function rm(){this.textContent=""}function dm(e){return function(){this.textContent=e}}function um(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function cm(e){return arguments.length?this.each(e==null?rm:(typeof e=="function"?um:dm)(e)):this.node().textContent}function mm(){this.innerHTML=""}function bm(e){return function(){this.innerHTML=e}}function vm(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function hm(e){return arguments.length?this.each(e==null?mm:(typeof e=="function"?vm:bm)(e)):this.node().innerHTML}function fm(){this.nextSibling&&this.parentNode.appendChild(this)}function pm(){return this.each(fm)}function gm(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ym(){return this.each(gm)}function xm(e){var n=typeof e=="function"?e:aa(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Sm(){return null}function wm(e,n){var i=typeof e=="function"?e:aa(e),o=n==null?Sm:typeof n=="function"?n:Ao(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Nm(){var e=this.parentNode;e&&e.removeChild(this)}function Am(){return this.each(Nm)}function Cm(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function km(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Mm(e){return this.select(e?km:Cm)}function Em(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Tm(e){return function(n){e.call(this,n,this.__data__)}}function Pm(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 Lm(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,a;i<s;++i)a=n[i],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++o]=a;++o?n.length=o:delete this.__on}}}function Bm(e,n,i){return function(){var o=this.__on,s,a=Tm(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=a,s.options=i),s.value=n;return}}this.addEventListener(e.type,a,i),s={type:e.type,name:e.name,value:n,listener:a,options:i},o?o.push(s):this.__on=[s]}}function Im(e,n,i){var o=Pm(e+""),s,a=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,m;d<u;++d)for(s=0,m=r[d];s<a;++s)if((l=o[s]).type===m.type&&l.name===m.name)return m.value}return}for(r=n?Bm:Lm,s=0;s<a;++s)this.each(r(o[s],n,i));return this}function ha(e,n,i){var o=ua(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 Dm(e,n){return function(){return ha(this,e,n)}}function _m(e,n){return function(){return ha(this,e,n.apply(this,arguments))}}function Om(e,n){return this.each((typeof n=="function"?_m:Dm)(e,n))}function*Km(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,a=o.length,l;s<a;++s)(l=o[s])&&(yield l)}var fa=[null];function Te(e,n){this._groups=e,this._parents=n}function In(){return new Te([[document.documentElement]],fa)}function Hm(){return this}Te.prototype=In.prototype={constructor:Te,select:uc,selectAll:vc,selectChild:gc,selectChildren:wc,filter:Nc,data:Tc,enter:Ac,exit:Lc,join:Bc,merge:Ic,selection:Hm,order:Dc,sort:_c,call:Kc,nodes:Hc,node:Gc,size:Fc,empty:Vc,each:zc,attr:Jc,style:Rc,property:om,classed:lm,text:cm,html:hm,raise:pm,lower:ym,append:xm,insert:wm,remove:Am,clone:Mm,datum:Em,on:Im,dispatch:Om,[Symbol.iterator]:Km};function Pe(e){return typeof e=="string"?new Te([[document.querySelector(e)]],[document.documentElement]):new Te([[e]],fa)}function Gm(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Be(e,n){if(e=Gm(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 Fm={passive:!1},Dn={capture:!0,passive:!1};function ko(e){e.stopImmediatePropagation()}function hn(e){e.preventDefault(),e.stopImmediatePropagation()}function pa(e){var n=e.document.documentElement,i=Pe(e).on("dragstart.drag",hn,Dn);"onselectstart"in n?i.on("selectstart.drag",hn,Dn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function ga(e,n){var i=e.document.documentElement,o=Pe(e).on("dragstart.drag",null);n&&(o.on("click.drag",hn,Dn),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 bi=e=>()=>e;function Mo(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:a,x:l,y:r,dx:d,dy:u,dispatch:m}){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:a,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:m}})}Mo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Vm(e){return!e.ctrlKey&&!e.button}function zm(){return this.parentNode}function Wm(e,n){return n==null?{x:e.x,y:e.y}:n}function $m(){return navigator.maxTouchPoints||"ontouchstart"in this}function ya(){var e=Vm,n=zm,i=Wm,o=$m,s={},a=di("start","drag","end"),l=0,r,d,u,m,c=0;function b(S){S.on("mousedown.drag",v).filter(o).on("touchstart.drag",g).on("touchmove.drag",f,Fm).on("touchend.drag touchcancel.drag",N).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(S,w){if(!(m||!e.call(this,S,w))){var A=y(this,n.call(this,S,w),S,w,"mouse");A&&(Pe(S.view).on("mousemove.drag",h,Dn).on("mouseup.drag",p,Dn),pa(S.view),ko(S),u=!1,r=S.clientX,d=S.clientY,A("start",S))}}function h(S){if(hn(S),!u){var w=S.clientX-r,A=S.clientY-d;u=w*w+A*A>c}s.mouse("drag",S)}function p(S){Pe(S.view).on("mousemove.drag mouseup.drag",null),ga(S.view,u),hn(S),s.mouse("end",S)}function g(S,w){if(e.call(this,S,w)){var A=S.changedTouches,C=n.call(this,S,w),M=A.length,k,I;for(k=0;k<M;++k)(I=y(this,C,S,w,A[k].identifier,A[k]))&&(ko(S),I("start",S,A[k]))}}function f(S){var w=S.changedTouches,A=w.length,C,M;for(C=0;C<A;++C)(M=s[w[C].identifier])&&(hn(S),M("drag",S,w[C]))}function N(S){var w=S.changedTouches,A=w.length,C,M;for(m&&clearTimeout(m),m=setTimeout(function(){m=null},500),C=0;C<A;++C)(M=s[w[C].identifier])&&(ko(S),M("end",S,w[C]))}function y(S,w,A,C,M,k){var I=a.copy(),P=Be(k||A,w),T,O,E;if((E=i.call(S,new Mo("beforestart",{sourceEvent:A,target:b,identifier:M,active:l,x:P[0],y:P[1],dx:0,dy:0,dispatch:I}),C))!=null)return T=E.x-P[0]||0,O=E.y-P[1]||0,function _(B,K,D){var L=P,z;switch(B){case"start":s[M]=_,z=l++;break;case"end":delete s[M],--l;case"drag":P=Be(D||K,w),z=l;break}I.call(B,S,new Mo(B,{sourceEvent:K,subject:E,target:b,identifier:M,active:z,x:P[0]+T,y:P[1]+O,dx:P[0]-L[0],dy:P[1]-L[1],dispatch:I}),C)}}return b.filter=function(S){return arguments.length?(e=typeof S=="function"?S:bi(!!S),b):e},b.container=function(S){return arguments.length?(n=typeof S=="function"?S:bi(S),b):n},b.subject=function(S){return arguments.length?(i=typeof S=="function"?S:bi(S),b):i},b.touchable=function(S){return arguments.length?(o=typeof S=="function"?S:bi(!!S),b):o},b.on=function(){var S=a.on.apply(a,arguments);return S===a?b:S},b.clickDistance=function(S){return arguments.length?(c=(S=+S)*S,b):Math.sqrt(c)},b}function Eo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function xa(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function _n(){}var On=.7,vi=1/On,fn="\\s*([+-]?\\d+)\\s*",Kn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",He="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",jm=/^#([0-9a-f]{3,8})$/,Um=new RegExp(`^rgb\\(${fn},${fn},${fn}\\)$`),qm=new RegExp(`^rgb\\(${He},${He},${He}\\)$`),Ym=new RegExp(`^rgba\\(${fn},${fn},${fn},${Kn}\\)$`),Jm=new RegExp(`^rgba\\(${He},${He},${He},${Kn}\\)$`),Zm=new RegExp(`^hsl\\(${Kn},${He},${He}\\)$`),Xm=new RegExp(`^hsla\\(${Kn},${He},${He},${Kn}\\)$`),Sa={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};Eo(_n,Qe,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:wa,formatHex:wa,formatHex8:Qm,formatHsl:Rm,formatRgb:Na,toString:Na});function wa(){return this.rgb().formatHex()}function Qm(){return this.rgb().formatHex8()}function Rm(){return Ea(this).formatHsl()}function Na(){return this.rgb().formatRgb()}function Qe(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=jm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?Aa(n):i===3?new ke(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?hi(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?hi(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=Um.exec(e))?new ke(n[1],n[2],n[3],1):(n=qm.exec(e))?new ke(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Ym.exec(e))?hi(n[1],n[2],n[3],n[4]):(n=Jm.exec(e))?hi(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Zm.exec(e))?Ma(n[1],n[2]/100,n[3]/100,1):(n=Xm.exec(e))?Ma(n[1],n[2]/100,n[3]/100,n[4]):Sa.hasOwnProperty(e)?Aa(Sa[e]):e==="transparent"?new ke(NaN,NaN,NaN,0):null}function Aa(e){return new ke(e>>16&255,e>>8&255,e&255,1)}function hi(e,n,i,o){return o<=0&&(e=n=i=NaN),new ke(e,n,i,o)}function eb(e){return e instanceof _n||(e=Qe(e)),e?(e=e.rgb(),new ke(e.r,e.g,e.b,e.opacity)):new ke}function To(e,n,i,o){return arguments.length===1?eb(e):new ke(e,n,i,o==null?1:o)}function ke(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Eo(ke,To,xa(_n,{brighter(e){return e=e==null?vi:Math.pow(vi,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?On:Math.pow(On,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ke(Re(this.r),Re(this.g),Re(this.b),fi(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:Ca,formatHex:Ca,formatHex8:nb,formatRgb:ka,toString:ka}));function Ca(){return`#${en(this.r)}${en(this.g)}${en(this.b)}`}function nb(){return`#${en(this.r)}${en(this.g)}${en(this.b)}${en((isNaN(this.opacity)?1:this.opacity)*255)}`}function ka(){const e=fi(this.opacity);return`${e===1?"rgb(":"rgba("}${Re(this.r)}, ${Re(this.g)}, ${Re(this.b)}${e===1?")":`, ${e})`}`}function fi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Re(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function en(e){return e=Re(e),(e<16?"0":"")+e.toString(16)}function Ma(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Ie(e,n,i,o)}function Ea(e){if(e instanceof Ie)return new Ie(e.h,e.s,e.l,e.opacity);if(e instanceof _n||(e=Qe(e)),!e)return new Ie;if(e instanceof Ie)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),a=Math.max(n,i,o),l=NaN,r=a-s,d=(a+s)/2;return r?(n===a?l=(i-o)/r+(i<o)*6:i===a?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?a+s:2-a-s,l*=60):r=d>0&&d<1?0:l,new Ie(l,r,d,e.opacity)}function ib(e,n,i,o){return arguments.length===1?Ea(e):new Ie(e,n,i,o==null?1:o)}function Ie(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Eo(Ie,ib,xa(_n,{brighter(e){return e=e==null?vi:Math.pow(vi,e),new Ie(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?On:Math.pow(On,e),new Ie(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 ke(Po(e>=240?e-240:e+120,s,o),Po(e,s,o),Po(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new Ie(Ta(this.h),pi(this.s),pi(this.l),fi(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=fi(this.opacity);return`${e===1?"hsl(":"hsla("}${Ta(this.h)}, ${pi(this.s)*100}%, ${pi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ta(e){return e=(e||0)%360,e<0?e+360:e}function pi(e){return Math.max(0,Math.min(1,e||0))}function Po(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 Lo=e=>()=>e;function ob(e,n){return function(i){return e+i*n}}function sb(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 ab(e){return(e=+e)==1?Pa:function(n,i){return i-n?sb(n,i,e):Lo(isNaN(n)?i:n)}}function Pa(e,n){var i=n-e;return i?ob(e,i):Lo(isNaN(e)?n:e)}const gi=function e(n){var i=ab(n);function o(s,a){var l=i((s=To(s)).r,(a=To(a)).r),r=i(s.g,a.g),d=i(s.b,a.b),u=Pa(s.opacity,a.opacity);return function(m){return s.r=l(m),s.g=r(m),s.b=d(m),s.opacity=u(m),s+""}}return o.gamma=e,o}(1);function tb(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(a){for(s=0;s<i;++s)o[s]=e[s]*(1-a)+n[s]*a;return o}}function lb(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rb(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),a=new Array(i),l;for(l=0;l<o;++l)s[l]=Hn(e[l],n[l]);for(;l<i;++l)a[l]=n[l];return function(r){for(l=0;l<o;++l)a[l]=s[l](r);return a}}function db(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Ge(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function ub(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]=Hn(e[s],n[s]):o[s]=n[s];return function(a){for(s in i)o[s]=i[s](a);return o}}var Bo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Io=new RegExp(Bo.source,"g");function cb(e){return function(){return e}}function mb(e){return function(n){return e(n)+""}}function La(e,n){var i=Bo.lastIndex=Io.lastIndex=0,o,s,a,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Bo.exec(e))&&(s=Io.exec(n));)(a=s.index)>i&&(a=n.slice(i,a),r[l]?r[l]+=a:r[++l]=a),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Ge(o,s)})),i=Io.lastIndex;return i<n.length&&(a=n.slice(i),r[l]?r[l]+=a:r[++l]=a),r.length<2?d[0]?mb(d[0].x):cb(n):(n=d.length,function(u){for(var m=0,c;m<n;++m)r[(c=d[m]).i]=c.x(u);return r.join("")})}function Hn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Lo(n):(i==="number"?Ge:i==="string"?(o=Qe(n))?(n=o,gi):La:n instanceof Qe?gi:n instanceof Date?db:lb(n)?tb:Array.isArray(n)?rb:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?ub:Ge)(e,n)}var Ba=180/Math.PI,Do={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ia(e,n,i,o,s,a){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:a,rotate:Math.atan2(n,e)*Ba,skewX:Math.atan(d)*Ba,scaleX:l,scaleY:r}}var yi;function bb(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Do:Ia(n.a,n.b,n.c,n.d,n.e,n.f)}function vb(e){return e==null||(yi||(yi=document.createElementNS("http://www.w3.org/2000/svg","g")),yi.setAttribute("transform",e),!(e=yi.transform.baseVal.consolidate()))?Do:(e=e.matrix,Ia(e.a,e.b,e.c,e.d,e.e,e.f))}function Da(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function a(u,m,c,b,v,h){if(u!==c||m!==b){var p=v.push("translate(",null,n,null,i);h.push({i:p-4,x:Ge(u,c)},{i:p-2,x:Ge(m,b)})}else(c||b)&&v.push("translate("+c+n+b+i)}function l(u,m,c,b){u!==m?(u-m>180?m+=360:m-u>180&&(u+=360),b.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Ge(u,m)})):m&&c.push(s(c)+"rotate("+m+o)}function r(u,m,c,b){u!==m?b.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Ge(u,m)}):m&&c.push(s(c)+"skewX("+m+o)}function d(u,m,c,b,v,h){if(u!==c||m!==b){var p=v.push(s(v)+"scale(",null,",",null,")");h.push({i:p-4,x:Ge(u,c)},{i:p-2,x:Ge(m,b)})}else(c!==1||b!==1)&&v.push(s(v)+"scale("+c+","+b+")")}return function(u,m){var c=[],b=[];return u=e(u),m=e(m),a(u.translateX,u.translateY,m.translateX,m.translateY,c,b),l(u.rotate,m.rotate,c,b),r(u.skewX,m.skewX,c,b),d(u.scaleX,u.scaleY,m.scaleX,m.scaleY,c,b),u=m=null,function(v){for(var h=-1,p=b.length,g;++h<p;)c[(g=b[h]).i]=g.x(v);return c.join("")}}}var hb=Da(bb,"px, ","px)","deg)"),fb=Da(vb,", ",")",")"),pb=1e-12;function _a(e){return((e=Math.exp(e))+1/e)/2}function gb(e){return((e=Math.exp(e))-1/e)/2}function yb(e){return((e=Math.exp(2*e))-1)/(e+1)}const xi=function e(n,i,o){function s(a,l){var r=a[0],d=a[1],u=a[2],m=l[0],c=l[1],b=l[2],v=m-r,h=c-d,p=v*v+h*h,g,f;if(p<pb)f=Math.log(b/u)/n,g=function(C){return[r+C*v,d+C*h,u*Math.exp(n*C*f)]};else{var N=Math.sqrt(p),y=(b*b-u*u+o*p)/(2*u*i*N),S=(b*b-u*u-o*p)/(2*b*i*N),w=Math.log(Math.sqrt(y*y+1)-y),A=Math.log(Math.sqrt(S*S+1)-S);f=(A-w)/n,g=function(C){var M=C*f,k=_a(w),I=u/(i*N)*(k*yb(n*M+w)-gb(w));return[r+I*v,d+I*h,u*k/_a(n*M+w)]}}return g.duration=f*1e3*n/Math.SQRT2,g}return s.rho=function(a){var l=Math.max(.001,+a),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var pn=0,Gn=0,Fn=0,Oa=1e3,Si,Vn,wi=0,nn=0,Ni=0,zn=typeof performance=="object"&&performance.now?performance:Date,Ka=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function _o(){return nn||(Ka(xb),nn=zn.now()+Ni)}function xb(){nn=0}function Ai(){this._call=this._time=this._next=null}Ai.prototype=Ha.prototype={constructor:Ai,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&&Vn!==this&&(Vn?Vn._next=this:Si=this,Vn=this),this._call=e,this._time=i,Oo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Oo())}};function Ha(e,n,i){var o=new Ai;return o.restart(e,n,i),o}function Sb(){_o(),++pn;for(var e=Si,n;e;)(n=nn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--pn}function Ga(){nn=(wi=zn.now())+Ni,pn=Gn=0;try{Sb()}finally{pn=0,Nb(),nn=0}}function wb(){var e=zn.now(),n=e-wi;n>Oa&&(Ni-=n,wi=e)}function Nb(){for(var e,n=Si,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:Si=i);Vn=e,Oo(o)}function Oo(e){if(!pn){Gn&&(Gn=clearTimeout(Gn));var n=e-nn;n>24?(e<1/0&&(Gn=setTimeout(Ga,e-zn.now()-Ni)),Fn&&(Fn=clearInterval(Fn))):(Fn||(wi=zn.now(),Fn=setInterval(wb,Oa)),pn=1,Ka(Ga))}}function Fa(e,n,i){var o=new Ai;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Ab=di("start","end","cancel","interrupt"),Cb=[],Va=0,za=1,Ko=2,Ci=3,Wa=4,Ho=5,ki=6;function Mi(e,n,i,o,s,a){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;kb(e,i,{name:n,index:o,group:s,on:Ab,tween:Cb,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Va})}function Go(e,n){var i=De(e,n);if(i.state>Va)throw new Error("too late; already scheduled");return i}function Fe(e,n){var i=De(e,n);if(i.state>Ci)throw new Error("too late; already running");return i}function De(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function kb(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ha(a,0,i.time);function a(u){i.state=za,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var m,c,b,v;if(i.state!==za)return d();for(m in o)if(v=o[m],v.name===i.name){if(v.state===Ci)return Fa(l);v.state===Wa?(v.state=ki,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[m]):+m<n&&(v.state=ki,v.timer.stop(),v.on.call("cancel",e,e.__data__,v.index,v.group),delete o[m])}if(Fa(function(){i.state===Ci&&(i.state=Wa,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Ko,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Ko){for(i.state=Ci,s=new Array(b=i.tween.length),m=0,c=-1;m<b;++m)(v=i.tween[m].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=v);s.length=c+1}}function r(u){for(var m=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Ho,1),c=-1,b=s.length;++c<b;)s[c].call(e,m);i.state===Ho&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=ki,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Ei(e,n){var i=e.__transition,o,s,a=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){a=!1;continue}s=o.state>Ko&&o.state<Ho,o.state=ki,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}a&&delete e.__transition}}function Mb(e){return this.each(function(){Ei(this,e)})}function Eb(e,n){var i,o;return function(){var s=Fe(this,e),a=s.tween;if(a!==i){o=i=a;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 Tb(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var a=Fe(this,e),l=a.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)}a.tween=s}}function Pb(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=De(this.node(),i).tween,s=0,a=o.length,l;s<a;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Eb:Tb)(i,e,n))}function Fo(e,n,i){var o=e._id;return e.each(function(){var s=Fe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return De(s,o).value[n]}}function $a(e,n){var i;return(typeof n=="number"?Ge:n instanceof Qe?gi:(i=Qe(n))?(n=i,gi):La)(e,n)}function Lb(e){return function(){this.removeAttribute(e)}}function Bb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ib(e,n,i){var o,s=i+"",a;return function(){var l=this.getAttribute(e);return l===s?null:l===o?a:a=n(o=l,i)}}function Db(e,n,i){var o,s=i+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?a:a=n(o=l,i)}}function _b(e,n,i){var o,s,a;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?a:(s=d,a=n(o=l,r)))}}function Ob(e,n,i){var o,s,a;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?a:(s=d,a=n(o=l,r)))}}function Kb(e,n){var i=ci(e),o=i==="transform"?fb:$a;return this.attrTween(e,typeof n=="function"?(i.local?Ob:_b)(i,o,Fo(this,"attr."+e,n)):n==null?(i.local?Bb:Lb)(i):(i.local?Db:Ib)(i,o,n))}function Hb(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function Gb(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function Fb(e,n){var i,o;function s(){var a=n.apply(this,arguments);return a!==o&&(i=(o=a)&&Gb(e,a)),i}return s._value=n,s}function Vb(e,n){var i,o;function s(){var a=n.apply(this,arguments);return a!==o&&(i=(o=a)&&Hb(e,a)),i}return s._value=n,s}function zb(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=ci(e);return this.tween(i,(o.local?Fb:Vb)(o,n))}function Wb(e,n){return function(){Go(this,e).delay=+n.apply(this,arguments)}}function $b(e,n){return n=+n,function(){Go(this,e).delay=n}}function jb(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Wb:$b)(n,e)):De(this.node(),n).delay}function Ub(e,n){return function(){Fe(this,e).duration=+n.apply(this,arguments)}}function qb(e,n){return n=+n,function(){Fe(this,e).duration=n}}function Yb(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Ub:qb)(n,e)):De(this.node(),n).duration}function Jb(e,n){if(typeof n!="function")throw new Error;return function(){Fe(this,e).ease=n}}function Zb(e){var n=this._id;return arguments.length?this.each(Jb(n,e)):De(this.node(),n).ease}function Xb(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Fe(this,e).ease=i}}function Qb(e){if(typeof e!="function")throw new Error;return this.each(Xb(this._id,e))}function Rb(e){typeof e!="function"&&(e=la(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=[],d,u=0;u<l;++u)(d=a[u])&&e.call(d,d.__data__,u,a)&&r.push(d);return new ze(o,this._parents,this._name,this._id)}function ev(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,a=Math.min(o,s),l=new Array(o),r=0;r<a;++r)for(var d=n[r],u=i[r],m=d.length,c=l[r]=new Array(m),b,v=0;v<m;++v)(b=d[v]||u[v])&&(c[v]=b);for(;r<o;++r)l[r]=n[r];return new ze(l,this._parents,this._name,this._id)}function nv(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 iv(e,n,i){var o,s,a=nv(n)?Go:Fe;return function(){var l=a(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function ov(e,n){var i=this._id;return arguments.length<2?De(this.node(),i).on.on(e):this.each(iv(i,e,n))}function sv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function av(){return this.on("end.remove",sv(this._id))}function tv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Ao(e));for(var o=this._groups,s=o.length,a=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=a[l]=new Array(d),m,c,b=0;b<d;++b)(m=r[b])&&(c=e.call(m,m.__data__,b,r))&&("__data__"in m&&(c.__data__=m.__data__),u[b]=c,Mi(u[b],n,i,b,u,De(m,i)));return new ze(a,this._parents,n,i)}function lv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=ta(e));for(var o=this._groups,s=o.length,a=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,m,c=0;c<u;++c)if(m=d[c]){for(var b=e.call(m,m.__data__,c,d),v,h=De(m,i),p=0,g=b.length;p<g;++p)(v=b[p])&&Mi(v,n,i,p,b,h);a.push(b),l.push(m)}return new ze(a,l,n,i)}var rv=In.prototype.constructor;function dv(){return new rv(this._groups,this._parents)}function uv(e,n){var i,o,s;return function(){var a=vn(this,e),l=(this.style.removeProperty(e),vn(this,e));return a===l?null:a===i&&l===o?s:s=n(i=a,o=l)}}function ja(e){return function(){this.style.removeProperty(e)}}function cv(e,n,i){var o,s=i+"",a;return function(){var l=vn(this,e);return l===s?null:l===o?a:a=n(o=l,i)}}function mv(e,n,i){var o,s,a;return function(){var l=vn(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),vn(this,e))),l===d?null:l===o&&d===s?a:(s=d,a=n(o=l,r))}}function bv(e,n){var i,o,s,a="style."+n,l="end."+a,r;return function(){var d=Fe(this,e),u=d.on,m=d.value[a]==null?r||(r=ja(n)):void 0;(u!==i||s!==m)&&(o=(i=u).copy()).on(l,s=m),d.on=o}}function vv(e,n,i){var o=(e+="")=="transform"?hb:$a;return n==null?this.styleTween(e,uv(e,o)).on("end.style."+e,ja(e)):typeof n=="function"?this.styleTween(e,mv(e,o,Fo(this,"style."+e,n))).each(bv(this._id,e)):this.styleTween(e,cv(e,o,n),i).on("end.style."+e,null)}function hv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function fv(e,n,i){var o,s;function a(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&hv(e,l,i)),o}return a._value=n,a}function pv(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,fv(e,n,i==null?"":i))}function gv(e){return function(){this.textContent=e}}function yv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function xv(e){return this.tween("text",typeof e=="function"?yv(Fo(this,"text",e)):gv(e==null?"":e+""))}function Sv(e){return function(n){this.textContent=e.call(this,n)}}function wv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Sv(s)),n}return o._value=e,o}function Nv(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,wv(e))}function Av(){for(var e=this._name,n=this._id,i=Ua(),o=this._groups,s=o.length,a=0;a<s;++a)for(var l=o[a],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var m=De(d,n);Mi(d,e,i,u,l,{time:m.time+m.delay+m.duration,delay:0,duration:m.duration,ease:m.ease})}return new ze(o,this._parents,e,i)}function Cv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(a,l){var r={value:l},d={value:function(){--s===0&&a()}};i.each(function(){var u=Fe(this,o),m=u.on;m!==e&&(n=(e=m).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&a()})}var kv=0;function ze(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function Ua(){return++kv}var We=In.prototype;ze.prototype={constructor:ze,select:tv,selectAll:lv,selectChild:We.selectChild,selectChildren:We.selectChildren,filter:Rb,merge:ev,selection:dv,transition:Av,call:We.call,nodes:We.nodes,node:We.node,size:We.size,empty:We.empty,each:We.each,on:ov,attr:Kb,attrTween:zb,style:vv,styleTween:pv,text:xv,textTween:Nv,remove:av,tween:Pb,delay:jb,duration:Yb,ease:Zb,easeVarying:Qb,end:Cv,[Symbol.iterator]:We[Symbol.iterator]};function Mv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ev={time:null,delay:0,duration:250,ease:Mv};function Tv(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 Pv(e){var n,i;e instanceof ze?(n=e._id,e=e._name):(n=Ua(),(i=Ev).time=_o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,a=0;a<s;++a)for(var l=o[a],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Mi(d,e,n,u,l,i||Tv(d,n));return new ze(o,this._parents,e,n)}In.prototype.interrupt=Mb,In.prototype.transition=Pv;const Ti=e=>()=>e;function Lv(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 $e(e,n,i){this.k=e,this.x=n,this.y=i}$e.prototype={constructor:$e,scale:function(e){return e===1?this:new $e(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new $e(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 Pi=new $e(1,0,0);qa.prototype=$e.prototype;function qa(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Pi;return e.__zoom}function Vo(e){e.stopImmediatePropagation()}function Wn(e){e.preventDefault(),e.stopImmediatePropagation()}function Bv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Iv(){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 Ya(){return this.__zoom||Pi}function Dv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _v(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ov(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],a=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>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function Ja(){var e=Bv,n=Iv,i=Ov,o=Dv,s=_v,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=xi,u=di("start","zoom","end"),m,c,b,v=500,h=150,p=0,g=10;function f(E){E.property("__zoom",Ya).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",P).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}f.transform=function(E,_,B,K){var D=E.selection?E.selection():E;D.property("__zoom",Ya),E!==D?w(E,_,B,K):D.interrupt().each(function(){A(this,arguments).event(K).start().zoom(null,typeof _=="function"?_.apply(this,arguments):_).end()})},f.scaleBy=function(E,_,B,K){f.scaleTo(E,function(){var D=this.__zoom.k,L=typeof _=="function"?_.apply(this,arguments):_;return D*L},B,K)},f.scaleTo=function(E,_,B,K){f.transform(E,function(){var D=n.apply(this,arguments),L=this.__zoom,z=B==null?S(D):typeof B=="function"?B.apply(this,arguments):B,q=L.invert(z),W=typeof _=="function"?_.apply(this,arguments):_;return i(y(N(L,W),z,q),D,l)},B,K)},f.translateBy=function(E,_,B,K){f.transform(E,function(){return i(this.__zoom.translate(typeof _=="function"?_.apply(this,arguments):_,typeof B=="function"?B.apply(this,arguments):B),n.apply(this,arguments),l)},null,K)},f.translateTo=function(E,_,B,K,D){f.transform(E,function(){var L=n.apply(this,arguments),z=this.__zoom,q=K==null?S(L):typeof K=="function"?K.apply(this,arguments):K;return i(Pi.translate(q[0],q[1]).scale(z.k).translate(typeof _=="function"?-_.apply(this,arguments):-_,typeof B=="function"?-B.apply(this,arguments):-B),L,l)},K,D)};function N(E,_){return _=Math.max(a[0],Math.min(a[1],_)),_===E.k?E:new $e(_,E.x,E.y)}function y(E,_,B){var K=_[0]-B[0]*E.k,D=_[1]-B[1]*E.k;return K===E.x&&D===E.y?E:new $e(E.k,K,D)}function S(E){return[(+E[0][0]+ +E[1][0])/2,(+E[0][1]+ +E[1][1])/2]}function w(E,_,B,K){E.on("start.zoom",function(){A(this,arguments).event(K).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(K).end()}).tween("zoom",function(){var D=this,L=arguments,z=A(D,L).event(K),q=n.apply(D,L),W=B==null?S(q):typeof B=="function"?B.apply(D,L):B,Y=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),X=D.__zoom,ne=typeof _=="function"?_.apply(D,L):_,se=d(X.invert(W).concat(Y/X.k),ne.invert(W).concat(Y/ne.k));return function(Q){if(Q===1)Q=ne;else{var U=se(Q),V=Y/U[2];Q=new $e(V,W[0]-U[0]*V,W[1]-U[1]*V)}z.zoom(null,Q)}})}function A(E,_,B){return!B&&E.__zooming||new C(E,_)}function C(E,_){this.that=E,this.args=_,this.active=0,this.sourceEvent=null,this.extent=n.apply(E,_),this.taps=0}C.prototype={event:function(E){return E&&(this.sourceEvent=E),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(E,_){return this.mouse&&E!=="mouse"&&(this.mouse[1]=_.invert(this.mouse[0])),this.touch0&&E!=="touch"&&(this.touch0[1]=_.invert(this.touch0[0])),this.touch1&&E!=="touch"&&(this.touch1[1]=_.invert(this.touch1[0])),this.that.__zoom=_,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(E){var _=Pe(this.that).datum();u.call(E,this.that,new Lv(E,{sourceEvent:this.sourceEvent,target:f,transform:this.that.__zoom,dispatch:u}),_)}};function M(E,..._){if(!e.apply(this,arguments))return;var B=A(this,_).event(E),K=this.__zoom,D=Math.max(a[0],Math.min(a[1],K.k*Math.pow(2,o.apply(this,arguments)))),L=Be(E);if(B.wheel)(B.mouse[0][0]!==L[0]||B.mouse[0][1]!==L[1])&&(B.mouse[1]=K.invert(B.mouse[0]=L)),clearTimeout(B.wheel);else{if(K.k===D)return;B.mouse=[L,K.invert(L)],Ei(this),B.start()}Wn(E),B.wheel=setTimeout(z,h),B.zoom("mouse",i(y(N(K,D),B.mouse[0],B.mouse[1]),B.extent,l));function z(){B.wheel=null,B.end()}}function k(E,..._){if(b||!e.apply(this,arguments))return;var B=E.currentTarget,K=A(this,_,!0).event(E),D=Pe(E.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",Y,!0),L=Be(E,B),z=E.clientX,q=E.clientY;pa(E.view),Vo(E),K.mouse=[L,this.__zoom.invert(L)],Ei(this),K.start();function W(X){if(Wn(X),!K.moved){var ne=X.clientX-z,se=X.clientY-q;K.moved=ne*ne+se*se>p}K.event(X).zoom("mouse",i(y(K.that.__zoom,K.mouse[0]=Be(X,B),K.mouse[1]),K.extent,l))}function Y(X){D.on("mousemove.zoom mouseup.zoom",null),ga(X.view,K.moved),Wn(X),K.event(X).end()}}function I(E,..._){if(e.apply(this,arguments)){var B=this.__zoom,K=Be(E.changedTouches?E.changedTouches[0]:E,this),D=B.invert(K),L=B.k*(E.shiftKey?.5:2),z=i(y(N(B,L),K,D),n.apply(this,_),l);Wn(E),r>0?Pe(this).transition().duration(r).call(w,z,K,E):Pe(this).call(f.transform,z,K,E)}}function P(E,..._){if(e.apply(this,arguments)){var B=E.touches,K=B.length,D=A(this,_,E.changedTouches.length===K).event(E),L,z,q,W;for(Vo(E),z=0;z<K;++z)q=B[z],W=Be(q,this),W=[W,this.__zoom.invert(W),q.identifier],D.touch0?!D.touch1&&D.touch0[2]!==W[2]&&(D.touch1=W,D.taps=0):(D.touch0=W,L=!0,D.taps=1+!!m);m&&(m=clearTimeout(m)),L&&(D.taps<2&&(c=W[0],m=setTimeout(function(){m=null},v)),Ei(this),D.start())}}function T(E,..._){if(this.__zooming){var B=A(this,_).event(E),K=E.changedTouches,D=K.length,L,z,q,W;for(Wn(E),L=0;L<D;++L)z=K[L],q=Be(z,this),B.touch0&&B.touch0[2]===z.identifier?B.touch0[0]=q:B.touch1&&B.touch1[2]===z.identifier&&(B.touch1[0]=q);if(z=B.that.__zoom,B.touch1){var Y=B.touch0[0],X=B.touch0[1],ne=B.touch1[0],se=B.touch1[1],Q=(Q=ne[0]-Y[0])*Q+(Q=ne[1]-Y[1])*Q,U=(U=se[0]-X[0])*U+(U=se[1]-X[1])*U;z=N(z,Math.sqrt(Q/U)),q=[(Y[0]+ne[0])/2,(Y[1]+ne[1])/2],W=[(X[0]+se[0])/2,(X[1]+se[1])/2]}else if(B.touch0)q=B.touch0[0],W=B.touch0[1];else return;B.zoom("touch",i(y(z,q,W),B.extent,l))}}function O(E,..._){if(this.__zooming){var B=A(this,_).event(E),K=E.changedTouches,D=K.length,L,z;for(Vo(E),b&&clearTimeout(b),b=setTimeout(function(){b=null},v),L=0;L<D;++L)z=K[L],B.touch0&&B.touch0[2]===z.identifier?delete B.touch0:B.touch1&&B.touch1[2]===z.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(z=Be(z,this),Math.hypot(c[0]-z[0],c[1]-z[1])<g)){var q=Pe(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return f.wheelDelta=function(E){return arguments.length?(o=typeof E=="function"?E:Ti(+E),f):o},f.filter=function(E){return arguments.length?(e=typeof E=="function"?E:Ti(!!E),f):e},f.touchable=function(E){return arguments.length?(s=typeof E=="function"?E:Ti(!!E),f):s},f.extent=function(E){return arguments.length?(n=typeof E=="function"?E:Ti([[+E[0][0],+E[0][1]],[+E[1][0],+E[1][1]]]),f):n},f.scaleExtent=function(E){return arguments.length?(a[0]=+E[0],a[1]=+E[1],f):[a[0],a[1]]},f.translateExtent=function(E){return arguments.length?(l[0][0]=+E[0][0],l[1][0]=+E[1][0],l[0][1]=+E[0][1],l[1][1]=+E[1][1],f):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},f.constrain=function(E){return arguments.length?(i=E,f):i},f.duration=function(E){return arguments.length?(r=+E,f):r},f.interpolate=function(E){return arguments.length?(d=E,f):d},f.on=function(){var E=u.on.apply(u,arguments);return E===u?f:E},f.clickDistance=function(E){return arguments.length?(p=(E=+E)*E,f):Math.sqrt(p)},f.tapDistance=function(E){return arguments.length?(g=+E,f):g},f}const Le={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.`},$n=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Za=["Enter"," ","Escape"],Xa={"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 gn;(function(e){e.Strict="strict",e.Loose="loose"})(gn||(gn={}));var on;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(on||(on={}));var jn;(function(e){e.Partial="partial",e.Full="full"})(jn||(jn={}));const Qa={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var qe;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(qe||(qe={}));var yn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(yn||(yn={}));var ie;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ie||(ie={}));const Ra={[ie.Left]:ie.Right,[ie.Right]:ie.Left,[ie.Top]:ie.Bottom,[ie.Bottom]:ie.Top};function et(e){return e===null?null:e?"valid":"invalid"}const nt=e=>"id"in e&&"source"in e&&"target"in e,Kv=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),Un=(e,n=[0,0])=>{var r;const{width:i,height:o}=je(e),s=(r=e.origin)!=null?r:n,a=i*s[0],l=o*s[1];return{x:e.position.x-a,y:e.position.y-l}},Hv=(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 a=typeof s=="string";let l=!n.nodeLookup&&!a?s:void 0;n.nodeLookup&&(l=a?n.nodeLookup.get(s):zo(s)?s:n.nodeLookup.get(s.id));const r=l?Ii(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Li(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Bi(i)},qn=(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=Li(i,Ii(s)),o=!0)}),o?Bi(i):{x:0,y:0,width:0,height:0}},Wo=(e,n,[i,o,s]=[0,0,1],a=!1,l=!1)=>{var b,v,h,p,g,f;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,m=n.height/s,c=[];for(const N of e.values()){const{measured:y,selectable:S=!0,hidden:w=!1}=N;if(l&&!S||w)continue;const A=(h=(v=(b=y.width)!=null?b:N.width)!=null?v:N.initialWidth)!=null?h:0,C=(f=(g=(p=y.height)!=null?p:N.height)!=null?g:N.initialHeight)!=null?f:0,{x:M,y:k}=N.internals.positionAbsolute,I=tt(r,d,u,m,M,k,A,C),P=A*C,T=a&&I>0;(!N.internals.handleBounds||T||I>=P||N.dragging)&&c.push(N)}return c},Gv=(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 Fv(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 Vv({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:a},l){var m,c,b;if(e.size===0)return!0;const r=Fv(e,l),d=qn(r),u=Uo(d,n,i,(m=l==null?void 0:l.minZoom)!=null?m:s,(c=l==null?void 0:l.maxZoom)!=null?c:a,(b=l==null?void 0:l.padding)!=null?b:.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 it({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:a}){var v,h,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},m=(v=l.origin)!=null?v:o;let c=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)a==null||a("005",Le.error005());else{const g=r.measured.width,f=r.measured.height;g&&f&&(c=[[d,u],[d+g,u+f]])}else r&&an(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const b=an(c)?sn(n,c,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",Le.error015())),{position:{x:b.x-d+((h=l.measured.width)!=null?h:0)*m[0],y:b.y-u+((p=l.measured.height)!=null?p:0)*m[1]},positionAbsolute:b}}async function zv({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const a=new Set(e.map(b=>b.id)),l=[];for(const b of i){if(b.deletable===!1)continue;const v=a.has(b.id),h=!v&&b.parentId&&l.find(p=>p.id===b.parentId);(v||h)&&l.push(b)}const r=new Set(n.map(b=>b.id)),d=o.filter(b=>b.deletable!==!1),m=Gv(l,d);for(const b of d)r.has(b.id)&&!m.find(h=>h.id===b.id)&&m.push(b);if(!s)return{edges:m,nodes:l};const c=await s({nodes:l,edges:m});return typeof c=="boolean"?c?{edges:m,nodes:l}:{edges:[],nodes:[]}:c}const xn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),sn=(e={x:0,y:0},n,i)=>{var o,s;return{x:xn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:xn(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function ot(e,n,i){const{width:o,height:s}=je(i),{x:a,y:l}=i.internals.positionAbsolute;return sn(e,[[a,l],[a+o,l+s]],n)}const st=(e,n,i)=>e<n?xn(Math.abs(e-n),1,n)/n:e>i?-xn(Math.abs(e-i),1,n)/n:0,$o=(e,n,i=15,o=40)=>{const s=st(e.x,o,n.width-o)*i,a=st(e.y,o,n.height-o)*i;return[s,a]},Li=(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)}),jo=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),Bi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),Yn=(e,n=[0,0])=>{var s,a,l,r,d,u,m,c;const{x:i,y:o}=zo(e)?e.internals.positionAbsolute:Un(e,n);return{x:i,y:o,width:(r=(l=(a=(s=e.measured)==null?void 0:s.width)!=null?a:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(c=(m=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?m:e.initialHeight)!=null?c:0}},Ii=(e,n=[0,0])=>{var s,a,l,r,d,u,m,c;const{x:i,y:o}=zo(e)?e.internals.positionAbsolute:Un(e,n);return{x:i,y:o,x2:i+((r=(l=(a=(s=e.measured)==null?void 0:s.width)!=null?a:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((c=(m=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?m:e.initialHeight)!=null?c:0)}},at=(e,n)=>Bi(Li(jo(e),jo(n))),tt=(e,n,i,o,s,a,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,a+r)-Math.max(n,a));return Math.ceil(d*u)},Di=(e,n)=>tt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),lt=e=>_e(e.width)&&_e(e.height)&&_e(e.x)&&_e(e.y),_e=e=>!isNaN(e)&&isFinite(e),rt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},Jn=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Zn=({x:e,y:n},[i,o,s],a=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return a?Jn(r,l):r},Sn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function wn(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 Wv(e,n,i){var o,s,a,l,r,d,u,m;if(typeof e=="string"||typeof e=="number"){const c=wn(e,i),b=wn(e,n);return{top:c,right:b,bottom:c,left:b,x:b*2,y:c*2}}if(typeof e=="object"){const c=wn((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),b=wn((l=(a=e.bottom)!=null?a:e.y)!=null?l:0,i),v=wn((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),h=wn((m=(u=e.right)!=null?u:e.x)!=null?m:0,n);return{top:c,right:h,bottom:b,left:v,x:v+h,y:c+b}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $v(e,n,i,o,s,a){const{x:l,y:r}=Sn(e,[n,i,o]),{x:d,y:u}=Sn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),m=s-d,c=a-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(m),bottom:Math.floor(c)}}const Uo=(e,n,i,o,s,a)=>{const l=Wv(a,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),m=xn(u,o,s),c=e.x+e.width/2,b=e.y+e.height/2,v=n/2-c*m,h=i/2-b*m,p=$v(e,v,h,m,n,i),g={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:v-g.left+g.right,y:h-g.top+g.bottom,zoom:m}},Xn=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function an(e){return e!=null&&e!=="parent"}function je(e){var n,i,o,s,a,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=(a=e.measured)==null?void 0:a.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function dt(e){var n,i,o,s,a,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(a=(s=e.measured)==null?void 0:s.height)!=null?a:e.height)!=null?l:e.initialHeight)!==void 0}function ut(e,n={width:0,height:0},i,o,s){var r,d;const a={...e},l=o.get(i);if(l){const u=l.origin||s;a.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],a.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return a}function ct(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function jv(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function Uv(e){return{...Xa,...e||{}}}function Qn(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var m,c;const{x:a,y:l}=Oe(e),r=Zn({x:a-((m=s==null?void 0:s.left)!=null?m:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?Jn(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const qo=e=>({width:e.offsetWidth,height:e.offsetHeight}),mt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},qv=["INPUT","SELECT","TEXTAREA"];function bt(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:qv.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const vt=e=>"clientX"in e,Oe=(e,n)=>{var a,l,r,d;const i=vt(e),o=i?e.clientX:(a=e.touches)==null?void 0:a[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)}},ht=(e,n,i,o,s)=>{const a=n.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).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,...qo(l)}})};function ft({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+a*.375+r*.375+o*.125,m=Math.abs(d-e),c=Math.abs(u-n);return[d,u,m,c]}function _i(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function pt({pos:e,x1:n,y1:i,x2:o,y2:s,c:a}){switch(e){case ie.Left:return[n-_i(n-o,a),i];case ie.Right:return[n+_i(o-n,a),i];case ie.Top:return[n,i-_i(i-s,a)];case ie.Bottom:return[n,i+_i(s-i,a)]}}function gt({sourceX:e,sourceY:n,sourcePosition:i=ie.Bottom,targetX:o,targetY:s,targetPosition:a=ie.Top,curvature:l=.25}){const[r,d]=pt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,m]=pt({pos:a,x1:o,y1:s,x2:e,y2:n,c:l}),[c,b,v,h]=ft({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:m});return[`M${e},${n} C${r},${d} ${u},${m} ${o},${s}`,c,b,v,h]}function yt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,a=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[a,r,s,l]}function Yv({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="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 Jv({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const a=Li(Ii(e),Ii(n));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Di(l,Bi(a))>0}const Zv=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,Xv=(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)),Qv=(e,n,i={})=>{var a;if(!e.source||!e.target)return(a=i.onError)==null||a.call(i,"006",Le.error006()),n;const o=i.getEdgeId||Zv;let s;return nt(e)?s={...e}:s={...e,id:o(e)},Xv(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function xt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,a,l,r]=yt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,a,l,r]}const St={[ie.Left]:{x:-1,y:0},[ie.Right]:{x:1,y:0},[ie.Top]:{x:0,y:-1},[ie.Bottom]:{x:0,y:1}},Rv=({source:e,sourcePosition:n=ie.Bottom,target:i})=>n===ie.Left||n===ie.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},wt=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function eh({source:e,sourcePosition:n=ie.Bottom,target:i,targetPosition:o=ie.Top,center:s,offset:a,stepPosition:l}){var M,k,I,P;const r=St[n],d=St[o],u={x:e.x+r.x*a,y:e.y+r.y*a},m={x:i.x+d.x*a,y:i.y+d.y*a},c=Rv({source:u,sourcePosition:n,target:m}),b=c.x!==0?"x":"y",v=c[b];let h=[],p,g;const f={x:0,y:0},N={x:0,y:0},[,,y,S]=yt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[b]*d[b]===-1){b==="x"?(p=(M=s.x)!=null?M:u.x+(m.x-u.x)*l,g=(k=s.y)!=null?k:(u.y+m.y)/2):(p=(I=s.x)!=null?I:(u.x+m.x)/2,g=(P=s.y)!=null?P:u.y+(m.y-u.y)*l);const T=[{x:p,y:u.y},{x:p,y:m.y}],O=[{x:u.x,y:g},{x:m.x,y:g}];r[b]===v?h=b==="x"?T:O:h=b==="x"?O:T}else{const T=[{x:u.x,y:m.y}],O=[{x:m.x,y:u.y}];if(b==="x"?h=r.x===v?O:T:h=r.y===v?T:O,n===o){const D=Math.abs(e[b]-i[b]);if(D<=a){const L=Math.min(a-1,a-D);r[b]===v?f[b]=(u[b]>e[b]?-1:1)*L:N[b]=(m[b]>i[b]?-1:1)*L}}if(n!==o){const D=b==="x"?"y":"x",L=r[b]===d[D],z=u[D]>m[D],q=u[D]<m[D];(r[b]===1&&(!L&&z||L&&q)||r[b]!==1&&(!L&&q||L&&z))&&(h=b==="x"?T:O)}const E={x:u.x+f.x,y:u.y+f.y},_={x:m.x+N.x,y:m.y+N.y},B=Math.max(Math.abs(E.x-h[0].x),Math.abs(_.x-h[0].x)),K=Math.max(Math.abs(E.y-h[0].y),Math.abs(_.y-h[0].y));B>=K?(p=(E.x+_.x)/2,g=h[0].y):(p=h[0].x,g=(E.y+_.y)/2)}const w={x:u.x+f.x,y:u.y+f.y},A={x:m.x+N.x,y:m.y+N.y};return[[e,...w.x!==h[0].x||w.y!==h[0].y?[w]:[],...h,...A.x!==h[h.length-1].x||A.y!==h[h.length-1].y?[A]:[],i],p,g,y,S]}function nh(e,n,i,o){const s=Math.min(wt(e,n)/2,wt(n,i)/2,o),{x:a,y:l}=n;if(e.x===a&&a===i.x||e.y===l&&l===i.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,m=e.y<i.y?1:-1;return`L ${a+s*u},${l}Q ${a},${l} ${a},${l+s*m}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${a},${l+s*d}Q ${a},${l} ${a+s*r},${l}`}function Yo({sourceX:e,sourceY:n,sourcePosition:i=ie.Bottom,targetX:o,targetY:s,targetPosition:a=ie.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:m=.5}){const[c,b,v,h,p]=eh({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:a,center:{x:r,y:d},offset:u,stepPosition:m});let g=`M${c[0].x} ${c[0].y}`;for(let f=1;f<c.length-1;f++)g+=nh(c[f-1],c[f],c[f+1],l);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,b,v,h,p]}function Nt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function ih(e){var c,b,v,h,p;const{sourceNode:n,targetNode:i}=e;if(!Nt(n)||!Nt(i))return null;const o=n.internals.handleBounds||At(n.handles),s=i.internals.handleBounds||At(i.handles),a=Ct((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Ct(e.connectionMode===gn.Strict?(b=s==null?void 0:s.target)!=null?b:[]:((v=s==null?void 0:s.target)!=null?v:[]).concat((h=s==null?void 0:s.source)!=null?h:[]),e.targetHandle);if(!a||!l)return(p=e.onError)==null||p.call(e,"008",Le.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(a==null?void 0:a.position)||ie.Bottom,d=(l==null?void 0:l.position)||ie.Top,u=tn(n,a,r),m=tn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:m.x,targetY:m.y,sourcePosition:r,targetPosition:d}}function At(e){var o,s;if(!e)return null;const n=[],i=[];for(const a of e)a.width=(o=a.width)!=null?o:1,a.height=(s=a.height)!=null?s:1,a.type==="source"?n.push(a):a.type==="target"&&i.push(a);return{source:n,target:i}}function tn(e,n,i=ie.Left,o=!1){var u,m,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,a=((m=n==null?void 0:n.y)!=null?m:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:je(e);if(o)return{x:s+l/2,y:a+r/2};switch((c=n==null?void 0:n.position)!=null?c:i){case ie.Top:return{x:s+l/2,y:a};case ie.Right:return{x:s+l,y:a+r/2};case ie.Bottom:return{x:s+l/2,y:a+r};case ie.Left:return{x:s,y:a+r/2}}}function Ct(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function Jo(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function oh(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const a=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=Jo(d,n);a.has(u)||(l.push({id:u,color:d.color||i,...d}),a.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const kt=1e3,sh=10,Zo={nodeOrigin:[0,0],nodeExtent:$n,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ah={...Zo,checkEquality:!0};function Xo(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function th(e,n,i){const o=Xo(Zo,i);for(const s of e.values())if(s.parentId)es(s,e,n,o);else{const a=Un(s,o.nodeOrigin),l=an(s.extent)?s.extent:o.nodeExtent,r=sn(a,l,je(s));s.internals.positionAbsolute=r}}function lh(e,n){var s,a;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:(a=l.height)!=null?a: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 Qo(e){return e==="manual"}function Ro(e,n,i,o={}){var m,c,b;const s=Xo(ah,o),a={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!Qo(s.zIndexMode)?kt:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const v of e){let h=l.get(v.id);if(s.checkEquality&&v===(h==null?void 0:h.internals.userNode))n.set(v.id,h);else{const p=Un(v,s.nodeOrigin),g=an(v.extent)?v.extent:s.nodeExtent,f=sn(p,g,je(v));h={...s.defaults,...v,measured:{width:(m=v.measured)==null?void 0:m.width,height:(c=v.measured)==null?void 0:c.height},internals:{positionAbsolute:f,handleBounds:lh(v,h),z:Mt(v,r,s.zIndexMode),userNode:v}},n.set(v.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(d=!1),v.parentId&&es(h,n,i,o,a),u||(u=(b=v.selected)!=null?b:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function rh(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 es(e,n,i,o,s){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=Xo(Zo,o),u=e.parentId,m=n.get(u);if(!m){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}rh(e,i),s&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++s.i,m.internals.z=m.internals.z+s.i*sh),s&&m.internals.rootParentIndex!==void 0&&(s.i=m.internals.rootParentIndex);const c=a&&!Qo(d)?kt:0,{x:b,y:v,z:h}=dh(e,m,l,r,c,d),{positionAbsolute:p}=e.internals,g=b!==p.x||v!==p.y;(g||h!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:b,y:v}:p,z:h}})}function Mt(e,n,i){const o=_e(e.zIndex)?e.zIndex:0;return Qo(i)?o:o+(e.selected?n:0)}function dh(e,n,i,o,s,a){var h;const{x:l,y:r}=n.internals.positionAbsolute,d=je(e),u=Un(e,i),m=an(e.extent)?sn(u,e.extent,d):u;let c=sn({x:l+m.x,y:r+m.y},o,d);e.extent==="parent"&&(c=ot(c,d,n));const b=Mt(e,s,a),v=(h=n.internals.z)!=null?h:0;return{x:c.x,y:c.y,z:v>=b?v+1:b}}function ns(e,n,i,o=[0,0]){var l,r;const s=[],a=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const m=(r=(l=a.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:Yn(u),c=at(m,d.rect);a.set(d.parentId,{expandedRect:c,parent:u})}return a.size>0&&a.forEach(({expandedRect:d,parent:u},m)=>{var S,w;const c=u.internals.positionAbsolute,b=je(u),v=(S=u.origin)!=null?S:o,h=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,g=Math.max(b.width,Math.round(d.width)),f=Math.max(b.height,Math.round(d.height)),N=(g-b.width)*v[0],y=(f-b.height)*v[1];(h>0||p>0||N||y)&&(s.push({id:m,type:"position",position:{x:u.position.x-h+N,y:u.position.y-p+y}}),(w=i.get(m))==null||w.forEach(A=>{e.some(C=>C.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+h,y:A.position.y+p}})})),(b.width<d.width||b.height<d.height||h||p)&&s.push({id:m,type:"dimensions",setAttributes:!0,dimensions:{width:g+(h?v[0]*h-N:0),height:f+(p?v[1]*p-y:0)}})}),s}function uh(e,n,i,o,s,a,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],m=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(m.transform),b=[];for(const v of e.values()){const h=n.get(v.id);if(!h)continue;if(h.hidden){n.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),d=!0;continue}const p=qo(v.nodeElement),g=h.measured.width!==p.width||h.measured.height!==p.height;if(!!(p.width&&p.height&&(g||!h.internals.handleBounds||v.force))){const N=v.nodeElement.getBoundingClientRect(),y=an(h.extent)?h.extent:a;let{positionAbsolute:S}=h.internals;h.parentId&&h.extent==="parent"?S=ot(S,p,n.get(h.parentId)):y&&(S=sn(S,y,p));const w={...h,measured:p,internals:{...h.internals,positionAbsolute:S,handleBounds:{source:ht("source",v.nodeElement,N,c,h.id),target:ht("target",v.nodeElement,N,c,h.id)}}};n.set(h.id,w),h.parentId&&es(w,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,g&&(u.push({id:h.id,type:"dimensions",dimensions:p}),h.expandParent&&h.parentId&&b.push({id:h.id,parentId:h.parentId,rect:Yn(w,s)}))}}if(b.length>0){const v=ns(b,n,i,s);u.push(...v)}return{changes:u,updatedInternals:d}}async function ch({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:a}){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,a]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Et(e,n,i,o,s,a){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)),a){l=`${s}-${e}-${a}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Tt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:a,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:a,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${a}-${r}`,m=`${a}-${r}--${s}-${l}`;Et("source",d,m,e,s,l),Et("target",d,u,e,a,r),n.set(o.id,o)}}function Pt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Pt(i,n):!1}function Lt(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 mh(e,n,i,o){var a,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Pt(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:(a=u.measured.width)!=null?a:0,height:(l=u.measured.height)!=null?l:0}})}return s}function is({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,m]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:m.position,dragging:o})}if(!e)return[s[0],s];const a=(r=i.get(e))==null?void 0:r.internals.userNode;return[a?{...a,position:((d=n.get(e))==null?void 0:d.position)||a.position,dragging:o}:s[0],s]}function bh({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const a={x:i-s.distance.x,y:o-s.distance.y},l=Jn(a,n);return{x:l.x-a.x,y:l.y-a.y}}function vh({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let a={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},m=null,c=!1,b=null,v=!1,h=!1,p=null;function g({noDragClassName:N,handleSelector:y,domNode:S,isSelectable:w,nodeId:A,nodeClickDistance:C=0}){b=Pe(S);function M({x:T,y:O}){const{nodeLookup:E,nodeExtent:_,snapGrid:B,snapToGrid:K,nodeOrigin:D,onNodeDrag:L,onSelectionDrag:z,onError:q,updateNodePositions:W}=n();a={x:T,y:O};let Y=!1;const X=r.size>1,ne=X&&_?jo(qn(r)):null,se=X&&K?bh({dragItems:r,snapGrid:B,x:T,y:O}):null;for(const[Q,U]of r){if(!E.has(Q))continue;let V={x:T-U.distance.x,y:O-U.distance.y};K&&(V=se?{x:Math.round(V.x+se.x),y:Math.round(V.y+se.y)}:Jn(V,B));let G=null;if(X&&_&&!U.extent&&ne){const{positionAbsolute:F}=U.internals,$=F.x-ne.x+_[0][0],J=F.x+U.measured.width-ne.x2+_[1][0],R=F.y-ne.y+_[0][1],Z=F.y+U.measured.height-ne.y2+_[1][1];G=[[$,R],[J,Z]]}const{position:H,positionAbsolute:j}=it({nodeId:Q,nextPosition:V,nodeLookup:E,nodeExtent:G||_,nodeOrigin:D,onError:q});Y=Y||U.position.x!==H.x||U.position.y!==H.y,U.position=H,U.internals.positionAbsolute=j}if(h=h||Y,!!Y&&(W(r,!0),p&&(o||L||!A&&z))){const[Q,U]=is({nodeId:A,dragItems:r,nodeLookup:E});o==null||o(p,r,Q,U),L==null||L(p,Q,U),A||z==null||z(p,U)}}async function k(){var D,L;if(!m)return;const{transform:T,panBy:O,autoPanSpeed:E,autoPanOnNodeDrag:_}=n();if(!_){d=!1,cancelAnimationFrame(l);return}const[B,K]=$o(u,m,E);(B!==0||K!==0)&&(a.x=((D=a.x)!=null?D:0)-B/T[2],a.y=((L=a.y)!=null?L:0)-K/T[2],await O({x:B,y:K})&&M(a)),l=requestAnimationFrame(k)}function I(T){var X;const{nodeLookup:O,multiSelectionActive:E,nodesDraggable:_,transform:B,snapGrid:K,snapToGrid:D,selectNodesOnDrag:L,onNodeDragStart:z,onSelectionDragStart:q,unselectNodesAndEdges:W}=n();c=!0,(!L||!w)&&!E&&A&&((X=O.get(A))!=null&&X.selected||W()),w&&L&&A&&(e==null||e(A));const Y=Qn(T.sourceEvent,{transform:B,snapGrid:K,snapToGrid:D,containerBounds:m});if(a=Y,r=mh(O,_,Y,A),r.size>0&&(i||z||!A&&q)){const[ne,se]=is({nodeId:A,dragItems:r,nodeLookup:O});i==null||i(T.sourceEvent,r,ne,se),z==null||z(T.sourceEvent,ne,se),A||q==null||q(T.sourceEvent,se)}}const P=ya().clickDistance(C).on("start",T=>{const{domNode:O,nodeDragThreshold:E,transform:_,snapGrid:B,snapToGrid:K}=n();m=(O==null?void 0:O.getBoundingClientRect())||null,v=!1,h=!1,p=T.sourceEvent,E===0&&I(T),a=Qn(T.sourceEvent,{transform:_,snapGrid:B,snapToGrid:K,containerBounds:m}),u=Oe(T.sourceEvent,m)}).on("drag",T=>{const{autoPanOnNodeDrag:O,transform:E,snapGrid:_,snapToGrid:B,nodeDragThreshold:K,nodeLookup:D}=n(),L=Qn(T.sourceEvent,{transform:E,snapGrid:_,snapToGrid:B,containerBounds:m});if(p=T.sourceEvent,(T.sourceEvent.type==="touchmove"&&T.sourceEvent.touches.length>1||A&&!D.has(A))&&(v=!0),!v){if(!d&&O&&c&&(d=!0,k()),!c){const z=Oe(T.sourceEvent,m),q=z.x-u.x,W=z.y-u.y;Math.sqrt(q*q+W*W)>K&&I(T)}(a.x!==L.xSnapped||a.y!==L.ySnapped)&&r&&c&&(u=Oe(T.sourceEvent,m),M(L))}}).on("end",T=>{if(!c||v){v&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:O,updateNodePositions:E,onNodeDragStop:_,onSelectionDragStop:B}=n();if(h&&(E(r,!1),h=!1),s||_||!A&&B){const[K,D]=is({nodeId:A,dragItems:r,nodeLookup:O,dragging:!1});s==null||s(T.sourceEvent,r,K,D),_==null||_(T.sourceEvent,K,D),A||B==null||B(T.sourceEvent,D)}}}).filter(T=>{const O=T.target;return!T.button&&(!N||!Lt(O,`.${N}`,S))&&(!y||Lt(O,y,S))});b.call(P)}function f(){b==null||b.on(".drag",null)}return{update:g,destroy:f}}function hh(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const a of n.values())Di(s,Yn(a))>0&&o.push(a);return o}const fh=250;function ph(e,n,i,o){var r,d,u,m,c;let s=[],a=1/0;const l=hh(e,i,n+fh);for(const b of l){const v=[...(d=(r=b.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(m=(u=b.internals.handleBounds)==null?void 0:u.target)!=null?m:[]];for(const h of v){if(o.nodeId===h.nodeId&&o.type===h.type&&o.id===h.id)continue;const{x:p,y:g}=tn(b,h,h.position,!0),f=Math.sqrt(Math.pow(p-e.x,2)+Math.pow(g-e.y,2));f>n||(f<a?(s=[{...h,x:p,y:g}],a=f):f===a&&s.push({...h,x:p,y:g}))}}if(!s.length)return null;if(s.length>1){const b=o.type==="source"?"target":"source";return(c=s.find(v=>v.type===b))!=null?c:s[0]}return s[0]}function Bt(e,n,i,o,s,a=!1){var u,m,c,b,v,h;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(c=(m=l.internals.handleBounds)==null?void 0:m.source)!=null?c:[],...(v=(b=l.internals.handleBounds)==null?void 0:b.target)!=null?v:[]],d=(h=i?r==null?void 0:r.find(p=>p.id===i):r==null?void 0:r[0])!=null?h:null;return d&&a?{...d,...tn(l,d,d.position,!0)}:d}function It(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function gh(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Dt=()=>!0;function yh(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:a,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:m,flowId:c,panBy:b,cancelConnection:v,onConnectStart:h,onConnect:p,onConnectEnd:g,isValidConnection:f=Dt,onReconnectEnd:N,updateConnection:y,getTransform:S,getFromHandle:w,autoPanSpeed:A,dragThreshold:C=1,handleDomNode:M}){const k=mt(e.target);let I=0,P;const{x:T,y:O}=Oe(e),E=It(a,M),_=r==null?void 0:r.getBoundingClientRect();let B=!1;if(!_||!E)return;const K=Bt(s,E,o,d,n);if(!K)return;let D=Oe(e,_),L=!1,z=null,q=!1,W=null;function Y(){if(!m||!_)return;const[H,j]=$o(D,_,A);b({x:H,y:j}),I=requestAnimationFrame(Y)}const X={...K,nodeId:s,type:E,position:K.position},ne=d.get(s);let Q={inProgress:!0,isValid:null,from:tn(ne,X,ie.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:ne,to:D,toHandle:null,toPosition:Ra[X.position],toNode:null,pointer:D};function U(){B=!0,y(Q),h==null||h(e,{nodeId:s,handleId:o,handleType:E})}C===0&&U();function V(H){if(!B){const{x:Z,y:oe}=Oe(H),ue=Z-T,ce=oe-O;if(!(ue*ue+ce*ce>C*C))return;U()}if(!w()||!X){G(H);return}const j=S();D=Oe(H,_),P=ph(Zn(D,j,!1,[1,1]),i,d,X),L||(Y(),L=!0);const F=_t(H,{handle:P,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:f,doc:k,lib:u,flowId:c,nodeLookup:d});W=F.handleDomNode,z=F.connection,q=gh(!!P,F.isValid);const $=d.get(s),J=$?tn($,X,ie.Left,!0):Q.from,R={...Q,from:J,isValid:q,to:F.toHandle&&q?Sn({x:F.toHandle.x,y:F.toHandle.y},j):D,toHandle:F.toHandle,toPosition:q&&F.toHandle?F.toHandle.position:Ra[X.position],toNode:F.toHandle?d.get(F.toHandle.nodeId):null,pointer:D};y(R),Q=R}function G(H){if(!("touches"in H&&H.touches.length>0)){if(B){(P||W)&&z&&q&&(p==null||p(z));const{inProgress:j,...F}=Q,$={...F,toPosition:Q.toHandle?Q.toPosition:null};g==null||g(H,$),a&&(N==null||N(H,$))}v(),cancelAnimationFrame(I),L=!1,q=!1,z=null,W=null,k.removeEventListener("mousemove",V),k.removeEventListener("mouseup",G),k.removeEventListener("touchmove",V),k.removeEventListener("touchend",G)}}k.addEventListener("mousemove",V),k.addEventListener("mouseup",G),k.addEventListener("touchmove",V),k.addEventListener("touchend",G)}function _t(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:a,doc:l,lib:r,flowId:d,isValidConnection:u=Dt,nodeLookup:m}){const c=a==="target",b=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:v,y:h}=Oe(e),p=l.elementFromPoint(v,h),g=p!=null&&p.classList.contains(`${r}-flow__handle`)?p:b,f={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){const N=It(void 0,g),y=g.getAttribute("data-nodeid"),S=g.getAttribute("data-handleid"),w=g.classList.contains("connectable"),A=g.classList.contains("connectableend");if(!y||!N)return f;const C={source:c?y:o,sourceHandle:c?S:s,target:c?o:y,targetHandle:c?s:S};f.connection=C;const k=w&&A&&(i===gn.Strict?c&&N==="source"||!c&&N==="target":y!==o||S!==s);f.isValid=k&&u(C),f.toHandle=Bt(y,N,S,m,i,!0)}return f}const os={onPointerDown:yh,isValid:_t};function xh({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Pe(e);function a({translateExtent:r,width:d,height:u,zoomStep:m=1,pannable:c=!0,zoomable:b=!0,inversePan:v=!1}){const h=y=>{if(y.sourceEvent.type!=="wheel"||!n)return;const S=i(),w=y.sourceEvent.ctrlKey&&Xn()?10:1,A=-y.sourceEvent.deltaY*(y.sourceEvent.deltaMode===1?.05:y.sourceEvent.deltaMode?1:.002)*m,C=S[2]*Math.pow(2,A*w);n.scaleTo(C)};let p=[0,0];const g=y=>{var S,w;(y.sourceEvent.type==="mousedown"||y.sourceEvent.type==="touchstart")&&(p=[(S=y.sourceEvent.clientX)!=null?S:y.sourceEvent.touches[0].clientX,(w=y.sourceEvent.clientY)!=null?w:y.sourceEvent.touches[0].clientY])},f=y=>{var I,P;const S=i();if(y.sourceEvent.type!=="mousemove"&&y.sourceEvent.type!=="touchmove"||!n)return;const w=[(I=y.sourceEvent.clientX)!=null?I:y.sourceEvent.touches[0].clientX,(P=y.sourceEvent.clientY)!=null?P:y.sourceEvent.touches[0].clientY],A=[w[0]-p[0],w[1]-p[1]];p=w;const C=o()*Math.max(S[2],Math.log(S[2]))*(v?-1:1),M={x:S[0]-A[0]*C,y:S[1]-A[1]*C},k=[[0,0],[d,u]];n.setViewportConstrained({x:M.x,y:M.y,zoom:S[2]},k,r)},N=Ja().on("start",g).on("zoom",c?f:null).on("zoom.wheel",b?h:null);s.call(N,{})}function l(){s.on("zoom",null)}return{update:a,destroy:l,pointer:Be}}const Oi=e=>({x:e.x,y:e.y,zoom:e.k}),ss=({x:e,y:n,zoom:i})=>Pi.translate(e,n).scale(i),Nn=(e,n)=>e.target.closest(`.${n}`),Ot=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Sh=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,as=(e,n=0,i=Sh,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Kt=e=>{const n=e.ctrlKey&&Xn()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function wh({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return m=>{if(Nn(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(m.ctrlKey&&l){const g=Be(m),f=Kt(m),N=c*Math.pow(2,f);o.scaleTo(i,N,g,m);return}const b=m.deltaMode===1?20:1;let v=s===on.Vertical?0:m.deltaX*b,h=s===on.Horizontal?0:m.deltaY*b;!Xn()&&m.shiftKey&&s!==on.Vertical&&(v=m.deltaY*b,h=0),o.translateBy(i,-(v/c)*a,-(h/c)*a,{internal:!0});const p=Oi(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,p),e.panScrollTimeout=setTimeout(()=>{u==null||u(m,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(m,p))}}function Nh({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const a=o.type==="wheel",l=!n&&a&&!o.ctrlKey,r=Nn(o,e);if(o.ctrlKey&&a&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Ah({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var a,l,r;if((a=o.sourceEvent)!=null&&a.internal)return;const s=Oi(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 Ch({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return a=>{var l,r,d;e.usedRightMouseButton=!!(i&&Ot(n,(l=e.mouseButton)!=null?l:0)),(r=a.sourceEvent)!=null&&r.sync||o([a.transform.x,a.transform.y,a.transform.k]),s&&!((d=a.sourceEvent)!=null&&d.internal)&&(s==null||s(a.sourceEvent,Oi(a.transform)))}}function kh({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:a}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,a&&Ot(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Oi(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Mh({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:m}){return c=>{var g;const b=e||n,v=i&&c.ctrlKey,h=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Nn(c,`${u}-flow__node`)||Nn(c,`${u}-flow__edge`)))return!0;if(!o&&!b&&!s&&!a&&!i||l||m&&!h||Nn(c,r)&&h||Nn(c,d)&&(!h||s&&h&&!e)||!i&&c.ctrlKey&&h)return!1;if(!i&&c.type==="touchstart"&&((g=c.touches)==null?void 0:g.length)>1)return c.preventDefault(),!1;if(!b&&!s&&!v&&h||!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||h)&&p}}function Eh({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),c=Ja().scaleExtent([n,i]).translateExtent(o),b=Pe(e).call(c);N({x:s.x,y:s.y,zoom:xn(s.zoom,n,i)},[[0,0],[m.width,m.height]],o);const v=b.on("wheel.zoom"),h=b.on("dblclick.zoom");c.wheelDelta(Kt);async function p(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).transform(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}function g({noWheelClassName:P,noPanClassName:T,onPaneContextMenu:O,userSelectionActive:E,panOnScroll:_,panOnDrag:B,panOnScrollMode:K,panOnScrollSpeed:D,preventScrolling:L,zoomOnPinch:z,zoomOnScroll:q,zoomOnDoubleClick:W,zoomActivationKeyPressed:Y,lib:X,onTransformChange:ne,connectionInProgress:se,paneClickDistance:Q,selectionOnDrag:U}){E&&!u.isZoomingOrPanning&&f();const V=_&&!Y&&!E;c.clickDistance(U?1/0:!_e(Q)||Q<0?0:Q);const G=V?wh({zoomPanValues:u,noWheelClassName:P,d3Selection:b,d3Zoom:c,panOnScrollMode:K,panOnScrollSpeed:D,zoomOnPinch:z,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:r}):Nh({noWheelClassName:P,preventScrolling:L,d3ZoomHandler:v});b.on("wheel.zoom",G,{passive:!1});const H=Ah({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",H);const j=Ch({zoomPanValues:u,panOnDrag:B,onPaneContextMenu:!!O,onPanZoom:a,onTransformChange:ne});c.on("zoom",j);const F=kh({zoomPanValues:u,panOnDrag:B,panOnScroll:_,onPaneContextMenu:O,onPanZoomEnd:r,onDraggingChange:d});c.on("end",F);const $=Mh({zoomActivationKeyPressed:Y,panOnDrag:B,zoomOnScroll:q,panOnScroll:_,zoomOnDoubleClick:W,zoomOnPinch:z,userSelectionActive:E,noPanClassName:T,noWheelClassName:P,lib:X,connectionInProgress:se});c.filter($),W?b.on("dblclick.zoom",h):b.on("dblclick.zoom",null)}function f(){c.on("zoom",null)}async function N(P,T,O){const E=ss(P),_=c==null?void 0:c.constrain()(E,T,O);return _&&await p(_),_}async function y(P,T){const O=ss(P);return await p(O,T),O}function S(P){if(b){const T=ss(P),O=b.property("__zoom");(O.k!==P.zoom||O.x!==P.x||O.y!==P.y)&&(c==null||c.transform(b,T,null,{sync:!0}))}}function w(){const P=b?qa(b.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}async function A(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).scaleTo(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}async function C(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).scaleBy(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}function M(P){c==null||c.scaleExtent(P)}function k(P){c==null||c.translateExtent(P)}function I(P){const T=!_e(P)||P<0?0:P;c==null||c.clickDistance(T)}return{update:g,destroy:f,setViewport:y,setViewportConstrained:N,getViewport:w,scaleTo:A,scaleBy:C,setScaleExtent:M,setTranslateExtent:k,syncViewport:S,setClickDistance:I}}var An;(function(e){e.Line="line",e.Handle="handle"})(An||(An={}));function Th({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:a}){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&&a&&(d[1]=d[1]*-1),d}function Ht(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 Ye(e,n){return Math.max(0,n-e)}function Je(e,n){return Math.max(0,e-n)}function Ki(e,n,i){return Math.max(0,n-e,e-i)}function Gt(e,n){return e?!n:n}function Ph(e,n,i,o,s,a,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:m,isVertical:c}=n,b=m&&c,{xSnapped:v,ySnapped:h}=i,{minWidth:p,maxWidth:g,minHeight:f,maxHeight:N}=o,{x:y,y:S,width:w,height:A,aspectRatio:C}=e;let M=Math.floor(m?v-e.pointerX:0),k=Math.floor(c?h-e.pointerY:0);const I=w+(d?-M:M),P=A+(u?-k:k),T=-a[0]*w,O=-a[1]*A;let E=Ki(I,p,g),_=Ki(P,f,N);if(l){let D=0,L=0;d&&M<0?D=Ye(y+M+T,l[0][0]):!d&&M>0&&(D=Je(y+I+T,l[1][0])),u&&k<0?L=Ye(S+k+O,l[0][1]):!u&&k>0&&(L=Je(S+P+O,l[1][1])),E=Math.max(E,D),_=Math.max(_,L)}if(r){let D=0,L=0;d&&M>0?D=Je(y+M,r[0][0]):!d&&M<0&&(D=Ye(y+I,r[1][0])),u&&k>0?L=Je(S+k,r[0][1]):!u&&k<0&&(L=Ye(S+P,r[1][1])),E=Math.max(E,D),_=Math.max(_,L)}if(s){if(m){const D=Ki(I/C,f,N)*C;if(E=Math.max(E,D),l){let L=0;!d&&!u||d&&!u&&b?L=Je(S+O+I/C,l[1][1])*C:L=Ye(S+O+(d?M:-M)/C,l[0][1])*C,E=Math.max(E,L)}if(r){let L=0;!d&&!u||d&&!u&&b?L=Ye(S+I/C,r[1][1])*C:L=Je(S+(d?M:-M)/C,r[0][1])*C,E=Math.max(E,L)}}if(c){const D=Ki(P*C,p,g)/C;if(_=Math.max(_,D),l){let L=0;!d&&!u||u&&!d&&b?L=Je(y+P*C+T,l[1][0])/C:L=Ye(y+(u?k:-k)*C+T,l[0][0])/C,_=Math.max(_,L)}if(r){let L=0;!d&&!u||u&&!d&&b?L=Ye(y+P*C,r[1][0])/C:L=Je(y+(u?k:-k)*C,r[0][0])/C,_=Math.max(_,L)}}}k=k+(k<0?_:-_),M=M+(M<0?E:-E),s&&(b?I>P*C?k=(Gt(d,u)?-M:M)/C:M=(Gt(d,u)?-k:k)*C:m?(k=M/C,u=d):(M=k*C,d=u));const B=d?y+M:y,K=u?S+k:S;return{width:w+(d?-M:M),height:A+(u?-k:k),x:a[0]*M*(d?-1:1)+B,y:a[1]*k*(u?-1:1)+K}}const Ft={width:0,height:0,x:0,y:0},Lh={...Ft,pointerX:0,pointerY:0,aspectRatio:1};function Bh(e,n,i){var u,m;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,a=(u=e.measured.width)!=null?u:0,l=(m=e.measured.height)!=null?m:0,r=i[0]*a,d=i[1]*l;return[[o-r,s-d],[o+a-r,s+l-d]]}function Ih({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const a=Pe(e);let l={controlDirection:Ht("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:m,keepAspectRatio:c,resizeDirection:b,onResizeStart:v,onResize:h,onResizeEnd:p,shouldResize:g}){let f={...Ft},N={...Lh};l={boundaries:m,resizeDirection:b,keepAspectRatio:c,controlDirection:Ht(u)};let y,S=null,w=[],A,C,M,k=!1;const I=ya().on("start",P=>{var z,q,W,Y,X,ne;const{nodeLookup:T,transform:O,snapGrid:E,snapToGrid:_,nodeOrigin:B,paneDomNode:K}=i();if(y=T.get(n),!y)return;S=(z=K==null?void 0:K.getBoundingClientRect())!=null?z:null;const{xSnapped:D,ySnapped:L}=Qn(P.sourceEvent,{transform:O,snapGrid:E,snapToGrid:_,containerBounds:S});f={width:(q=y.measured.width)!=null?q:0,height:(W=y.measured.height)!=null?W:0,x:(Y=y.position.x)!=null?Y:0,y:(X=y.position.y)!=null?X:0},N={...f,pointerX:D,pointerY:L,aspectRatio:f.width/f.height},A=void 0,C=an(y.extent)?y.extent:void 0,y.parentId&&(y.extent==="parent"||y.expandParent)&&(A=T.get(y.parentId)),A&&y.extent==="parent"&&(C=[[0,0],[A.measured.width,A.measured.height]]),w=[],M=void 0;for(const[se,Q]of T)if(Q.parentId===n&&(w.push({id:se,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const U=Bh(Q,y,(ne=Q.origin)!=null?ne:B);M?M=[[Math.min(U[0][0],M[0][0]),Math.min(U[0][1],M[0][1])],[Math.max(U[1][0],M[1][0]),Math.max(U[1][1],M[1][1])]]:M=U}v==null||v(P,{...f})}).on("drag",P=>{var J,R,Z;const{transform:T,snapGrid:O,snapToGrid:E,nodeOrigin:_}=i(),B=Qn(P.sourceEvent,{transform:T,snapGrid:O,snapToGrid:E,containerBounds:S}),K=[];if(!y)return;const{x:D,y:L,width:z,height:q}=f,W={},Y=(J=y.origin)!=null?J:_,{width:X,height:ne,x:se,y:Q}=Ph(N,l.controlDirection,B,l.boundaries,l.keepAspectRatio,Y,C,M),U=X!==z,V=ne!==q,G=se!==D&&U,H=Q!==L&&V;if(!G&&!H&&!U&&!V)return;if((G||H||Y[0]===1||Y[1]===1)&&(W.x=G?se:f.x,W.y=H?Q:f.y,f.x=W.x,f.y=W.y,w.length>0)){const oe=se-D,ue=Q-L;for(const ce of w)ce.position={x:ce.position.x-oe+Y[0]*(X-z),y:ce.position.y-ue+Y[1]*(ne-q)},K.push(ce)}if((U||V)&&(W.width=U&&(!l.resizeDirection||l.resizeDirection==="horizontal")?X:f.width,W.height=V&&(!l.resizeDirection||l.resizeDirection==="vertical")?ne:f.height,f.width=W.width,f.height=W.height),A&&y.expandParent){const oe=Y[0]*((R=W.width)!=null?R:0);W.x&&W.x<oe&&(f.x=oe,N.x=N.x-(W.x-oe));const ue=Y[1]*((Z=W.height)!=null?Z:0);W.y&&W.y<ue&&(f.y=ue,N.y=N.y-(W.y-ue))}const j=Th({width:f.width,prevWidth:z,height:f.height,prevHeight:q,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),F={...f,direction:j};(g==null?void 0:g(P,F))!==!1&&(k=!0,h==null||h(P,F),o(W,K))}).on("end",P=>{k&&(p==null||p(P,{...f}),s==null||s({...f}),k=!1)});a.call(I)}function d(){a.on(".drag",null)}return{update:r,destroy:d}}function Dh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hi={exports:{}},ts={},Gi={exports:{}},ls={};/**
|
|
30
|
+
active:opacity-50 element_class`,draggable:!0,children:t.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[t.jsx("span",{style:{color:d},children:t.jsx(te,{icon:g.icon,iconClass:"w-6 h-6"})}),t.jsx("span",{style:{color:d},className:"text-xs font-medium text-center",children:g.label})]})},g.type))})]},h)})})})]})},Fu=x.memo(Gu),Ke=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:a="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:m="button",style:c,onClick:b})=>{const v=de("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),h=()=>i?t.jsxs(t.Fragment,{children:[t.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:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.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..."]}):t.jsxs("span",{className:"flex items-center",children:[s&&a==="left"&&t.jsx("span",{className:`mr-[6px] ${l}`,children:t.jsx(te,{icon:s})}),e&&t.jsx("span",{children:e}),s&&a==="right"&&t.jsx("span",{className:`ml-[6px] ${l}`,children:t.jsx(te,{icon:s})})]});return u?t.jsx("div",{className:v,children:h()}):d?t.jsx(vr.Link,{to:d,className:v,children:h()}):t.jsx("button",{disabled:n,type:m,className:v,"data-testid":"btn",onClick:b,style:c,children:h()})};function Vu(){return t.jsx("div",{children:t.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),t.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),t.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const zu=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=x.useContext(Ae);if(!e)return null;const s=xe("config");return t.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:[t.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:t.jsx(Vu,{})})," ",t.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:t.jsx(wo,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function Wu(){return t.jsx("div",{children:t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),t.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function $u({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:a,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:m}){const{formData:c,setShowPreview:b,showPreview:v,undo:h,redo:p,canUndo:g,canRedo:f}=x.useContext(Ae),[N,y]=x.useState(!1),[S,w]=x.useState(!1),[A,C]=x.useState(e||""),E=xe("config");function k(){localStorage.setItem("formData",JSON.stringify(c)),i==null||i(c)}function I(){localStorage.setItem("formData",JSON.stringify(c)),o==null||o(c)}function P(){w(!1),r&&A!==e&&r(A.trim())}return t.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[t.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&t.jsx("button",{type:"button",onClick:()=>n(),style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:t.jsx(Wu,{})})," ",S?t.jsx("input",{type:"text",value:A,onChange:T=>C(T.target.value),onBlur:P,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):t.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>w(!0),children:A||"Untitled"})]}),N&&t.jsx(zu,{isOpen:N,onClose:()=>y(!1),element:void 0}),t.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&t.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[t.jsxs("button",{type:"button",style:{color:(E==null?void 0:E.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:[t.jsx(te,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),t.jsxs("button",{type:"button",style:{color:(E==null?void 0:E.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:[t.jsx(te,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),t.jsx(Ke,{onClick:h,text:"",btnClass:`!px-2 bg-transparent undo ${g?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:!g}),t.jsx(Ke,{onClick:p,text:"",btnClass:`!px-2 bg-transparent redo ${f?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:!f}),m&&t.jsx(Ke,{onClick:m,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(E==null?void 0:E.buttonColor)||"#333"}}),t.jsx(Ke,{onClick:()=>b(T=>!T),text:v?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:v?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:s,isLoading:s}),t.jsx(Ke,{onClick:k,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:a,isLoading:a}),t.jsx(Ke,{onClick:I,text:"Publish",style:{background:(E==null?void 0:E.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 ju({onSubmit:e,onChange:n,onLogAction:i,questionData:o,title:s,goBackUrl:a,loading:l,onPublish:r,previewLoading:d,saveLoading:u,publishLoading:m,onTitleChange:c,uploadUrl:b,onAddTemplate:v,templates:h,onShowVersion:p}){const[g,f]=x.useState("canvas");return t.jsxs(xs,{onChange:n,onLogAction:i,children:[t.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),t.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:t.jsxs("div",{className:"flex flex-1 ",children:[g==="canvas"&&t.jsx("div",{children:t.jsx("div",{className:"w-[250px] h-screen border-r border-[#E4E7EC] bg-white ",children:t.jsx(Fu,{})})}),t.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${g==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[t.jsx("div",{className:" h-[70px]",children:t.jsx($u,{title:s,goBackUrl:a,onSubmit:e,onPublish:r,previewLoading:d,saveLoading:u,publishLoading:m,onTitleChange:c,viewMode:g,setViewMode:f,onShowVersion:p})}),t.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:l?t.jsx(go,{loadingClass:"!w-full !h-[800px]"}):t.jsx(Hu,{questionData:o,uploadUrl:b,onAddTemplate:v,templates:h,viewMode:g})})]})]})})]})}const Uu=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,config:a={buttonColor:"#333"},title:l,loading:r,goBackUrl:d,onPublish:u,previewLoading:m,saveLoading:c,publishLoading:b,onTitleChange:v,uploadUrl:h,onAddTemplate:p,templates:g,onShowVersion:f})=>(x.useEffect(()=>{a&&Ys("config",a)},[a]),t.jsx(ju,{onSubmit:e,onChange:n,onLogAction:i,onPublish:u,questionData:o,isReadOnly:s,title:l,goBackUrl:d,loading:r,previewLoading:m,saveLoading:c,publishLoading:b,onTitleChange:v,uploadUrl:h,onAddTemplate:p,templates:g,onShowVersion:f})),Ue={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}`},qu=(e,n=!1)=>({textField:ne.string().nullable(),longText:ne.string().nullable(),numberField:ne.number().nullable().transform(o=>isNaN(o)?null:o),amountField:ne.number().nullable().transform(o=>isNaN(o)?null:o),selectField:ne.string().nullable(),checkbox:ne.mixed().nullable(),radio:ne.mixed().nullable(),matrix:ne.mixed().nullable(),email:ne.string().nullable().test("email-format",Ue.email,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:ne.date().nullable().transform((o,s)=>n&&s===""?null:o).typeError("Invalid date"),url:ne.string().nullable().test("url-format",Ue.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||ne.mixed().nullable(),Yu=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||Ue.required):e.required(i||Ue.required):e,Ju=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let a=e;return n&&(a=a.min(n,o||Ue.minLength(n))),i&&(a=a.max(i,s||Ue.maxLength(i))),a},Zu=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let a=e;return n&&(a=a.min(parseFloat(String(n)),o||Ue.minAmount(n))),i&&(a=a.max(parseFloat(String(i)),s||Ue.maxAmount(i))),a},xo=(e,n)=>{if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],a=o.fieldValue,l=s;switch(o.operator){case"equals":return String(a).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(a).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(a);case"less":return Number(l)<Number(a);case"contains":return String(l).toLowerCase().includes(String(a).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(a).toLowerCase());default:return!0}}):!0};function Xu({formData:e,isReadOnly:n,answerData:i}){const o={};return e.forEach(({questionData:s})=>{s==null||s.forEach(a=>{if(!xo(a,i))return;const{id:l,type:r,isRequired:d,requiredMessage:u,isDisabled:m}=a;let c=qu(r,n);c=Yu(c,m||n?!1:d,u),r==="textField"||r==="longText"||r==="email"||r==="url"?c=Ju(c,a):(r==="numberField"||r==="amountField")&&(c=Zu(c,a)),o[l]=c})}),ne.object().shape(o)}const mn=({element:e,validationData:n})=>{const i=na[e.type],{answerData:o}=x.useContext(Ae),s=x.useMemo(()=>{var l;return(l=e==null?void 0:e.acceptedFiles)==null?void 0:l.map(r=>r.label).join(", ")},[e]),a=x.useMemo(()=>xo(e,o),[o,e]);return i?t.jsxs("div",{className:`${a?"":"invisible h-0"} min-w-0 w-full`,children:[t.jsxs("div",{className:"mb-1.5 min-w-0",children:[e.inputLabel&&t.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&t.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]}),e.description&&t.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),t.jsx(i,{element:e,state:"edit",validationData:{...n,isReadOnly:n.isReadOnly||e.isDisabled}})]}):null},bn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function Qu({form_data:e,options:n}){const i=(s,a)=>t.jsx("div",{className:"min-w-0",children:t.jsx(ri,{element:s,customClass:"p-0 min-h-[60px] border-none",children:a==null?void 0:a.map(l=>{var r,d,u;return t.jsxs(li,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[t.jsx(mn,{element:l,validationData:bn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var a,l;return t.jsxs("div",{className:de("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[t.jsx(mn,{element:s,validationData:bn(s,n)}),((l=(a=n==null?void 0:n.errors)==null?void 0:a[s.id])==null?void 0:l.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[s.id].message})]},s.id)};return t.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const a=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(a.has(d.gridId)||a.set(d.gridId,[]),a.get(d.gridId).push(d))}),t.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&t.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&t.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&t.jsx("p",{className:"text-sm",children:s.description})]}),t.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,a.get(d.id)||[]):o(d))})]},s.id)})})}function Ru({form_data:e,options:n,current:i}){var o,s;return t.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(a=>{var l,r,d,u;if(a.type==="grid"){const m=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===a.id);return t.jsx("div",{className:"min-w-0",children:t.jsx(ri,{element:a,customClass:"p-0 min-h-[60px] border-none",children:m==null?void 0:m.map(c=>{var b,v,h;return t.jsxs(li,{col:(b=c.gridPosition)==null?void 0:b.col,customClass:"p-0",children:[t.jsx(mn,{element:c,validationData:bn(c,n)}),t.jsx("div",{className:"mt-1 text-xs text-red-600",children:(h=(v=n==null?void 0:n.errors)==null?void 0:v[c.id])==null?void 0:h.message})]},c.id)})})},a.id)}return a.gridId?null:t.jsxs("div",{className:de("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[t.jsx(mn,{element:a,validationData:bn(a,n)}),t.jsx("div",{className:"mt-1 text-xs text-red-600",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[a.id])==null?void 0:u.message})]},a.id)})})}const So=xe("config");function ec({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:a,isReadOnly:l}){if(!e)return t.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=m=>{m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),i())},d=m=>{var c;return t.jsx("div",{className:"min-w-0 w-full",children:t.jsx(ri,{element:m,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=m.gridChildren)==null?void 0:c.map(b=>{var v,h,p;return t.jsxs(li,{col:(v=b.gridPosition)==null?void 0:v.col,customClass:"p-0",children:[t.jsx(mn,{element:b,validationData:bn(b,n)}),((p=(h=n==null?void 0:n.errors)==null?void 0:h[b.id])==null?void 0:p.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[b.id].message})]},b.id)})})},m.id)},u=m=>{var c,b;return t.jsxs("div",{className:de("group relative grid gap-y-[6px] min-w-0 w-full",m.elementClass),children:[t.jsx(mn,{element:m,validationData:bn(m,n)}),((b=(c=n==null?void 0:n.errors)==null?void 0:c[m.id])==null?void 0:b.message)&&t.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[m.id].message})]},m.id)};return t.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:t.jsxs(re.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:[t.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&t.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[t.jsx(Ke,{type:"button",text:a?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(So==null?void 0:So.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${a?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||a&&(n==null?void 0:n.isSubmitting)}),!a&&t.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&t.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:[t.jsx(te,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function nc(e){return e.reduce((n,i)=>(n[i.id]=i.value,n),{})}const ic=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:a=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u})=>{var se,Q,j,V,G,H,$,F,q,R;const{setAnswerData:m,setUploadUrl:c,apiActivityCount:b}=x.useContext(Ae),[v,h]=x.useState(0),[p,g]=x.useState(0),f=x.useMemo(()=>e.filter(Z=>!Z.isHidden).map(Z=>{var ee;return Z.isDisabled||Z.disabled?{...Z,questionData:(ee=Z==null?void 0:Z.questionData)==null?void 0:ee.map(ae=>({...ae,isDisabled:!0}))}:Z}),[e]),N=(se=f==null?void 0:f.length)!=null?se:0,y=xe("config"),S=x.useCallback(async(Z,J,ee)=>{const ae=Xu({formData:f,isReadOnly:a,answerData:Z});return ro(ae)(Z,J,ee)},[f,a]),w=Ve.useForm({resolver:S,mode:"onSubmit",defaultValues:{}}),{register:A,setValue:C,control:E,handleSubmit:k,reset:I,getValues:P,watch:T,formState:{errors:O,isSubmitting:M},trigger:_,setError:B,clearErrors:K}=w,D=Ve.useWatch({control:E}),L=x.useMemo(()=>D,[JSON.stringify(D)]),z=x.useMemo(()=>{if(l!=="conversational")return[];const Z=[];return f.forEach(J=>{var ee;(ee=J==null?void 0:J.questionData)==null||ee.forEach(ae=>{var ue;if(xo(ae,L))if(ae.type==="grid"){const me=(ue=J==null?void 0:J.questionData)==null?void 0:ue.filter(ye=>ye.gridId===ae.id);Z.push({...ae,gridChildren:me})}else ae.gridId||Z.push(ae)})}),Z},[f,L,l]),U=x.useCallback(Z=>{s&&s(Z)},[s]);x.useEffect(()=>{c(u)},[c,u]),x.useEffect(()=>{if(!(f!=null&&f.length)||!s)return;const Z=f.flatMap(J=>{var ee;return(ee=J==null?void 0:J.questionData)==null?void 0:ee.map(ae=>({id:ae.id,value:L[ae.id]||"",sectionId:J.id,type:ae.type,metaData:{prefix:ae.prefix,dateFormat:ae.dateFormat}}))});U(Z),m(L)},[L,f,U,s,m]),x.useEffect(()=>{n!=null&&n.length&&I(nc(n))},[n,I]);const W=x.useCallback(Z=>{const J=f.flatMap(ee=>{var ae;return(ae=ee==null?void 0:ee.questionData)==null?void 0:ae.map(ue=>({id:ue.id,value:Z[ue.id]||"",sectionId:ee.id,type:ue.type,metaData:{prefix:ue.prefix,dateFormat:ue.dateFormat}}))});Object.keys(O).length>0||o==null||o(J)},[O,f,o]),Y=x.useCallback(async()=>{var Z,J;if(l==="conversational"){if(!i){const ee=z[p];if(!ee)return;const ae=ee.gridChildren?ee.gridChildren.map(me=>me.id):[ee.id];if(!await _(ae))return}p<z.length-1?g(ee=>ee+1):k(W)();return}if(!i){const ee=(J=(Z=f==null?void 0:f[v])==null?void 0:Z.questionData)==null?void 0:J.map(ue=>ue.id);if(!await _(ee))return}h(ee=>ee+1)},[v,p,z,f,i,_,l,k,W]),X=x.useCallback(()=>{if(l==="conversational"){g(Z=>Math.max(0,Z-1));return}h(Z=>Z-1)},[l]),ie=x.useMemo(()=>({register:A,setValue:C,watch:T,errors:O,trigger:_,isSubmitting:M,isReadOnly:a,getValues:P,setError:B,clearErrors:K,apiActivityCount:b}),[A,C,T,O,_,M,a,P,B,K,b]);return t.jsxs(Ve.FormProvider,{...w,children:[t.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),t.jsxs("form",{onSubmit:k(W),className:"container h-full mx-auto",children:[t.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:t.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((Q=f==null?void 0:f[v])==null?void 0:Q.title)||((j=f==null?void 0:f[v])==null?void 0:j.description))&&t.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((V=f[v])==null?void 0:V.title)&&t.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(G=f[v])==null?void 0:G.title}),((H=f[v])==null?void 0:H.description)&&t.jsx("p",{className:"text-sm",children:($=f[v])==null?void 0:$.description})]}),l==="multi"?t.jsx(Ru,{form_data:f,options:ie,current:v}):l==="conversational"?t.jsx(ec,{element:z[p],options:ie,onNext:Y,onPrev:X,isFirst:p===0,isLast:p===z.length-1,isReadOnly:a}):t.jsx(Qu,{form_data:f,options:ie})]},l==="conversational"?`conv-${p}`:(F=f==null?void 0:f[v])==null?void 0:F.id)}),!d&&l!=="conversational"&&t.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[t.jsxs("div",{children:[" ",v>0&&t.jsxs("button",{type:"button",onClick:X,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[t.jsx(te,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),v<N-1&&t.jsx(Ke,{type:"button",text:"Next",onClick:Y,style:{background:(y==null?void 0:y.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"})]}),(v===N-1||a)&&!i&&((q=typeof r=="function"?r({isUploading:b>0,isSubmitting:M,hasErrors:Object.keys(O).length>0}):r)!=null?q:t.jsx(Ke,{isDisabled:M||Object.keys(O).length>0||b>0,isLoading:M,type:"submit",text:"Submit",style:{background:(y==null?void 0:y.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&&((R=typeof r=="function"?r({isUploading:b>0,isSubmitting:M,hasErrors:Object.keys(O).length>0}):r)!=null?R:t.jsx(Ke,{isDisabled:M||Object.keys(O).length>0||b>0,isLoading:M,type:"submit",text:"Submit",style:{background:(y==null?void 0:y.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"&&z.length>0&&t.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:t.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(p+1)/z.length*100}%`,background:(y==null?void 0:y.buttonColor)||"#2563EB"}})})]})]})},oc=x.memo(ic);function wo({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:a=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:m,uploadUrl:c}){x.useEffect(()=>{l&&Ys("config",l)},[l]);const b=x.useCallback(v=>{m&&m(v)},[m]);return a?t.jsx(go,{}):n?t.jsxs("div",{className:"w-full h-full min-w-0",children:[t.jsx("div",{id:"root-portal"}),t.jsx(xs,{children:t.jsx(oc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:b,uploadUrl:c,children:d})})]}):t.jsx("div",{children:t.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Se(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=Se(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var sc={value:()=>{}};function di(){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 ui(i)}function ui(e){this._=e}function ac(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}})}ui.prototype=di.prototype={constructor:ui,on:function(e,n){var i=this._,o=ac(e+"",i),s,a=-1,l=o.length;if(arguments.length<2){for(;++a<l;)if((s=(e=o[a]).type)&&(s=tc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<l;)if(s=(e=o[a]).type)i[s]=oa(i[s],e.name,n);else if(n==null)for(s in i)i[s]=oa(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 ui(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,a;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],o=0,s=a.length;o<s;++o)a[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,a=o.length;s<a;++s)o[s].value.apply(n,i)}};function tc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function oa(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=sc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var No="http://www.w3.org/1999/xhtml";const sa={svg:"http://www.w3.org/2000/svg",xhtml:No,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ci(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),sa.hasOwnProperty(n)?{space:sa[n],local:e}:e}function lc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===No&&n.documentElement.namespaceURI===No?n.createElement(e):n.createElementNS(i,e)}}function rc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function aa(e){var n=ci(e);return(n.local?rc:lc)(n)}function dc(){}function Ao(e){return e==null?dc:function(){return this.querySelector(e)}}function uc(e){typeof e!="function"&&(e=Ao(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=new Array(l),d,u,m=0;m<l;++m)(d=a[m])&&(u=e.call(d,d.__data__,m,a))&&("__data__"in d&&(u.__data__=d.__data__),r[m]=u);return new Te(o,this._parents)}function cc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function mc(){return[]}function ta(e){return e==null?mc:function(){return this.querySelectorAll(e)}}function bc(e){return function(){return cc(e.apply(this,arguments))}}function vc(e){typeof e=="function"?e=bc(e):e=ta(e);for(var n=this._groups,i=n.length,o=[],s=[],a=0;a<i;++a)for(var l=n[a],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 Te(o,s)}function la(e){return function(){return this.matches(e)}}function ra(e){return function(n){return n.matches(e)}}var hc=Array.prototype.find;function fc(e){return function(){return hc.call(this.children,e)}}function pc(){return this.firstElementChild}function gc(e){return this.select(e==null?pc:fc(typeof e=="function"?e:ra(e)))}var yc=Array.prototype.filter;function xc(){return Array.from(this.children)}function Sc(e){return function(){return yc.call(this.children,e)}}function wc(e){return this.selectAll(e==null?xc:Sc(typeof e=="function"?e:ra(e)))}function Nc(e){typeof e!="function"&&(e=la(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=[],d,u=0;u<l;++u)(d=a[u])&&e.call(d,d.__data__,u,a)&&r.push(d);return new Te(o,this._parents)}function da(e){return new Array(e.length)}function Ac(){return new Te(this._enter||this._groups.map(da),this._parents)}function mi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}mi.prototype={constructor:mi,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 Cc(e){return function(){return e}}function kc(e,n,i,o,s,a){for(var l=0,r,d=n.length,u=a.length;l<u;++l)(r=n[l])?(r.__data__=a[l],o[l]=r):i[l]=new mi(e,a[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function Mc(e,n,i,o,s,a,l){var r,d,u=new Map,m=n.length,c=a.length,b=new Array(m),v;for(r=0;r<m;++r)(d=n[r])&&(b[r]=v=l.call(d,d.__data__,r,n)+"",u.has(v)?s[r]=d:u.set(v,d));for(r=0;r<c;++r)v=l.call(e,a[r],r,a)+"",(d=u.get(v))?(o[r]=d,d.__data__=a[r],u.delete(v)):i[r]=new mi(e,a[r]);for(r=0;r<m;++r)(d=n[r])&&u.get(b[r])===d&&(s[r]=d)}function Ec(e){return e.__data__}function Tc(e,n){if(!arguments.length)return Array.from(this,Ec);var i=n?Mc:kc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Cc(e));for(var a=s.length,l=new Array(a),r=new Array(a),d=new Array(a),u=0;u<a;++u){var m=o[u],c=s[u],b=c.length,v=Pc(e.call(m,m&&m.__data__,u,o)),h=v.length,p=r[u]=new Array(h),g=l[u]=new Array(h),f=d[u]=new Array(b);i(m,c,p,g,f,v,n);for(var N=0,y=0,S,w;N<h;++N)if(S=p[N]){for(N>=y&&(y=N+1);!(w=g[y])&&++y<h;);S._next=w||null}}return l=new Te(l,o),l._enter=r,l._exit=d,l}function Pc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Lc(){return new Te(this._exit||this._groups.map(da),this._parents)}function Bc(e,n,i){var o=this.enter(),s=this,a=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?a.remove():i(a),o&&s?o.merge(s).order():s}function Ic(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,a=o.length,l=Math.min(s,a),r=new Array(s),d=0;d<l;++d)for(var u=i[d],m=o[d],c=u.length,b=r[d]=new Array(c),v,h=0;h<c;++h)(v=u[h]||m[h])&&(b[h]=v);for(;d<s;++d)r[d]=i[d];return new Te(r,this._parents)}function Dc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,a=o[s],l;--s>=0;)(l=o[s])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function _c(e){e||(e=Oc);function n(c,b){return c&&b?e(c.__data__,b.__data__):!c-!b}for(var i=this._groups,o=i.length,s=new Array(o),a=0;a<o;++a){for(var l=i[a],r=l.length,d=s[a]=new Array(r),u,m=0;m<r;++m)(u=l[m])&&(d[m]=u);d.sort(n)}return new Te(s,this._parents).order()}function Oc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Kc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hc(){return Array.from(this)}function Gc(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,a=o.length;s<a;++s){var l=o[s];if(l)return l}return null}function Fc(){let e=0;for(const n of this)++e;return e}function Vc(){return!this.node()}function zc(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],a=0,l=s.length,r;a<l;++a)(r=s[a])&&e.call(r,r.__data__,a,s);return this}function Wc(e){return function(){this.removeAttribute(e)}}function $c(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jc(e,n){return function(){this.setAttribute(e,n)}}function Uc(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function qc(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function Yc(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 Jc(e,n){var i=ci(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?$c:Wc:typeof n=="function"?i.local?Yc:qc:i.local?Uc:jc)(i,n))}function ua(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Zc(e){return function(){this.style.removeProperty(e)}}function Xc(e,n,i){return function(){this.style.setProperty(e,n,i)}}function Qc(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function Rc(e,n,i){return arguments.length>1?this.each((n==null?Zc:typeof n=="function"?Qc:Xc)(e,n,i==null?"":i)):vn(this.node(),e)}function vn(e,n){return e.style.getPropertyValue(n)||ua(e).getComputedStyle(e,null).getPropertyValue(n)}function em(e){return function(){delete this[e]}}function nm(e,n){return function(){this[e]=n}}function im(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function om(e,n){return arguments.length>1?this.each((n==null?em:typeof n=="function"?im:nm)(e,n)):this.node()[e]}function ca(e){return e.trim().split(/^|\s+/)}function Co(e){return e.classList||new ma(e)}function ma(e){this._node=e,this._names=ca(e.getAttribute("class")||"")}ma.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 ba(e,n){for(var i=Co(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function va(e,n){for(var i=Co(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function sm(e){return function(){ba(this,e)}}function am(e){return function(){va(this,e)}}function tm(e,n){return function(){(n.apply(this,arguments)?ba:va)(this,e)}}function lm(e,n){var i=ca(e+"");if(arguments.length<2){for(var o=Co(this.node()),s=-1,a=i.length;++s<a;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?tm:n?sm:am)(i,n))}function rm(){this.textContent=""}function dm(e){return function(){this.textContent=e}}function um(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function cm(e){return arguments.length?this.each(e==null?rm:(typeof e=="function"?um:dm)(e)):this.node().textContent}function mm(){this.innerHTML=""}function bm(e){return function(){this.innerHTML=e}}function vm(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function hm(e){return arguments.length?this.each(e==null?mm:(typeof e=="function"?vm:bm)(e)):this.node().innerHTML}function fm(){this.nextSibling&&this.parentNode.appendChild(this)}function pm(){return this.each(fm)}function gm(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ym(){return this.each(gm)}function xm(e){var n=typeof e=="function"?e:aa(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Sm(){return null}function wm(e,n){var i=typeof e=="function"?e:aa(e),o=n==null?Sm:typeof n=="function"?n:Ao(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Nm(){var e=this.parentNode;e&&e.removeChild(this)}function Am(){return this.each(Nm)}function Cm(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function km(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Mm(e){return this.select(e?km:Cm)}function Em(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Tm(e){return function(n){e.call(this,n,this.__data__)}}function Pm(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 Lm(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,a;i<s;++i)a=n[i],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):n[++o]=a;++o?n.length=o:delete this.__on}}}function Bm(e,n,i){return function(){var o=this.__on,s,a=Tm(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=a,s.options=i),s.value=n;return}}this.addEventListener(e.type,a,i),s={type:e.type,name:e.name,value:n,listener:a,options:i},o?o.push(s):this.__on=[s]}}function Im(e,n,i){var o=Pm(e+""),s,a=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,m;d<u;++d)for(s=0,m=r[d];s<a;++s)if((l=o[s]).type===m.type&&l.name===m.name)return m.value}return}for(r=n?Bm:Lm,s=0;s<a;++s)this.each(r(o[s],n,i));return this}function ha(e,n,i){var o=ua(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 Dm(e,n){return function(){return ha(this,e,n)}}function _m(e,n){return function(){return ha(this,e,n.apply(this,arguments))}}function Om(e,n){return this.each((typeof n=="function"?_m:Dm)(e,n))}function*Km(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,a=o.length,l;s<a;++s)(l=o[s])&&(yield l)}var fa=[null];function Te(e,n){this._groups=e,this._parents=n}function In(){return new Te([[document.documentElement]],fa)}function Hm(){return this}Te.prototype=In.prototype={constructor:Te,select:uc,selectAll:vc,selectChild:gc,selectChildren:wc,filter:Nc,data:Tc,enter:Ac,exit:Lc,join:Bc,merge:Ic,selection:Hm,order:Dc,sort:_c,call:Kc,nodes:Hc,node:Gc,size:Fc,empty:Vc,each:zc,attr:Jc,style:Rc,property:om,classed:lm,text:cm,html:hm,raise:pm,lower:ym,append:xm,insert:wm,remove:Am,clone:Mm,datum:Em,on:Im,dispatch:Om,[Symbol.iterator]:Km};function Pe(e){return typeof e=="string"?new Te([[document.querySelector(e)]],[document.documentElement]):new Te([[e]],fa)}function Gm(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Be(e,n){if(e=Gm(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 Fm={passive:!1},Dn={capture:!0,passive:!1};function ko(e){e.stopImmediatePropagation()}function hn(e){e.preventDefault(),e.stopImmediatePropagation()}function pa(e){var n=e.document.documentElement,i=Pe(e).on("dragstart.drag",hn,Dn);"onselectstart"in n?i.on("selectstart.drag",hn,Dn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function ga(e,n){var i=e.document.documentElement,o=Pe(e).on("dragstart.drag",null);n&&(o.on("click.drag",hn,Dn),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 bi=e=>()=>e;function Mo(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:a,x:l,y:r,dx:d,dy:u,dispatch:m}){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:a,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:m}})}Mo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Vm(e){return!e.ctrlKey&&!e.button}function zm(){return this.parentNode}function Wm(e,n){return n==null?{x:e.x,y:e.y}:n}function $m(){return navigator.maxTouchPoints||"ontouchstart"in this}function ya(){var e=Vm,n=zm,i=Wm,o=$m,s={},a=di("start","drag","end"),l=0,r,d,u,m,c=0;function b(S){S.on("mousedown.drag",v).filter(o).on("touchstart.drag",g).on("touchmove.drag",f,Fm).on("touchend.drag touchcancel.drag",N).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(S,w){if(!(m||!e.call(this,S,w))){var A=y(this,n.call(this,S,w),S,w,"mouse");A&&(Pe(S.view).on("mousemove.drag",h,Dn).on("mouseup.drag",p,Dn),pa(S.view),ko(S),u=!1,r=S.clientX,d=S.clientY,A("start",S))}}function h(S){if(hn(S),!u){var w=S.clientX-r,A=S.clientY-d;u=w*w+A*A>c}s.mouse("drag",S)}function p(S){Pe(S.view).on("mousemove.drag mouseup.drag",null),ga(S.view,u),hn(S),s.mouse("end",S)}function g(S,w){if(e.call(this,S,w)){var A=S.changedTouches,C=n.call(this,S,w),E=A.length,k,I;for(k=0;k<E;++k)(I=y(this,C,S,w,A[k].identifier,A[k]))&&(ko(S),I("start",S,A[k]))}}function f(S){var w=S.changedTouches,A=w.length,C,E;for(C=0;C<A;++C)(E=s[w[C].identifier])&&(hn(S),E("drag",S,w[C]))}function N(S){var w=S.changedTouches,A=w.length,C,E;for(m&&clearTimeout(m),m=setTimeout(function(){m=null},500),C=0;C<A;++C)(E=s[w[C].identifier])&&(ko(S),E("end",S,w[C]))}function y(S,w,A,C,E,k){var I=a.copy(),P=Be(k||A,w),T,O,M;if((M=i.call(S,new Mo("beforestart",{sourceEvent:A,target:b,identifier:E,active:l,x:P[0],y:P[1],dx:0,dy:0,dispatch:I}),C))!=null)return T=M.x-P[0]||0,O=M.y-P[1]||0,function _(B,K,D){var L=P,z;switch(B){case"start":s[E]=_,z=l++;break;case"end":delete s[E],--l;case"drag":P=Be(D||K,w),z=l;break}I.call(B,S,new Mo(B,{sourceEvent:K,subject:M,target:b,identifier:E,active:z,x:P[0]+T,y:P[1]+O,dx:P[0]-L[0],dy:P[1]-L[1],dispatch:I}),C)}}return b.filter=function(S){return arguments.length?(e=typeof S=="function"?S:bi(!!S),b):e},b.container=function(S){return arguments.length?(n=typeof S=="function"?S:bi(S),b):n},b.subject=function(S){return arguments.length?(i=typeof S=="function"?S:bi(S),b):i},b.touchable=function(S){return arguments.length?(o=typeof S=="function"?S:bi(!!S),b):o},b.on=function(){var S=a.on.apply(a,arguments);return S===a?b:S},b.clickDistance=function(S){return arguments.length?(c=(S=+S)*S,b):Math.sqrt(c)},b}function Eo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function xa(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function _n(){}var On=.7,vi=1/On,fn="\\s*([+-]?\\d+)\\s*",Kn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",He="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",jm=/^#([0-9a-f]{3,8})$/,Um=new RegExp(`^rgb\\(${fn},${fn},${fn}\\)$`),qm=new RegExp(`^rgb\\(${He},${He},${He}\\)$`),Ym=new RegExp(`^rgba\\(${fn},${fn},${fn},${Kn}\\)$`),Jm=new RegExp(`^rgba\\(${He},${He},${He},${Kn}\\)$`),Zm=new RegExp(`^hsl\\(${Kn},${He},${He}\\)$`),Xm=new RegExp(`^hsla\\(${Kn},${He},${He},${Kn}\\)$`),Sa={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};Eo(_n,Qe,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:wa,formatHex:wa,formatHex8:Qm,formatHsl:Rm,formatRgb:Na,toString:Na});function wa(){return this.rgb().formatHex()}function Qm(){return this.rgb().formatHex8()}function Rm(){return Ea(this).formatHsl()}function Na(){return this.rgb().formatRgb()}function Qe(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=jm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?Aa(n):i===3?new ke(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?hi(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?hi(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=Um.exec(e))?new ke(n[1],n[2],n[3],1):(n=qm.exec(e))?new ke(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=Ym.exec(e))?hi(n[1],n[2],n[3],n[4]):(n=Jm.exec(e))?hi(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=Zm.exec(e))?Ma(n[1],n[2]/100,n[3]/100,1):(n=Xm.exec(e))?Ma(n[1],n[2]/100,n[3]/100,n[4]):Sa.hasOwnProperty(e)?Aa(Sa[e]):e==="transparent"?new ke(NaN,NaN,NaN,0):null}function Aa(e){return new ke(e>>16&255,e>>8&255,e&255,1)}function hi(e,n,i,o){return o<=0&&(e=n=i=NaN),new ke(e,n,i,o)}function eb(e){return e instanceof _n||(e=Qe(e)),e?(e=e.rgb(),new ke(e.r,e.g,e.b,e.opacity)):new ke}function To(e,n,i,o){return arguments.length===1?eb(e):new ke(e,n,i,o==null?1:o)}function ke(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Eo(ke,To,xa(_n,{brighter(e){return e=e==null?vi:Math.pow(vi,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?On:Math.pow(On,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ke(Re(this.r),Re(this.g),Re(this.b),fi(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:Ca,formatHex:Ca,formatHex8:nb,formatRgb:ka,toString:ka}));function Ca(){return`#${en(this.r)}${en(this.g)}${en(this.b)}`}function nb(){return`#${en(this.r)}${en(this.g)}${en(this.b)}${en((isNaN(this.opacity)?1:this.opacity)*255)}`}function ka(){const e=fi(this.opacity);return`${e===1?"rgb(":"rgba("}${Re(this.r)}, ${Re(this.g)}, ${Re(this.b)}${e===1?")":`, ${e})`}`}function fi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Re(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function en(e){return e=Re(e),(e<16?"0":"")+e.toString(16)}function Ma(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Ie(e,n,i,o)}function Ea(e){if(e instanceof Ie)return new Ie(e.h,e.s,e.l,e.opacity);if(e instanceof _n||(e=Qe(e)),!e)return new Ie;if(e instanceof Ie)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),a=Math.max(n,i,o),l=NaN,r=a-s,d=(a+s)/2;return r?(n===a?l=(i-o)/r+(i<o)*6:i===a?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?a+s:2-a-s,l*=60):r=d>0&&d<1?0:l,new Ie(l,r,d,e.opacity)}function ib(e,n,i,o){return arguments.length===1?Ea(e):new Ie(e,n,i,o==null?1:o)}function Ie(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Eo(Ie,ib,xa(_n,{brighter(e){return e=e==null?vi:Math.pow(vi,e),new Ie(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?On:Math.pow(On,e),new Ie(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 ke(Po(e>=240?e-240:e+120,s,o),Po(e,s,o),Po(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new Ie(Ta(this.h),pi(this.s),pi(this.l),fi(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=fi(this.opacity);return`${e===1?"hsl(":"hsla("}${Ta(this.h)}, ${pi(this.s)*100}%, ${pi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ta(e){return e=(e||0)%360,e<0?e+360:e}function pi(e){return Math.max(0,Math.min(1,e||0))}function Po(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 Lo=e=>()=>e;function ob(e,n){return function(i){return e+i*n}}function sb(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 ab(e){return(e=+e)==1?Pa:function(n,i){return i-n?sb(n,i,e):Lo(isNaN(n)?i:n)}}function Pa(e,n){var i=n-e;return i?ob(e,i):Lo(isNaN(e)?n:e)}const gi=function e(n){var i=ab(n);function o(s,a){var l=i((s=To(s)).r,(a=To(a)).r),r=i(s.g,a.g),d=i(s.b,a.b),u=Pa(s.opacity,a.opacity);return function(m){return s.r=l(m),s.g=r(m),s.b=d(m),s.opacity=u(m),s+""}}return o.gamma=e,o}(1);function tb(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(a){for(s=0;s<i;++s)o[s]=e[s]*(1-a)+n[s]*a;return o}}function lb(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rb(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),a=new Array(i),l;for(l=0;l<o;++l)s[l]=Hn(e[l],n[l]);for(;l<i;++l)a[l]=n[l];return function(r){for(l=0;l<o;++l)a[l]=s[l](r);return a}}function db(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Ge(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function ub(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]=Hn(e[s],n[s]):o[s]=n[s];return function(a){for(s in i)o[s]=i[s](a);return o}}var Bo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Io=new RegExp(Bo.source,"g");function cb(e){return function(){return e}}function mb(e){return function(n){return e(n)+""}}function La(e,n){var i=Bo.lastIndex=Io.lastIndex=0,o,s,a,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Bo.exec(e))&&(s=Io.exec(n));)(a=s.index)>i&&(a=n.slice(i,a),r[l]?r[l]+=a:r[++l]=a),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Ge(o,s)})),i=Io.lastIndex;return i<n.length&&(a=n.slice(i),r[l]?r[l]+=a:r[++l]=a),r.length<2?d[0]?mb(d[0].x):cb(n):(n=d.length,function(u){for(var m=0,c;m<n;++m)r[(c=d[m]).i]=c.x(u);return r.join("")})}function Hn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Lo(n):(i==="number"?Ge:i==="string"?(o=Qe(n))?(n=o,gi):La:n instanceof Qe?gi:n instanceof Date?db:lb(n)?tb:Array.isArray(n)?rb:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?ub:Ge)(e,n)}var Ba=180/Math.PI,Do={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ia(e,n,i,o,s,a){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:a,rotate:Math.atan2(n,e)*Ba,skewX:Math.atan(d)*Ba,scaleX:l,scaleY:r}}var yi;function bb(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Do:Ia(n.a,n.b,n.c,n.d,n.e,n.f)}function vb(e){return e==null||(yi||(yi=document.createElementNS("http://www.w3.org/2000/svg","g")),yi.setAttribute("transform",e),!(e=yi.transform.baseVal.consolidate()))?Do:(e=e.matrix,Ia(e.a,e.b,e.c,e.d,e.e,e.f))}function Da(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function a(u,m,c,b,v,h){if(u!==c||m!==b){var p=v.push("translate(",null,n,null,i);h.push({i:p-4,x:Ge(u,c)},{i:p-2,x:Ge(m,b)})}else(c||b)&&v.push("translate("+c+n+b+i)}function l(u,m,c,b){u!==m?(u-m>180?m+=360:m-u>180&&(u+=360),b.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Ge(u,m)})):m&&c.push(s(c)+"rotate("+m+o)}function r(u,m,c,b){u!==m?b.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Ge(u,m)}):m&&c.push(s(c)+"skewX("+m+o)}function d(u,m,c,b,v,h){if(u!==c||m!==b){var p=v.push(s(v)+"scale(",null,",",null,")");h.push({i:p-4,x:Ge(u,c)},{i:p-2,x:Ge(m,b)})}else(c!==1||b!==1)&&v.push(s(v)+"scale("+c+","+b+")")}return function(u,m){var c=[],b=[];return u=e(u),m=e(m),a(u.translateX,u.translateY,m.translateX,m.translateY,c,b),l(u.rotate,m.rotate,c,b),r(u.skewX,m.skewX,c,b),d(u.scaleX,u.scaleY,m.scaleX,m.scaleY,c,b),u=m=null,function(v){for(var h=-1,p=b.length,g;++h<p;)c[(g=b[h]).i]=g.x(v);return c.join("")}}}var hb=Da(bb,"px, ","px)","deg)"),fb=Da(vb,", ",")",")"),pb=1e-12;function _a(e){return((e=Math.exp(e))+1/e)/2}function gb(e){return((e=Math.exp(e))-1/e)/2}function yb(e){return((e=Math.exp(2*e))-1)/(e+1)}const xi=function e(n,i,o){function s(a,l){var r=a[0],d=a[1],u=a[2],m=l[0],c=l[1],b=l[2],v=m-r,h=c-d,p=v*v+h*h,g,f;if(p<pb)f=Math.log(b/u)/n,g=function(C){return[r+C*v,d+C*h,u*Math.exp(n*C*f)]};else{var N=Math.sqrt(p),y=(b*b-u*u+o*p)/(2*u*i*N),S=(b*b-u*u-o*p)/(2*b*i*N),w=Math.log(Math.sqrt(y*y+1)-y),A=Math.log(Math.sqrt(S*S+1)-S);f=(A-w)/n,g=function(C){var E=C*f,k=_a(w),I=u/(i*N)*(k*yb(n*E+w)-gb(w));return[r+I*v,d+I*h,u*k/_a(n*E+w)]}}return g.duration=f*1e3*n/Math.SQRT2,g}return s.rho=function(a){var l=Math.max(.001,+a),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var pn=0,Gn=0,Fn=0,Oa=1e3,Si,Vn,wi=0,nn=0,Ni=0,zn=typeof performance=="object"&&performance.now?performance:Date,Ka=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function _o(){return nn||(Ka(xb),nn=zn.now()+Ni)}function xb(){nn=0}function Ai(){this._call=this._time=this._next=null}Ai.prototype=Ha.prototype={constructor:Ai,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&&Vn!==this&&(Vn?Vn._next=this:Si=this,Vn=this),this._call=e,this._time=i,Oo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Oo())}};function Ha(e,n,i){var o=new Ai;return o.restart(e,n,i),o}function Sb(){_o(),++pn;for(var e=Si,n;e;)(n=nn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--pn}function Ga(){nn=(wi=zn.now())+Ni,pn=Gn=0;try{Sb()}finally{pn=0,Nb(),nn=0}}function wb(){var e=zn.now(),n=e-wi;n>Oa&&(Ni-=n,wi=e)}function Nb(){for(var e,n=Si,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:Si=i);Vn=e,Oo(o)}function Oo(e){if(!pn){Gn&&(Gn=clearTimeout(Gn));var n=e-nn;n>24?(e<1/0&&(Gn=setTimeout(Ga,e-zn.now()-Ni)),Fn&&(Fn=clearInterval(Fn))):(Fn||(wi=zn.now(),Fn=setInterval(wb,Oa)),pn=1,Ka(Ga))}}function Fa(e,n,i){var o=new Ai;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Ab=di("start","end","cancel","interrupt"),Cb=[],Va=0,za=1,Ko=2,Ci=3,Wa=4,Ho=5,ki=6;function Mi(e,n,i,o,s,a){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;kb(e,i,{name:n,index:o,group:s,on:Ab,tween:Cb,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Va})}function Go(e,n){var i=De(e,n);if(i.state>Va)throw new Error("too late; already scheduled");return i}function Fe(e,n){var i=De(e,n);if(i.state>Ci)throw new Error("too late; already running");return i}function De(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function kb(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ha(a,0,i.time);function a(u){i.state=za,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var m,c,b,v;if(i.state!==za)return d();for(m in o)if(v=o[m],v.name===i.name){if(v.state===Ci)return Fa(l);v.state===Wa?(v.state=ki,v.timer.stop(),v.on.call("interrupt",e,e.__data__,v.index,v.group),delete o[m]):+m<n&&(v.state=ki,v.timer.stop(),v.on.call("cancel",e,e.__data__,v.index,v.group),delete o[m])}if(Fa(function(){i.state===Ci&&(i.state=Wa,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Ko,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Ko){for(i.state=Ci,s=new Array(b=i.tween.length),m=0,c=-1;m<b;++m)(v=i.tween[m].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=v);s.length=c+1}}function r(u){for(var m=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Ho,1),c=-1,b=s.length;++c<b;)s[c].call(e,m);i.state===Ho&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=ki,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Ei(e,n){var i=e.__transition,o,s,a=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){a=!1;continue}s=o.state>Ko&&o.state<Ho,o.state=ki,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}a&&delete e.__transition}}function Mb(e){return this.each(function(){Ei(this,e)})}function Eb(e,n){var i,o;return function(){var s=Fe(this,e),a=s.tween;if(a!==i){o=i=a;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 Tb(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var a=Fe(this,e),l=a.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)}a.tween=s}}function Pb(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=De(this.node(),i).tween,s=0,a=o.length,l;s<a;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Eb:Tb)(i,e,n))}function Fo(e,n,i){var o=e._id;return e.each(function(){var s=Fe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return De(s,o).value[n]}}function $a(e,n){var i;return(typeof n=="number"?Ge:n instanceof Qe?gi:(i=Qe(n))?(n=i,gi):La)(e,n)}function Lb(e){return function(){this.removeAttribute(e)}}function Bb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ib(e,n,i){var o,s=i+"",a;return function(){var l=this.getAttribute(e);return l===s?null:l===o?a:a=n(o=l,i)}}function Db(e,n,i){var o,s=i+"",a;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?a:a=n(o=l,i)}}function _b(e,n,i){var o,s,a;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?a:(s=d,a=n(o=l,r)))}}function Ob(e,n,i){var o,s,a;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?a:(s=d,a=n(o=l,r)))}}function Kb(e,n){var i=ci(e),o=i==="transform"?fb:$a;return this.attrTween(e,typeof n=="function"?(i.local?Ob:_b)(i,o,Fo(this,"attr."+e,n)):n==null?(i.local?Bb:Lb)(i):(i.local?Db:Ib)(i,o,n))}function Hb(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function Gb(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function Fb(e,n){var i,o;function s(){var a=n.apply(this,arguments);return a!==o&&(i=(o=a)&&Gb(e,a)),i}return s._value=n,s}function Vb(e,n){var i,o;function s(){var a=n.apply(this,arguments);return a!==o&&(i=(o=a)&&Hb(e,a)),i}return s._value=n,s}function zb(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=ci(e);return this.tween(i,(o.local?Fb:Vb)(o,n))}function Wb(e,n){return function(){Go(this,e).delay=+n.apply(this,arguments)}}function $b(e,n){return n=+n,function(){Go(this,e).delay=n}}function jb(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Wb:$b)(n,e)):De(this.node(),n).delay}function Ub(e,n){return function(){Fe(this,e).duration=+n.apply(this,arguments)}}function qb(e,n){return n=+n,function(){Fe(this,e).duration=n}}function Yb(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?Ub:qb)(n,e)):De(this.node(),n).duration}function Jb(e,n){if(typeof n!="function")throw new Error;return function(){Fe(this,e).ease=n}}function Zb(e){var n=this._id;return arguments.length?this.each(Jb(n,e)):De(this.node(),n).ease}function Xb(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Fe(this,e).ease=i}}function Qb(e){if(typeof e!="function")throw new Error;return this.each(Xb(this._id,e))}function Rb(e){typeof e!="function"&&(e=la(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var a=n[s],l=a.length,r=o[s]=[],d,u=0;u<l;++u)(d=a[u])&&e.call(d,d.__data__,u,a)&&r.push(d);return new ze(o,this._parents,this._name,this._id)}function ev(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,a=Math.min(o,s),l=new Array(o),r=0;r<a;++r)for(var d=n[r],u=i[r],m=d.length,c=l[r]=new Array(m),b,v=0;v<m;++v)(b=d[v]||u[v])&&(c[v]=b);for(;r<o;++r)l[r]=n[r];return new ze(l,this._parents,this._name,this._id)}function nv(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 iv(e,n,i){var o,s,a=nv(n)?Go:Fe;return function(){var l=a(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function ov(e,n){var i=this._id;return arguments.length<2?De(this.node(),i).on.on(e):this.each(iv(i,e,n))}function sv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function av(){return this.on("end.remove",sv(this._id))}function tv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Ao(e));for(var o=this._groups,s=o.length,a=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=a[l]=new Array(d),m,c,b=0;b<d;++b)(m=r[b])&&(c=e.call(m,m.__data__,b,r))&&("__data__"in m&&(c.__data__=m.__data__),u[b]=c,Mi(u[b],n,i,b,u,De(m,i)));return new ze(a,this._parents,n,i)}function lv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=ta(e));for(var o=this._groups,s=o.length,a=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,m,c=0;c<u;++c)if(m=d[c]){for(var b=e.call(m,m.__data__,c,d),v,h=De(m,i),p=0,g=b.length;p<g;++p)(v=b[p])&&Mi(v,n,i,p,b,h);a.push(b),l.push(m)}return new ze(a,l,n,i)}var rv=In.prototype.constructor;function dv(){return new rv(this._groups,this._parents)}function uv(e,n){var i,o,s;return function(){var a=vn(this,e),l=(this.style.removeProperty(e),vn(this,e));return a===l?null:a===i&&l===o?s:s=n(i=a,o=l)}}function ja(e){return function(){this.style.removeProperty(e)}}function cv(e,n,i){var o,s=i+"",a;return function(){var l=vn(this,e);return l===s?null:l===o?a:a=n(o=l,i)}}function mv(e,n,i){var o,s,a;return function(){var l=vn(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),vn(this,e))),l===d?null:l===o&&d===s?a:(s=d,a=n(o=l,r))}}function bv(e,n){var i,o,s,a="style."+n,l="end."+a,r;return function(){var d=Fe(this,e),u=d.on,m=d.value[a]==null?r||(r=ja(n)):void 0;(u!==i||s!==m)&&(o=(i=u).copy()).on(l,s=m),d.on=o}}function vv(e,n,i){var o=(e+="")=="transform"?hb:$a;return n==null?this.styleTween(e,uv(e,o)).on("end.style."+e,ja(e)):typeof n=="function"?this.styleTween(e,mv(e,o,Fo(this,"style."+e,n))).each(bv(this._id,e)):this.styleTween(e,cv(e,o,n),i).on("end.style."+e,null)}function hv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function fv(e,n,i){var o,s;function a(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&hv(e,l,i)),o}return a._value=n,a}function pv(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,fv(e,n,i==null?"":i))}function gv(e){return function(){this.textContent=e}}function yv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function xv(e){return this.tween("text",typeof e=="function"?yv(Fo(this,"text",e)):gv(e==null?"":e+""))}function Sv(e){return function(n){this.textContent=e.call(this,n)}}function wv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Sv(s)),n}return o._value=e,o}function Nv(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,wv(e))}function Av(){for(var e=this._name,n=this._id,i=Ua(),o=this._groups,s=o.length,a=0;a<s;++a)for(var l=o[a],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var m=De(d,n);Mi(d,e,i,u,l,{time:m.time+m.delay+m.duration,delay:0,duration:m.duration,ease:m.ease})}return new ze(o,this._parents,e,i)}function Cv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(a,l){var r={value:l},d={value:function(){--s===0&&a()}};i.each(function(){var u=Fe(this,o),m=u.on;m!==e&&(n=(e=m).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&a()})}var kv=0;function ze(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function Ua(){return++kv}var We=In.prototype;ze.prototype={constructor:ze,select:tv,selectAll:lv,selectChild:We.selectChild,selectChildren:We.selectChildren,filter:Rb,merge:ev,selection:dv,transition:Av,call:We.call,nodes:We.nodes,node:We.node,size:We.size,empty:We.empty,each:We.each,on:ov,attr:Kb,attrTween:zb,style:vv,styleTween:pv,text:xv,textTween:Nv,remove:av,tween:Pb,delay:jb,duration:Yb,ease:Zb,easeVarying:Qb,end:Cv,[Symbol.iterator]:We[Symbol.iterator]};function Mv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ev={time:null,delay:0,duration:250,ease:Mv};function Tv(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 Pv(e){var n,i;e instanceof ze?(n=e._id,e=e._name):(n=Ua(),(i=Ev).time=_o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,a=0;a<s;++a)for(var l=o[a],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Mi(d,e,n,u,l,i||Tv(d,n));return new ze(o,this._parents,e,n)}In.prototype.interrupt=Mb,In.prototype.transition=Pv;const Ti=e=>()=>e;function Lv(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 $e(e,n,i){this.k=e,this.x=n,this.y=i}$e.prototype={constructor:$e,scale:function(e){return e===1?this:new $e(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new $e(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 Pi=new $e(1,0,0);qa.prototype=$e.prototype;function qa(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Pi;return e.__zoom}function Vo(e){e.stopImmediatePropagation()}function Wn(e){e.preventDefault(),e.stopImmediatePropagation()}function Bv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Iv(){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 Ya(){return this.__zoom||Pi}function Dv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _v(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ov(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],a=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>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function Ja(){var e=Bv,n=Iv,i=Ov,o=Dv,s=_v,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=xi,u=di("start","zoom","end"),m,c,b,v=500,h=150,p=0,g=10;function f(M){M.property("__zoom",Ya).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",P).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}f.transform=function(M,_,B,K){var D=M.selection?M.selection():M;D.property("__zoom",Ya),M!==D?w(M,_,B,K):D.interrupt().each(function(){A(this,arguments).event(K).start().zoom(null,typeof _=="function"?_.apply(this,arguments):_).end()})},f.scaleBy=function(M,_,B,K){f.scaleTo(M,function(){var D=this.__zoom.k,L=typeof _=="function"?_.apply(this,arguments):_;return D*L},B,K)},f.scaleTo=function(M,_,B,K){f.transform(M,function(){var D=n.apply(this,arguments),L=this.__zoom,z=B==null?S(D):typeof B=="function"?B.apply(this,arguments):B,U=L.invert(z),W=typeof _=="function"?_.apply(this,arguments):_;return i(y(N(L,W),z,U),D,l)},B,K)},f.translateBy=function(M,_,B,K){f.transform(M,function(){return i(this.__zoom.translate(typeof _=="function"?_.apply(this,arguments):_,typeof B=="function"?B.apply(this,arguments):B),n.apply(this,arguments),l)},null,K)},f.translateTo=function(M,_,B,K,D){f.transform(M,function(){var L=n.apply(this,arguments),z=this.__zoom,U=K==null?S(L):typeof K=="function"?K.apply(this,arguments):K;return i(Pi.translate(U[0],U[1]).scale(z.k).translate(typeof _=="function"?-_.apply(this,arguments):-_,typeof B=="function"?-B.apply(this,arguments):-B),L,l)},K,D)};function N(M,_){return _=Math.max(a[0],Math.min(a[1],_)),_===M.k?M:new $e(_,M.x,M.y)}function y(M,_,B){var K=_[0]-B[0]*M.k,D=_[1]-B[1]*M.k;return K===M.x&&D===M.y?M:new $e(M.k,K,D)}function S(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function w(M,_,B,K){M.on("start.zoom",function(){A(this,arguments).event(K).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(K).end()}).tween("zoom",function(){var D=this,L=arguments,z=A(D,L).event(K),U=n.apply(D,L),W=B==null?S(U):typeof B=="function"?B.apply(D,L):B,Y=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),X=D.__zoom,ie=typeof _=="function"?_.apply(D,L):_,se=d(X.invert(W).concat(Y/X.k),ie.invert(W).concat(Y/ie.k));return function(Q){if(Q===1)Q=ie;else{var j=se(Q),V=Y/j[2];Q=new $e(V,W[0]-j[0]*V,W[1]-j[1]*V)}z.zoom(null,Q)}})}function A(M,_,B){return!B&&M.__zooming||new C(M,_)}function C(M,_){this.that=M,this.args=_,this.active=0,this.sourceEvent=null,this.extent=n.apply(M,_),this.taps=0}C.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,_){return this.mouse&&M!=="mouse"&&(this.mouse[1]=_.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=_.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=_.invert(this.touch1[0])),this.that.__zoom=_,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var _=Pe(this.that).datum();u.call(M,this.that,new Lv(M,{sourceEvent:this.sourceEvent,target:f,transform:this.that.__zoom,dispatch:u}),_)}};function E(M,..._){if(!e.apply(this,arguments))return;var B=A(this,_).event(M),K=this.__zoom,D=Math.max(a[0],Math.min(a[1],K.k*Math.pow(2,o.apply(this,arguments)))),L=Be(M);if(B.wheel)(B.mouse[0][0]!==L[0]||B.mouse[0][1]!==L[1])&&(B.mouse[1]=K.invert(B.mouse[0]=L)),clearTimeout(B.wheel);else{if(K.k===D)return;B.mouse=[L,K.invert(L)],Ei(this),B.start()}Wn(M),B.wheel=setTimeout(z,h),B.zoom("mouse",i(y(N(K,D),B.mouse[0],B.mouse[1]),B.extent,l));function z(){B.wheel=null,B.end()}}function k(M,..._){if(b||!e.apply(this,arguments))return;var B=M.currentTarget,K=A(this,_,!0).event(M),D=Pe(M.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",Y,!0),L=Be(M,B),z=M.clientX,U=M.clientY;pa(M.view),Vo(M),K.mouse=[L,this.__zoom.invert(L)],Ei(this),K.start();function W(X){if(Wn(X),!K.moved){var ie=X.clientX-z,se=X.clientY-U;K.moved=ie*ie+se*se>p}K.event(X).zoom("mouse",i(y(K.that.__zoom,K.mouse[0]=Be(X,B),K.mouse[1]),K.extent,l))}function Y(X){D.on("mousemove.zoom mouseup.zoom",null),ga(X.view,K.moved),Wn(X),K.event(X).end()}}function I(M,..._){if(e.apply(this,arguments)){var B=this.__zoom,K=Be(M.changedTouches?M.changedTouches[0]:M,this),D=B.invert(K),L=B.k*(M.shiftKey?.5:2),z=i(y(N(B,L),K,D),n.apply(this,_),l);Wn(M),r>0?Pe(this).transition().duration(r).call(w,z,K,M):Pe(this).call(f.transform,z,K,M)}}function P(M,..._){if(e.apply(this,arguments)){var B=M.touches,K=B.length,D=A(this,_,M.changedTouches.length===K).event(M),L,z,U,W;for(Vo(M),z=0;z<K;++z)U=B[z],W=Be(U,this),W=[W,this.__zoom.invert(W),U.identifier],D.touch0?!D.touch1&&D.touch0[2]!==W[2]&&(D.touch1=W,D.taps=0):(D.touch0=W,L=!0,D.taps=1+!!m);m&&(m=clearTimeout(m)),L&&(D.taps<2&&(c=W[0],m=setTimeout(function(){m=null},v)),Ei(this),D.start())}}function T(M,..._){if(this.__zooming){var B=A(this,_).event(M),K=M.changedTouches,D=K.length,L,z,U,W;for(Wn(M),L=0;L<D;++L)z=K[L],U=Be(z,this),B.touch0&&B.touch0[2]===z.identifier?B.touch0[0]=U:B.touch1&&B.touch1[2]===z.identifier&&(B.touch1[0]=U);if(z=B.that.__zoom,B.touch1){var Y=B.touch0[0],X=B.touch0[1],ie=B.touch1[0],se=B.touch1[1],Q=(Q=ie[0]-Y[0])*Q+(Q=ie[1]-Y[1])*Q,j=(j=se[0]-X[0])*j+(j=se[1]-X[1])*j;z=N(z,Math.sqrt(Q/j)),U=[(Y[0]+ie[0])/2,(Y[1]+ie[1])/2],W=[(X[0]+se[0])/2,(X[1]+se[1])/2]}else if(B.touch0)U=B.touch0[0],W=B.touch0[1];else return;B.zoom("touch",i(y(z,U,W),B.extent,l))}}function O(M,..._){if(this.__zooming){var B=A(this,_).event(M),K=M.changedTouches,D=K.length,L,z;for(Vo(M),b&&clearTimeout(b),b=setTimeout(function(){b=null},v),L=0;L<D;++L)z=K[L],B.touch0&&B.touch0[2]===z.identifier?delete B.touch0:B.touch1&&B.touch1[2]===z.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(z=Be(z,this),Math.hypot(c[0]-z[0],c[1]-z[1])<g)){var U=Pe(this).on("dblclick.zoom");U&&U.apply(this,arguments)}}}return f.wheelDelta=function(M){return arguments.length?(o=typeof M=="function"?M:Ti(+M),f):o},f.filter=function(M){return arguments.length?(e=typeof M=="function"?M:Ti(!!M),f):e},f.touchable=function(M){return arguments.length?(s=typeof M=="function"?M:Ti(!!M),f):s},f.extent=function(M){return arguments.length?(n=typeof M=="function"?M:Ti([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),f):n},f.scaleExtent=function(M){return arguments.length?(a[0]=+M[0],a[1]=+M[1],f):[a[0],a[1]]},f.translateExtent=function(M){return arguments.length?(l[0][0]=+M[0][0],l[1][0]=+M[1][0],l[0][1]=+M[0][1],l[1][1]=+M[1][1],f):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},f.constrain=function(M){return arguments.length?(i=M,f):i},f.duration=function(M){return arguments.length?(r=+M,f):r},f.interpolate=function(M){return arguments.length?(d=M,f):d},f.on=function(){var M=u.on.apply(u,arguments);return M===u?f:M},f.clickDistance=function(M){return arguments.length?(p=(M=+M)*M,f):Math.sqrt(p)},f.tapDistance=function(M){return arguments.length?(g=+M,f):g},f}const Le={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.`},$n=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Za=["Enter"," ","Escape"],Xa={"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 gn;(function(e){e.Strict="strict",e.Loose="loose"})(gn||(gn={}));var on;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(on||(on={}));var jn;(function(e){e.Partial="partial",e.Full="full"})(jn||(jn={}));const Qa={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var qe;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(qe||(qe={}));var yn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(yn||(yn={}));var oe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(oe||(oe={}));const Ra={[oe.Left]:oe.Right,[oe.Right]:oe.Left,[oe.Top]:oe.Bottom,[oe.Bottom]:oe.Top};function et(e){return e===null?null:e?"valid":"invalid"}const nt=e=>"id"in e&&"source"in e&&"target"in e,Kv=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),Un=(e,n=[0,0])=>{var r;const{width:i,height:o}=je(e),s=(r=e.origin)!=null?r:n,a=i*s[0],l=o*s[1];return{x:e.position.x-a,y:e.position.y-l}},Hv=(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 a=typeof s=="string";let l=!n.nodeLookup&&!a?s:void 0;n.nodeLookup&&(l=a?n.nodeLookup.get(s):zo(s)?s:n.nodeLookup.get(s.id));const r=l?Ii(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Li(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Bi(i)},qn=(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=Li(i,Ii(s)),o=!0)}),o?Bi(i):{x:0,y:0,width:0,height:0}},Wo=(e,n,[i,o,s]=[0,0,1],a=!1,l=!1)=>{var b,v,h,p,g,f;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,m=n.height/s,c=[];for(const N of e.values()){const{measured:y,selectable:S=!0,hidden:w=!1}=N;if(l&&!S||w)continue;const A=(h=(v=(b=y.width)!=null?b:N.width)!=null?v:N.initialWidth)!=null?h:0,C=(f=(g=(p=y.height)!=null?p:N.height)!=null?g:N.initialHeight)!=null?f:0,{x:E,y:k}=N.internals.positionAbsolute,I=tt(r,d,u,m,E,k,A,C),P=A*C,T=a&&I>0;(!N.internals.handleBounds||T||I>=P||N.dragging)&&c.push(N)}return c},Gv=(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 Fv(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 Vv({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:a},l){var m,c,b;if(e.size===0)return!0;const r=Fv(e,l),d=qn(r),u=Uo(d,n,i,(m=l==null?void 0:l.minZoom)!=null?m:s,(c=l==null?void 0:l.maxZoom)!=null?c:a,(b=l==null?void 0:l.padding)!=null?b:.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 it({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:a}){var v,h,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},m=(v=l.origin)!=null?v:o;let c=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)a==null||a("005",Le.error005());else{const g=r.measured.width,f=r.measured.height;g&&f&&(c=[[d,u],[d+g,u+f]])}else r&&an(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const b=an(c)?sn(n,c,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",Le.error015())),{position:{x:b.x-d+((h=l.measured.width)!=null?h:0)*m[0],y:b.y-u+((p=l.measured.height)!=null?p:0)*m[1]},positionAbsolute:b}}async function zv({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const a=new Set(e.map(b=>b.id)),l=[];for(const b of i){if(b.deletable===!1)continue;const v=a.has(b.id),h=!v&&b.parentId&&l.find(p=>p.id===b.parentId);(v||h)&&l.push(b)}const r=new Set(n.map(b=>b.id)),d=o.filter(b=>b.deletable!==!1),m=Gv(l,d);for(const b of d)r.has(b.id)&&!m.find(h=>h.id===b.id)&&m.push(b);if(!s)return{edges:m,nodes:l};const c=await s({nodes:l,edges:m});return typeof c=="boolean"?c?{edges:m,nodes:l}:{edges:[],nodes:[]}:c}const xn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),sn=(e={x:0,y:0},n,i)=>{var o,s;return{x:xn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:xn(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function ot(e,n,i){const{width:o,height:s}=je(i),{x:a,y:l}=i.internals.positionAbsolute;return sn(e,[[a,l],[a+o,l+s]],n)}const st=(e,n,i)=>e<n?xn(Math.abs(e-n),1,n)/n:e>i?-xn(Math.abs(e-i),1,n)/n:0,$o=(e,n,i=15,o=40)=>{const s=st(e.x,o,n.width-o)*i,a=st(e.y,o,n.height-o)*i;return[s,a]},Li=(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)}),jo=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),Bi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),Yn=(e,n=[0,0])=>{var s,a,l,r,d,u,m,c;const{x:i,y:o}=zo(e)?e.internals.positionAbsolute:Un(e,n);return{x:i,y:o,width:(r=(l=(a=(s=e.measured)==null?void 0:s.width)!=null?a:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(c=(m=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?m:e.initialHeight)!=null?c:0}},Ii=(e,n=[0,0])=>{var s,a,l,r,d,u,m,c;const{x:i,y:o}=zo(e)?e.internals.positionAbsolute:Un(e,n);return{x:i,y:o,x2:i+((r=(l=(a=(s=e.measured)==null?void 0:s.width)!=null?a:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((c=(m=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?m:e.initialHeight)!=null?c:0)}},at=(e,n)=>Bi(Li(jo(e),jo(n))),tt=(e,n,i,o,s,a,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,a+r)-Math.max(n,a));return Math.ceil(d*u)},Di=(e,n)=>tt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),lt=e=>_e(e.width)&&_e(e.height)&&_e(e.x)&&_e(e.y),_e=e=>!isNaN(e)&&isFinite(e),rt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},Jn=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),Zn=({x:e,y:n},[i,o,s],a=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return a?Jn(r,l):r},Sn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function wn(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 Wv(e,n,i){var o,s,a,l,r,d,u,m;if(typeof e=="string"||typeof e=="number"){const c=wn(e,i),b=wn(e,n);return{top:c,right:b,bottom:c,left:b,x:b*2,y:c*2}}if(typeof e=="object"){const c=wn((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),b=wn((l=(a=e.bottom)!=null?a:e.y)!=null?l:0,i),v=wn((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),h=wn((m=(u=e.right)!=null?u:e.x)!=null?m:0,n);return{top:c,right:h,bottom:b,left:v,x:v+h,y:c+b}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $v(e,n,i,o,s,a){const{x:l,y:r}=Sn(e,[n,i,o]),{x:d,y:u}=Sn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),m=s-d,c=a-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(m),bottom:Math.floor(c)}}const Uo=(e,n,i,o,s,a)=>{const l=Wv(a,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),m=xn(u,o,s),c=e.x+e.width/2,b=e.y+e.height/2,v=n/2-c*m,h=i/2-b*m,p=$v(e,v,h,m,n,i),g={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:v-g.left+g.right,y:h-g.top+g.bottom,zoom:m}},Xn=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function an(e){return e!=null&&e!=="parent"}function je(e){var n,i,o,s,a,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=(a=e.measured)==null?void 0:a.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function dt(e){var n,i,o,s,a,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(a=(s=e.measured)==null?void 0:s.height)!=null?a:e.height)!=null?l:e.initialHeight)!==void 0}function ut(e,n={width:0,height:0},i,o,s){var r,d;const a={...e},l=o.get(i);if(l){const u=l.origin||s;a.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],a.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return a}function ct(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function jv(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function Uv(e){return{...Xa,...e||{}}}function Qn(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var m,c;const{x:a,y:l}=Oe(e),r=Zn({x:a-((m=s==null?void 0:s.left)!=null?m:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?Jn(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const qo=e=>({width:e.offsetWidth,height:e.offsetHeight}),mt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},qv=["INPUT","SELECT","TEXTAREA"];function bt(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:qv.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const vt=e=>"clientX"in e,Oe=(e,n)=>{var a,l,r,d;const i=vt(e),o=i?e.clientX:(a=e.touches)==null?void 0:a[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)}},ht=(e,n,i,o,s)=>{const a=n.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).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,...qo(l)}})};function ft({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+a*.375+r*.375+o*.125,m=Math.abs(d-e),c=Math.abs(u-n);return[d,u,m,c]}function _i(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function pt({pos:e,x1:n,y1:i,x2:o,y2:s,c:a}){switch(e){case oe.Left:return[n-_i(n-o,a),i];case oe.Right:return[n+_i(o-n,a),i];case oe.Top:return[n,i-_i(i-s,a)];case oe.Bottom:return[n,i+_i(s-i,a)]}}function gt({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:s,targetPosition:a=oe.Top,curvature:l=.25}){const[r,d]=pt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,m]=pt({pos:a,x1:o,y1:s,x2:e,y2:n,c:l}),[c,b,v,h]=ft({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:m});return[`M${e},${n} C${r},${d} ${u},${m} ${o},${s}`,c,b,v,h]}function yt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,a=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[a,r,s,l]}function Yv({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="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 Jv({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const a=Li(Ii(e),Ii(n));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Di(l,Bi(a))>0}const Zv=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,Xv=(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)),Qv=(e,n,i={})=>{var a;if(!e.source||!e.target)return(a=i.onError)==null||a.call(i,"006",Le.error006()),n;const o=i.getEdgeId||Zv;let s;return nt(e)?s={...e}:s={...e,id:o(e)},Xv(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function xt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,a,l,r]=yt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,a,l,r]}const St={[oe.Left]:{x:-1,y:0},[oe.Right]:{x:1,y:0},[oe.Top]:{x:0,y:-1},[oe.Bottom]:{x:0,y:1}},Rv=({source:e,sourcePosition:n=oe.Bottom,target:i})=>n===oe.Left||n===oe.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},wt=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function eh({source:e,sourcePosition:n=oe.Bottom,target:i,targetPosition:o=oe.Top,center:s,offset:a,stepPosition:l}){var E,k,I,P;const r=St[n],d=St[o],u={x:e.x+r.x*a,y:e.y+r.y*a},m={x:i.x+d.x*a,y:i.y+d.y*a},c=Rv({source:u,sourcePosition:n,target:m}),b=c.x!==0?"x":"y",v=c[b];let h=[],p,g;const f={x:0,y:0},N={x:0,y:0},[,,y,S]=yt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[b]*d[b]===-1){b==="x"?(p=(E=s.x)!=null?E:u.x+(m.x-u.x)*l,g=(k=s.y)!=null?k:(u.y+m.y)/2):(p=(I=s.x)!=null?I:(u.x+m.x)/2,g=(P=s.y)!=null?P:u.y+(m.y-u.y)*l);const T=[{x:p,y:u.y},{x:p,y:m.y}],O=[{x:u.x,y:g},{x:m.x,y:g}];r[b]===v?h=b==="x"?T:O:h=b==="x"?O:T}else{const T=[{x:u.x,y:m.y}],O=[{x:m.x,y:u.y}];if(b==="x"?h=r.x===v?O:T:h=r.y===v?T:O,n===o){const D=Math.abs(e[b]-i[b]);if(D<=a){const L=Math.min(a-1,a-D);r[b]===v?f[b]=(u[b]>e[b]?-1:1)*L:N[b]=(m[b]>i[b]?-1:1)*L}}if(n!==o){const D=b==="x"?"y":"x",L=r[b]===d[D],z=u[D]>m[D],U=u[D]<m[D];(r[b]===1&&(!L&&z||L&&U)||r[b]!==1&&(!L&&U||L&&z))&&(h=b==="x"?T:O)}const M={x:u.x+f.x,y:u.y+f.y},_={x:m.x+N.x,y:m.y+N.y},B=Math.max(Math.abs(M.x-h[0].x),Math.abs(_.x-h[0].x)),K=Math.max(Math.abs(M.y-h[0].y),Math.abs(_.y-h[0].y));B>=K?(p=(M.x+_.x)/2,g=h[0].y):(p=h[0].x,g=(M.y+_.y)/2)}const w={x:u.x+f.x,y:u.y+f.y},A={x:m.x+N.x,y:m.y+N.y};return[[e,...w.x!==h[0].x||w.y!==h[0].y?[w]:[],...h,...A.x!==h[h.length-1].x||A.y!==h[h.length-1].y?[A]:[],i],p,g,y,S]}function nh(e,n,i,o){const s=Math.min(wt(e,n)/2,wt(n,i)/2,o),{x:a,y:l}=n;if(e.x===a&&a===i.x||e.y===l&&l===i.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,m=e.y<i.y?1:-1;return`L ${a+s*u},${l}Q ${a},${l} ${a},${l+s*m}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${a},${l+s*d}Q ${a},${l} ${a+s*r},${l}`}function Yo({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:s,targetPosition:a=oe.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:m=.5}){const[c,b,v,h,p]=eh({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:a,center:{x:r,y:d},offset:u,stepPosition:m});let g=`M${c[0].x} ${c[0].y}`;for(let f=1;f<c.length-1;f++)g+=nh(c[f-1],c[f],c[f+1],l);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,b,v,h,p]}function Nt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function ih(e){var c,b,v,h,p;const{sourceNode:n,targetNode:i}=e;if(!Nt(n)||!Nt(i))return null;const o=n.internals.handleBounds||At(n.handles),s=i.internals.handleBounds||At(i.handles),a=Ct((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Ct(e.connectionMode===gn.Strict?(b=s==null?void 0:s.target)!=null?b:[]:((v=s==null?void 0:s.target)!=null?v:[]).concat((h=s==null?void 0:s.source)!=null?h:[]),e.targetHandle);if(!a||!l)return(p=e.onError)==null||p.call(e,"008",Le.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(a==null?void 0:a.position)||oe.Bottom,d=(l==null?void 0:l.position)||oe.Top,u=tn(n,a,r),m=tn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:m.x,targetY:m.y,sourcePosition:r,targetPosition:d}}function At(e){var o,s;if(!e)return null;const n=[],i=[];for(const a of e)a.width=(o=a.width)!=null?o:1,a.height=(s=a.height)!=null?s:1,a.type==="source"?n.push(a):a.type==="target"&&i.push(a);return{source:n,target:i}}function tn(e,n,i=oe.Left,o=!1){var u,m,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,a=((m=n==null?void 0:n.y)!=null?m:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:je(e);if(o)return{x:s+l/2,y:a+r/2};switch((c=n==null?void 0:n.position)!=null?c:i){case oe.Top:return{x:s+l/2,y:a};case oe.Right:return{x:s+l,y:a+r/2};case oe.Bottom:return{x:s+l/2,y:a+r};case oe.Left:return{x:s,y:a+r/2}}}function Ct(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function Jo(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function oh(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const a=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=Jo(d,n);a.has(u)||(l.push({id:u,color:d.color||i,...d}),a.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const kt=1e3,sh=10,Zo={nodeOrigin:[0,0],nodeExtent:$n,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ah={...Zo,checkEquality:!0};function Xo(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function th(e,n,i){const o=Xo(Zo,i);for(const s of e.values())if(s.parentId)es(s,e,n,o);else{const a=Un(s,o.nodeOrigin),l=an(s.extent)?s.extent:o.nodeExtent,r=sn(a,l,je(s));s.internals.positionAbsolute=r}}function lh(e,n){var s,a;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:(a=l.height)!=null?a: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 Qo(e){return e==="manual"}function Ro(e,n,i,o={}){var m,c,b;const s=Xo(ah,o),a={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!Qo(s.zIndexMode)?kt:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const v of e){let h=l.get(v.id);if(s.checkEquality&&v===(h==null?void 0:h.internals.userNode))n.set(v.id,h);else{const p=Un(v,s.nodeOrigin),g=an(v.extent)?v.extent:s.nodeExtent,f=sn(p,g,je(v));h={...s.defaults,...v,measured:{width:(m=v.measured)==null?void 0:m.width,height:(c=v.measured)==null?void 0:c.height},internals:{positionAbsolute:f,handleBounds:lh(v,h),z:Mt(v,r,s.zIndexMode),userNode:v}},n.set(v.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(d=!1),v.parentId&&es(h,n,i,o,a),u||(u=(b=v.selected)!=null?b:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function rh(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 es(e,n,i,o,s){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=Xo(Zo,o),u=e.parentId,m=n.get(u);if(!m){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}rh(e,i),s&&!m.parentId&&m.internals.rootParentIndex===void 0&&d==="auto"&&(m.internals.rootParentIndex=++s.i,m.internals.z=m.internals.z+s.i*sh),s&&m.internals.rootParentIndex!==void 0&&(s.i=m.internals.rootParentIndex);const c=a&&!Qo(d)?kt:0,{x:b,y:v,z:h}=dh(e,m,l,r,c,d),{positionAbsolute:p}=e.internals,g=b!==p.x||v!==p.y;(g||h!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:b,y:v}:p,z:h}})}function Mt(e,n,i){const o=_e(e.zIndex)?e.zIndex:0;return Qo(i)?o:o+(e.selected?n:0)}function dh(e,n,i,o,s,a){var h;const{x:l,y:r}=n.internals.positionAbsolute,d=je(e),u=Un(e,i),m=an(e.extent)?sn(u,e.extent,d):u;let c=sn({x:l+m.x,y:r+m.y},o,d);e.extent==="parent"&&(c=ot(c,d,n));const b=Mt(e,s,a),v=(h=n.internals.z)!=null?h:0;return{x:c.x,y:c.y,z:v>=b?v+1:b}}function ns(e,n,i,o=[0,0]){var l,r;const s=[],a=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const m=(r=(l=a.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:Yn(u),c=at(m,d.rect);a.set(d.parentId,{expandedRect:c,parent:u})}return a.size>0&&a.forEach(({expandedRect:d,parent:u},m)=>{var S,w;const c=u.internals.positionAbsolute,b=je(u),v=(S=u.origin)!=null?S:o,h=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,g=Math.max(b.width,Math.round(d.width)),f=Math.max(b.height,Math.round(d.height)),N=(g-b.width)*v[0],y=(f-b.height)*v[1];(h>0||p>0||N||y)&&(s.push({id:m,type:"position",position:{x:u.position.x-h+N,y:u.position.y-p+y}}),(w=i.get(m))==null||w.forEach(A=>{e.some(C=>C.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+h,y:A.position.y+p}})})),(b.width<d.width||b.height<d.height||h||p)&&s.push({id:m,type:"dimensions",setAttributes:!0,dimensions:{width:g+(h?v[0]*h-N:0),height:f+(p?v[1]*p-y:0)}})}),s}function uh(e,n,i,o,s,a,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],m=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(m.transform),b=[];for(const v of e.values()){const h=n.get(v.id);if(!h)continue;if(h.hidden){n.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),d=!0;continue}const p=qo(v.nodeElement),g=h.measured.width!==p.width||h.measured.height!==p.height;if(!!(p.width&&p.height&&(g||!h.internals.handleBounds||v.force))){const N=v.nodeElement.getBoundingClientRect(),y=an(h.extent)?h.extent:a;let{positionAbsolute:S}=h.internals;h.parentId&&h.extent==="parent"?S=ot(S,p,n.get(h.parentId)):y&&(S=sn(S,y,p));const w={...h,measured:p,internals:{...h.internals,positionAbsolute:S,handleBounds:{source:ht("source",v.nodeElement,N,c,h.id),target:ht("target",v.nodeElement,N,c,h.id)}}};n.set(h.id,w),h.parentId&&es(w,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,g&&(u.push({id:h.id,type:"dimensions",dimensions:p}),h.expandParent&&h.parentId&&b.push({id:h.id,parentId:h.parentId,rect:Yn(w,s)}))}}if(b.length>0){const v=ns(b,n,i,s);u.push(...v)}return{changes:u,updatedInternals:d}}async function ch({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:a}){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,a]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Et(e,n,i,o,s,a){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)),a){l=`${s}-${e}-${a}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Tt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:a,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:a,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${a}-${r}`,m=`${a}-${r}--${s}-${l}`;Et("source",d,m,e,s,l),Et("target",d,u,e,a,r),n.set(o.id,o)}}function Pt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Pt(i,n):!1}function Lt(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 mh(e,n,i,o){var a,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Pt(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:(a=u.measured.width)!=null?a:0,height:(l=u.measured.height)!=null?l:0}})}return s}function is({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,m]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:m.position,dragging:o})}if(!e)return[s[0],s];const a=(r=i.get(e))==null?void 0:r.internals.userNode;return[a?{...a,position:((d=n.get(e))==null?void 0:d.position)||a.position,dragging:o}:s[0],s]}function bh({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const a={x:i-s.distance.x,y:o-s.distance.y},l=Jn(a,n);return{x:l.x-a.x,y:l.y-a.y}}function vh({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let a={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},m=null,c=!1,b=null,v=!1,h=!1,p=null;function g({noDragClassName:N,handleSelector:y,domNode:S,isSelectable:w,nodeId:A,nodeClickDistance:C=0}){b=Pe(S);function E({x:T,y:O}){const{nodeLookup:M,nodeExtent:_,snapGrid:B,snapToGrid:K,nodeOrigin:D,onNodeDrag:L,onSelectionDrag:z,onError:U,updateNodePositions:W}=n();a={x:T,y:O};let Y=!1;const X=r.size>1,ie=X&&_?jo(qn(r)):null,se=X&&K?bh({dragItems:r,snapGrid:B,x:T,y:O}):null;for(const[Q,j]of r){if(!M.has(Q))continue;let V={x:T-j.distance.x,y:O-j.distance.y};K&&(V=se?{x:Math.round(V.x+se.x),y:Math.round(V.y+se.y)}:Jn(V,B));let G=null;if(X&&_&&!j.extent&&ie){const{positionAbsolute:F}=j.internals,q=F.x-ie.x+_[0][0],R=F.x+j.measured.width-ie.x2+_[1][0],Z=F.y-ie.y+_[0][1],J=F.y+j.measured.height-ie.y2+_[1][1];G=[[q,Z],[R,J]]}const{position:H,positionAbsolute:$}=it({nodeId:Q,nextPosition:V,nodeLookup:M,nodeExtent:G||_,nodeOrigin:D,onError:U});Y=Y||j.position.x!==H.x||j.position.y!==H.y,j.position=H,j.internals.positionAbsolute=$}if(h=h||Y,!!Y&&(W(r,!0),p&&(o||L||!A&&z))){const[Q,j]=is({nodeId:A,dragItems:r,nodeLookup:M});o==null||o(p,r,Q,j),L==null||L(p,Q,j),A||z==null||z(p,j)}}async function k(){var D,L;if(!m)return;const{transform:T,panBy:O,autoPanSpeed:M,autoPanOnNodeDrag:_}=n();if(!_){d=!1,cancelAnimationFrame(l);return}const[B,K]=$o(u,m,M);(B!==0||K!==0)&&(a.x=((D=a.x)!=null?D:0)-B/T[2],a.y=((L=a.y)!=null?L:0)-K/T[2],await O({x:B,y:K})&&E(a)),l=requestAnimationFrame(k)}function I(T){var X;const{nodeLookup:O,multiSelectionActive:M,nodesDraggable:_,transform:B,snapGrid:K,snapToGrid:D,selectNodesOnDrag:L,onNodeDragStart:z,onSelectionDragStart:U,unselectNodesAndEdges:W}=n();c=!0,(!L||!w)&&!M&&A&&((X=O.get(A))!=null&&X.selected||W()),w&&L&&A&&(e==null||e(A));const Y=Qn(T.sourceEvent,{transform:B,snapGrid:K,snapToGrid:D,containerBounds:m});if(a=Y,r=mh(O,_,Y,A),r.size>0&&(i||z||!A&&U)){const[ie,se]=is({nodeId:A,dragItems:r,nodeLookup:O});i==null||i(T.sourceEvent,r,ie,se),z==null||z(T.sourceEvent,ie,se),A||U==null||U(T.sourceEvent,se)}}const P=ya().clickDistance(C).on("start",T=>{const{domNode:O,nodeDragThreshold:M,transform:_,snapGrid:B,snapToGrid:K}=n();m=(O==null?void 0:O.getBoundingClientRect())||null,v=!1,h=!1,p=T.sourceEvent,M===0&&I(T),a=Qn(T.sourceEvent,{transform:_,snapGrid:B,snapToGrid:K,containerBounds:m}),u=Oe(T.sourceEvent,m)}).on("drag",T=>{const{autoPanOnNodeDrag:O,transform:M,snapGrid:_,snapToGrid:B,nodeDragThreshold:K,nodeLookup:D}=n(),L=Qn(T.sourceEvent,{transform:M,snapGrid:_,snapToGrid:B,containerBounds:m});if(p=T.sourceEvent,(T.sourceEvent.type==="touchmove"&&T.sourceEvent.touches.length>1||A&&!D.has(A))&&(v=!0),!v){if(!d&&O&&c&&(d=!0,k()),!c){const z=Oe(T.sourceEvent,m),U=z.x-u.x,W=z.y-u.y;Math.sqrt(U*U+W*W)>K&&I(T)}(a.x!==L.xSnapped||a.y!==L.ySnapped)&&r&&c&&(u=Oe(T.sourceEvent,m),E(L))}}).on("end",T=>{if(!c||v){v&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:O,updateNodePositions:M,onNodeDragStop:_,onSelectionDragStop:B}=n();if(h&&(M(r,!1),h=!1),s||_||!A&&B){const[K,D]=is({nodeId:A,dragItems:r,nodeLookup:O,dragging:!1});s==null||s(T.sourceEvent,r,K,D),_==null||_(T.sourceEvent,K,D),A||B==null||B(T.sourceEvent,D)}}}).filter(T=>{const O=T.target;return!T.button&&(!N||!Lt(O,`.${N}`,S))&&(!y||Lt(O,y,S))});b.call(P)}function f(){b==null||b.on(".drag",null)}return{update:g,destroy:f}}function hh(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const a of n.values())Di(s,Yn(a))>0&&o.push(a);return o}const fh=250;function ph(e,n,i,o){var r,d,u,m,c;let s=[],a=1/0;const l=hh(e,i,n+fh);for(const b of l){const v=[...(d=(r=b.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(m=(u=b.internals.handleBounds)==null?void 0:u.target)!=null?m:[]];for(const h of v){if(o.nodeId===h.nodeId&&o.type===h.type&&o.id===h.id)continue;const{x:p,y:g}=tn(b,h,h.position,!0),f=Math.sqrt(Math.pow(p-e.x,2)+Math.pow(g-e.y,2));f>n||(f<a?(s=[{...h,x:p,y:g}],a=f):f===a&&s.push({...h,x:p,y:g}))}}if(!s.length)return null;if(s.length>1){const b=o.type==="source"?"target":"source";return(c=s.find(v=>v.type===b))!=null?c:s[0]}return s[0]}function Bt(e,n,i,o,s,a=!1){var u,m,c,b,v,h;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(c=(m=l.internals.handleBounds)==null?void 0:m.source)!=null?c:[],...(v=(b=l.internals.handleBounds)==null?void 0:b.target)!=null?v:[]],d=(h=i?r==null?void 0:r.find(p=>p.id===i):r==null?void 0:r[0])!=null?h:null;return d&&a?{...d,...tn(l,d,d.position,!0)}:d}function It(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function gh(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Dt=()=>!0;function yh(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:a,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:m,flowId:c,panBy:b,cancelConnection:v,onConnectStart:h,onConnect:p,onConnectEnd:g,isValidConnection:f=Dt,onReconnectEnd:N,updateConnection:y,getTransform:S,getFromHandle:w,autoPanSpeed:A,dragThreshold:C=1,handleDomNode:E}){const k=mt(e.target);let I=0,P;const{x:T,y:O}=Oe(e),M=It(a,E),_=r==null?void 0:r.getBoundingClientRect();let B=!1;if(!_||!M)return;const K=Bt(s,M,o,d,n);if(!K)return;let D=Oe(e,_),L=!1,z=null,U=!1,W=null;function Y(){if(!m||!_)return;const[H,$]=$o(D,_,A);b({x:H,y:$}),I=requestAnimationFrame(Y)}const X={...K,nodeId:s,type:M,position:K.position},ie=d.get(s);let Q={inProgress:!0,isValid:null,from:tn(ie,X,oe.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:ie,to:D,toHandle:null,toPosition:Ra[X.position],toNode:null,pointer:D};function j(){B=!0,y(Q),h==null||h(e,{nodeId:s,handleId:o,handleType:M})}C===0&&j();function V(H){if(!B){const{x:J,y:ee}=Oe(H),ae=J-T,ue=ee-O;if(!(ae*ae+ue*ue>C*C))return;j()}if(!w()||!X){G(H);return}const $=S();D=Oe(H,_),P=ph(Zn(D,$,!1,[1,1]),i,d,X),L||(Y(),L=!0);const F=_t(H,{handle:P,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:f,doc:k,lib:u,flowId:c,nodeLookup:d});W=F.handleDomNode,z=F.connection,U=gh(!!P,F.isValid);const q=d.get(s),R=q?tn(q,X,oe.Left,!0):Q.from,Z={...Q,from:R,isValid:U,to:F.toHandle&&U?Sn({x:F.toHandle.x,y:F.toHandle.y},$):D,toHandle:F.toHandle,toPosition:U&&F.toHandle?F.toHandle.position:Ra[X.position],toNode:F.toHandle?d.get(F.toHandle.nodeId):null,pointer:D};y(Z),Q=Z}function G(H){if(!("touches"in H&&H.touches.length>0)){if(B){(P||W)&&z&&U&&(p==null||p(z));const{inProgress:$,...F}=Q,q={...F,toPosition:Q.toHandle?Q.toPosition:null};g==null||g(H,q),a&&(N==null||N(H,q))}v(),cancelAnimationFrame(I),L=!1,U=!1,z=null,W=null,k.removeEventListener("mousemove",V),k.removeEventListener("mouseup",G),k.removeEventListener("touchmove",V),k.removeEventListener("touchend",G)}}k.addEventListener("mousemove",V),k.addEventListener("mouseup",G),k.addEventListener("touchmove",V),k.addEventListener("touchend",G)}function _t(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:a,doc:l,lib:r,flowId:d,isValidConnection:u=Dt,nodeLookup:m}){const c=a==="target",b=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:v,y:h}=Oe(e),p=l.elementFromPoint(v,h),g=p!=null&&p.classList.contains(`${r}-flow__handle`)?p:b,f={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){const N=It(void 0,g),y=g.getAttribute("data-nodeid"),S=g.getAttribute("data-handleid"),w=g.classList.contains("connectable"),A=g.classList.contains("connectableend");if(!y||!N)return f;const C={source:c?y:o,sourceHandle:c?S:s,target:c?o:y,targetHandle:c?s:S};f.connection=C;const k=w&&A&&(i===gn.Strict?c&&N==="source"||!c&&N==="target":y!==o||S!==s);f.isValid=k&&u(C),f.toHandle=Bt(y,N,S,m,i,!0)}return f}const os={onPointerDown:yh,isValid:_t};function xh({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Pe(e);function a({translateExtent:r,width:d,height:u,zoomStep:m=1,pannable:c=!0,zoomable:b=!0,inversePan:v=!1}){const h=y=>{if(y.sourceEvent.type!=="wheel"||!n)return;const S=i(),w=y.sourceEvent.ctrlKey&&Xn()?10:1,A=-y.sourceEvent.deltaY*(y.sourceEvent.deltaMode===1?.05:y.sourceEvent.deltaMode?1:.002)*m,C=S[2]*Math.pow(2,A*w);n.scaleTo(C)};let p=[0,0];const g=y=>{var S,w;(y.sourceEvent.type==="mousedown"||y.sourceEvent.type==="touchstart")&&(p=[(S=y.sourceEvent.clientX)!=null?S:y.sourceEvent.touches[0].clientX,(w=y.sourceEvent.clientY)!=null?w:y.sourceEvent.touches[0].clientY])},f=y=>{var I,P;const S=i();if(y.sourceEvent.type!=="mousemove"&&y.sourceEvent.type!=="touchmove"||!n)return;const w=[(I=y.sourceEvent.clientX)!=null?I:y.sourceEvent.touches[0].clientX,(P=y.sourceEvent.clientY)!=null?P:y.sourceEvent.touches[0].clientY],A=[w[0]-p[0],w[1]-p[1]];p=w;const C=o()*Math.max(S[2],Math.log(S[2]))*(v?-1:1),E={x:S[0]-A[0]*C,y:S[1]-A[1]*C},k=[[0,0],[d,u]];n.setViewportConstrained({x:E.x,y:E.y,zoom:S[2]},k,r)},N=Ja().on("start",g).on("zoom",c?f:null).on("zoom.wheel",b?h:null);s.call(N,{})}function l(){s.on("zoom",null)}return{update:a,destroy:l,pointer:Be}}const Oi=e=>({x:e.x,y:e.y,zoom:e.k}),ss=({x:e,y:n,zoom:i})=>Pi.translate(e,n).scale(i),Nn=(e,n)=>e.target.closest(`.${n}`),Ot=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Sh=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,as=(e,n=0,i=Sh,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Kt=e=>{const n=e.ctrlKey&&Xn()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function wh({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return m=>{if(Nn(m,n))return m.ctrlKey&&m.preventDefault(),!1;m.preventDefault(),m.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(m.ctrlKey&&l){const g=Be(m),f=Kt(m),N=c*Math.pow(2,f);o.scaleTo(i,N,g,m);return}const b=m.deltaMode===1?20:1;let v=s===on.Vertical?0:m.deltaX*b,h=s===on.Horizontal?0:m.deltaY*b;!Xn()&&m.shiftKey&&s!==on.Vertical&&(v=m.deltaY*b,h=0),o.translateBy(i,-(v/c)*a,-(h/c)*a,{internal:!0});const p=Oi(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(m,p),e.panScrollTimeout=setTimeout(()=>{u==null||u(m,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(m,p))}}function Nh({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const a=o.type==="wheel",l=!n&&a&&!o.ctrlKey,r=Nn(o,e);if(o.ctrlKey&&a&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Ah({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var a,l,r;if((a=o.sourceEvent)!=null&&a.internal)return;const s=Oi(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 Ch({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return a=>{var l,r,d;e.usedRightMouseButton=!!(i&&Ot(n,(l=e.mouseButton)!=null?l:0)),(r=a.sourceEvent)!=null&&r.sync||o([a.transform.x,a.transform.y,a.transform.k]),s&&!((d=a.sourceEvent)!=null&&d.internal)&&(s==null||s(a.sourceEvent,Oi(a.transform)))}}function kh({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:a}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,a&&Ot(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Oi(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Mh({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:m}){return c=>{var g;const b=e||n,v=i&&c.ctrlKey,h=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Nn(c,`${u}-flow__node`)||Nn(c,`${u}-flow__edge`)))return!0;if(!o&&!b&&!s&&!a&&!i||l||m&&!h||Nn(c,r)&&h||Nn(c,d)&&(!h||s&&h&&!e)||!i&&c.ctrlKey&&h)return!1;if(!i&&c.type==="touchstart"&&((g=c.touches)==null?void 0:g.length)>1)return c.preventDefault(),!1;if(!b&&!s&&!v&&h||!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||h)&&p}}function Eh({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},m=e.getBoundingClientRect(),c=Ja().scaleExtent([n,i]).translateExtent(o),b=Pe(e).call(c);N({x:s.x,y:s.y,zoom:xn(s.zoom,n,i)},[[0,0],[m.width,m.height]],o);const v=b.on("wheel.zoom"),h=b.on("dblclick.zoom");c.wheelDelta(Kt);async function p(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).transform(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}function g({noWheelClassName:P,noPanClassName:T,onPaneContextMenu:O,userSelectionActive:M,panOnScroll:_,panOnDrag:B,panOnScrollMode:K,panOnScrollSpeed:D,preventScrolling:L,zoomOnPinch:z,zoomOnScroll:U,zoomOnDoubleClick:W,zoomActivationKeyPressed:Y,lib:X,onTransformChange:ie,connectionInProgress:se,paneClickDistance:Q,selectionOnDrag:j}){M&&!u.isZoomingOrPanning&&f();const V=_&&!Y&&!M;c.clickDistance(j?1/0:!_e(Q)||Q<0?0:Q);const G=V?wh({zoomPanValues:u,noWheelClassName:P,d3Selection:b,d3Zoom:c,panOnScrollMode:K,panOnScrollSpeed:D,zoomOnPinch:z,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:r}):Nh({noWheelClassName:P,preventScrolling:L,d3ZoomHandler:v});b.on("wheel.zoom",G,{passive:!1});const H=Ah({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",H);const $=Ch({zoomPanValues:u,panOnDrag:B,onPaneContextMenu:!!O,onPanZoom:a,onTransformChange:ie});c.on("zoom",$);const F=kh({zoomPanValues:u,panOnDrag:B,panOnScroll:_,onPaneContextMenu:O,onPanZoomEnd:r,onDraggingChange:d});c.on("end",F);const q=Mh({zoomActivationKeyPressed:Y,panOnDrag:B,zoomOnScroll:U,panOnScroll:_,zoomOnDoubleClick:W,zoomOnPinch:z,userSelectionActive:M,noPanClassName:T,noWheelClassName:P,lib:X,connectionInProgress:se});c.filter(q),W?b.on("dblclick.zoom",h):b.on("dblclick.zoom",null)}function f(){c.on("zoom",null)}async function N(P,T,O){const M=ss(P),_=c==null?void 0:c.constrain()(M,T,O);return _&&await p(_),_}async function y(P,T){const O=ss(P);return await p(O,T),O}function S(P){if(b){const T=ss(P),O=b.property("__zoom");(O.k!==P.zoom||O.x!==P.x||O.y!==P.y)&&(c==null||c.transform(b,T,null,{sync:!0}))}}function w(){const P=b?qa(b.node()):{x:0,y:0,k:1};return{x:P.x,y:P.y,zoom:P.k}}async function A(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).scaleTo(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}async function C(P,T){return b?new Promise(O=>{c==null||c.interpolate((T==null?void 0:T.interpolate)==="linear"?Hn:xi).scaleBy(as(b,T==null?void 0:T.duration,T==null?void 0:T.ease,()=>O(!0)),P)}):!1}function E(P){c==null||c.scaleExtent(P)}function k(P){c==null||c.translateExtent(P)}function I(P){const T=!_e(P)||P<0?0:P;c==null||c.clickDistance(T)}return{update:g,destroy:f,setViewport:y,setViewportConstrained:N,getViewport:w,scaleTo:A,scaleBy:C,setScaleExtent:E,setTranslateExtent:k,syncViewport:S,setClickDistance:I}}var An;(function(e){e.Line="line",e.Handle="handle"})(An||(An={}));function Th({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:a}){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&&a&&(d[1]=d[1]*-1),d}function Ht(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 Ye(e,n){return Math.max(0,n-e)}function Je(e,n){return Math.max(0,e-n)}function Ki(e,n,i){return Math.max(0,n-e,e-i)}function Gt(e,n){return e?!n:n}function Ph(e,n,i,o,s,a,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:m,isVertical:c}=n,b=m&&c,{xSnapped:v,ySnapped:h}=i,{minWidth:p,maxWidth:g,minHeight:f,maxHeight:N}=o,{x:y,y:S,width:w,height:A,aspectRatio:C}=e;let E=Math.floor(m?v-e.pointerX:0),k=Math.floor(c?h-e.pointerY:0);const I=w+(d?-E:E),P=A+(u?-k:k),T=-a[0]*w,O=-a[1]*A;let M=Ki(I,p,g),_=Ki(P,f,N);if(l){let D=0,L=0;d&&E<0?D=Ye(y+E+T,l[0][0]):!d&&E>0&&(D=Je(y+I+T,l[1][0])),u&&k<0?L=Ye(S+k+O,l[0][1]):!u&&k>0&&(L=Je(S+P+O,l[1][1])),M=Math.max(M,D),_=Math.max(_,L)}if(r){let D=0,L=0;d&&E>0?D=Je(y+E,r[0][0]):!d&&E<0&&(D=Ye(y+I,r[1][0])),u&&k>0?L=Je(S+k,r[0][1]):!u&&k<0&&(L=Ye(S+P,r[1][1])),M=Math.max(M,D),_=Math.max(_,L)}if(s){if(m){const D=Ki(I/C,f,N)*C;if(M=Math.max(M,D),l){let L=0;!d&&!u||d&&!u&&b?L=Je(S+O+I/C,l[1][1])*C:L=Ye(S+O+(d?E:-E)/C,l[0][1])*C,M=Math.max(M,L)}if(r){let L=0;!d&&!u||d&&!u&&b?L=Ye(S+I/C,r[1][1])*C:L=Je(S+(d?E:-E)/C,r[0][1])*C,M=Math.max(M,L)}}if(c){const D=Ki(P*C,p,g)/C;if(_=Math.max(_,D),l){let L=0;!d&&!u||u&&!d&&b?L=Je(y+P*C+T,l[1][0])/C:L=Ye(y+(u?k:-k)*C+T,l[0][0])/C,_=Math.max(_,L)}if(r){let L=0;!d&&!u||u&&!d&&b?L=Ye(y+P*C,r[1][0])/C:L=Je(y+(u?k:-k)*C,r[0][0])/C,_=Math.max(_,L)}}}k=k+(k<0?_:-_),E=E+(E<0?M:-M),s&&(b?I>P*C?k=(Gt(d,u)?-E:E)/C:E=(Gt(d,u)?-k:k)*C:m?(k=E/C,u=d):(E=k*C,d=u));const B=d?y+E:y,K=u?S+k:S;return{width:w+(d?-E:E),height:A+(u?-k:k),x:a[0]*E*(d?-1:1)+B,y:a[1]*k*(u?-1:1)+K}}const Ft={width:0,height:0,x:0,y:0},Lh={...Ft,pointerX:0,pointerY:0,aspectRatio:1};function Bh(e,n,i){var u,m;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,a=(u=e.measured.width)!=null?u:0,l=(m=e.measured.height)!=null?m:0,r=i[0]*a,d=i[1]*l;return[[o-r,s-d],[o+a-r,s+l-d]]}function Ih({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const a=Pe(e);let l={controlDirection:Ht("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:m,keepAspectRatio:c,resizeDirection:b,onResizeStart:v,onResize:h,onResizeEnd:p,shouldResize:g}){let f={...Ft},N={...Lh};l={boundaries:m,resizeDirection:b,keepAspectRatio:c,controlDirection:Ht(u)};let y,S=null,w=[],A,C,E,k=!1;const I=ya().on("start",P=>{var z,U,W,Y,X,ie;const{nodeLookup:T,transform:O,snapGrid:M,snapToGrid:_,nodeOrigin:B,paneDomNode:K}=i();if(y=T.get(n),!y)return;S=(z=K==null?void 0:K.getBoundingClientRect())!=null?z:null;const{xSnapped:D,ySnapped:L}=Qn(P.sourceEvent,{transform:O,snapGrid:M,snapToGrid:_,containerBounds:S});f={width:(U=y.measured.width)!=null?U:0,height:(W=y.measured.height)!=null?W:0,x:(Y=y.position.x)!=null?Y:0,y:(X=y.position.y)!=null?X:0},N={...f,pointerX:D,pointerY:L,aspectRatio:f.width/f.height},A=void 0,C=an(y.extent)?y.extent:void 0,y.parentId&&(y.extent==="parent"||y.expandParent)&&(A=T.get(y.parentId)),A&&y.extent==="parent"&&(C=[[0,0],[A.measured.width,A.measured.height]]),w=[],E=void 0;for(const[se,Q]of T)if(Q.parentId===n&&(w.push({id:se,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const j=Bh(Q,y,(ie=Q.origin)!=null?ie:B);E?E=[[Math.min(j[0][0],E[0][0]),Math.min(j[0][1],E[0][1])],[Math.max(j[1][0],E[1][0]),Math.max(j[1][1],E[1][1])]]:E=j}v==null||v(P,{...f})}).on("drag",P=>{var R,Z,J;const{transform:T,snapGrid:O,snapToGrid:M,nodeOrigin:_}=i(),B=Qn(P.sourceEvent,{transform:T,snapGrid:O,snapToGrid:M,containerBounds:S}),K=[];if(!y)return;const{x:D,y:L,width:z,height:U}=f,W={},Y=(R=y.origin)!=null?R:_,{width:X,height:ie,x:se,y:Q}=Ph(N,l.controlDirection,B,l.boundaries,l.keepAspectRatio,Y,C,E),j=X!==z,V=ie!==U,G=se!==D&&j,H=Q!==L&&V;if(!G&&!H&&!j&&!V)return;if((G||H||Y[0]===1||Y[1]===1)&&(W.x=G?se:f.x,W.y=H?Q:f.y,f.x=W.x,f.y=W.y,w.length>0)){const ee=se-D,ae=Q-L;for(const ue of w)ue.position={x:ue.position.x-ee+Y[0]*(X-z),y:ue.position.y-ae+Y[1]*(ie-U)},K.push(ue)}if((j||V)&&(W.width=j&&(!l.resizeDirection||l.resizeDirection==="horizontal")?X:f.width,W.height=V&&(!l.resizeDirection||l.resizeDirection==="vertical")?ie:f.height,f.width=W.width,f.height=W.height),A&&y.expandParent){const ee=Y[0]*((Z=W.width)!=null?Z:0);W.x&&W.x<ee&&(f.x=ee,N.x=N.x-(W.x-ee));const ae=Y[1]*((J=W.height)!=null?J:0);W.y&&W.y<ae&&(f.y=ae,N.y=N.y-(W.y-ae))}const $=Th({width:f.width,prevWidth:z,height:f.height,prevHeight:U,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),F={...f,direction:$};(g==null?void 0:g(P,F))!==!1&&(k=!0,h==null||h(P,F),o(W,K))}).on("end",P=>{k&&(p==null||p(P,{...f}),s==null||s({...f}),k=!1)});a.call(I)}function d(){a.on(".drag",null)}return{update:r,destroy:d}}function Dh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hi={exports:{}},ts={},Gi={exports:{}},ls={};/**
|
|
31
31
|
* @license React
|
|
32
32
|
* use-sync-external-store-shim.production.js
|
|
33
33
|
*
|
|
@@ -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 jt;function Kh(){if(jt)return ts;jt=1;var e=x,n=$t();function i(u,m){return u===m&&(u!==0||1/u===1/m)||u!==u&&m!==m}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,a=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return ts.useSyncExternalStoreWithSelector=function(u,m,c,b,v){var h=a(null);if(h.current===null){var p={hasValue:!1,value:null};h.current=p}else p=h.current;h=r(function(){function f(A){if(!N){if(N=!0,y=A,A=b(A),v!==void 0&&p.hasValue){var C=p.value;if(v(C,A))return S=C}return S=A}if(C=S,o(y,A))return C;var
|
|
54
|
+
*/var jt;function Kh(){if(jt)return ts;jt=1;var e=x,n=$t();function i(u,m){return u===m&&(u!==0||1/u===1/m)||u!==u&&m!==m}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,a=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return ts.useSyncExternalStoreWithSelector=function(u,m,c,b,v){var h=a(null);if(h.current===null){var p={hasValue:!1,value:null};h.current=p}else p=h.current;h=r(function(){function f(A){if(!N){if(N=!0,y=A,A=b(A),v!==void 0&&p.hasValue){var C=p.value;if(v(C,A))return S=C}return S=A}if(C=S,o(y,A))return C;var E=b(A);return v!==void 0&&v(C,E)?(y=A,C):(y=A,S=E)}var N=!1,y,S,w=c===void 0?null:c;return[function(){return f(m())},w===null?void 0:function(){return f(w())}]},[m,c,b,v]);var g=s(u,h[0],h[1]);return l(function(){p.hasValue=!0,p.value=g},[g]),d(g),g},ts}var ds={};/**
|
|
55
55
|
* @license React
|
|
56
56
|
* use-sync-external-store-shim/with-selector.development.js
|
|
57
57
|
*
|
|
@@ -59,10 +59,10 @@
|
|
|
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 Ut;function Hh(){return Ut||(Ut=1,process.env.NODE_ENV!=="production"&&function(){function e(u,m){return u===m&&(u!==0||1/u===1/m)||u!==u&&m!==m}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=x,i=$t(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,a=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ds.useSyncExternalStoreWithSelector=function(u,m,c,b,v){var h=a(null);if(h.current===null){var p={hasValue:!1,value:null};h.current=p}else p=h.current;h=r(function(){function f(A){if(!N){if(N=!0,y=A,A=b(A),v!==void 0&&p.hasValue){var C=p.value;if(v(C,A))return S=C}return S=A}if(C=S,o(y,A))return C;var
|
|
62
|
+
*/var Ut;function Hh(){return Ut||(Ut=1,process.env.NODE_ENV!=="production"&&function(){function e(u,m){return u===m&&(u!==0||1/u===1/m)||u!==u&&m!==m}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=x,i=$t(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,a=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ds.useSyncExternalStoreWithSelector=function(u,m,c,b,v){var h=a(null);if(h.current===null){var p={hasValue:!1,value:null};h.current=p}else p=h.current;h=r(function(){function f(A){if(!N){if(N=!0,y=A,A=b(A),v!==void 0&&p.hasValue){var C=p.value;if(v(C,A))return S=C}return S=A}if(C=S,o(y,A))return C;var E=b(A);return v!==void 0&&v(C,E)?(y=A,C):(y=A,S=E)}var N=!1,y,S,w=c===void 0?null:c;return[function(){return f(m())},w===null?void 0:function(){return f(w())}]},[m,c,b,v]);var g=s(u,h[0],h[1]);return l(function(){p.hasValue=!0,p.value=g},[g]),d(g),g},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ds}var qt;function Gh(){return qt||(qt=1,process.env.NODE_ENV==="production"?Hi.exports=Kh():Hi.exports=Hh()),Hi.exports}var Fh=Gh();const Vh=Dh(Fh),zh={},Yt=e=>{let n;const i=new Set,o=(m,c)=>{const b=typeof m=="function"?m(n):m;if(!Object.is(b,n)){const v=n;n=(c!=null?c:typeof b!="object"||b===null)?b:Object.assign({},n,b),i.forEach(h=>h(n,v))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:m=>(i.add(m),()=>i.delete(m)),destroy:()=>{(zh?"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},Wh=e=>e?Yt(e):Yt,{useDebugValue:$h}=x,{useSyncExternalStoreWithSelector:jh}=Vh,Uh=e=>e;function Jt(e,n=Uh,i){const o=jh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return $h(o),o}const Zt=(e,n)=>{const i=Wh(e),o=(s,a=n)=>Jt(i,s,a);return Object.assign(o,i),o},qh=(e,n)=>e?Zt(e,n):Zt;function he(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 Fi=x.createContext(null),Yh=Fi.Provider,Xt=Le.error001("react");function ce(e,n){const i=x.useContext(Fi);if(i===null)throw new Error(Xt);return Jt(i,e,n)}function fe(){const e=x.useContext(Fi);if(e===null)throw new Error(Xt);return x.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Qt={display:"none"},Jh={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Rt="react-flow__node-desc",el="react-flow__edge-desc",Zh="react-flow__aria-live",Xh=e=>e.ariaLiveMessage,Qh=e=>e.ariaLabelConfig;function Rh({rfId:e}){const n=ce(Xh);return t.jsx("div",{id:`${Zh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Jh,children:n})}function ef({rfId:e,disableKeyboardA11y:n}){const i=ce(Qh);return t.jsxs(t.Fragment,{children:[t.jsx("div",{id:`${Rt}-${e}`,style:Qt,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),t.jsx("div",{id:`${el}-${e}`,style:Qt,children:i["edge.a11yDescription.default"]}),!n&&t.jsx(Rh,{rfId:e})]})}const Vi=x.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},a)=>{const l=`${e}`.split("-");return t.jsx("div",{className:Se(["react-flow__panel",i,...l]),style:o,ref:a,...s,children:n})});Vi.displayName="Panel";const nl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function nf({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:t.jsx(Vi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${nl}`,children:t.jsx("a",{href:nl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const of=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}},zi=e=>e.id;function sf(e,n){return he(e.selectedNodes.map(zi),n.selectedNodes.map(zi))&&he(e.selectedEdges.map(zi),n.selectedEdges.map(zi))}function af({onSelectionChange:e}){const n=fe(),{selectedNodes:i,selectedEdges:o}=ce(of,sf);return x.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[i,o,e]),null}const tf=e=>!!e.onSelectionChangeHandlers;function lf({onSelectionChange:e}){const n=ce(tf);return e||n?t.jsx(af,{onSelectionChange:e}):null}const il=[0,0],rf={x:0,y:0,zoom:1},ol=[...["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"],df=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}),sl={translateExtent:$n,nodeOrigin:il,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function uf(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=ce(df,he),u=fe();x.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{m.current=sl,r()}),[]);const m=x.useRef(sl);return x.useEffect(()=>{for(const c of ol){const b=e[c],v=m.current[c];b!==v&&typeof e[c]!="undefined"&&(c==="nodes"?n(b):c==="edges"?i(b):c==="minZoom"?o(b):c==="maxZoom"?s(b):c==="translateExtent"?a(b):c==="nodeExtent"?l(b):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:Uv(b)}):c==="fitView"?u.setState({fitViewQueued:b}):c==="fitViewOptions"?u.setState({fitViewOptions:b}):u.setState({[c]:b}))}m.current=e},ol.map(c=>e[c])),null}function al(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function cf(e){var o;const[n,i]=x.useState(e==="system"?null:e);return x.useEffect(()=>{if(e!=="system"){i(e);return}const s=al(),a=()=>i(s!=null&&s.matches?"dark":"light");return a(),s==null||s.addEventListener("change",a),()=>{s==null||s.removeEventListener("change",a)}},[e]),n!==null?n:(o=al())!=null&&o.matches?"dark":"light"}const tl=typeof document!="undefined"?document:null;function Rn(e=null,n={target:tl,actInsideInputWithModifier:!0}){const[i,o]=x.useState(!1),s=x.useRef(!1),a=x.useRef(new Set([])),[l,r]=x.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
|
|
63
63
|
`).replace(`
|
|
64
64
|
|
|
65
65
|
`,`
|
|
66
66
|
+`).split(`
|
|
67
|
-
`)),m=u.reduce((c,b)=>c.concat(...b),[]);return[u,m]}return[[],[]]},[e]);return x.useEffect(()=>{var m,c;const d=(m=n==null?void 0:n.target)!=null?m:tl,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!0;if(e!==null){const b=p=>{var N,y;if(s.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!s.current||s.current&&!u)&&bt(p))return!1;const f=rl(p.code,r);if(a.current.add(p[f]),ll(l,a.current,!1)){const S=((y=(N=p.composedPath)==null?void 0:N.call(p))==null?void 0:y[0])||p.target,w=(S==null?void 0:S.nodeName)==="BUTTON"||(S==null?void 0:S.nodeName)==="A";n.preventDefault!==!1&&(s.current||!w)&&p.preventDefault(),o(!0)}},v=p=>{const g=rl(p.code,r);ll(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(p[g]),p.key==="Meta"&&a.current.clear(),s.current=!1},h=()=>{a.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",b),d==null||d.addEventListener("keyup",v),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{d==null||d.removeEventListener("keydown",b),d==null||d.removeEventListener("keyup",v),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),i}function ll(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function rl(e,n){return n.includes(e)?"code":"key"}const mf=()=>{const e=fe();return x.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,a],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:a},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:a,maxZoom:l,panZoom:r}=e.getState(),d=Uo(n,o,s,a,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 b,v;const{transform:o,snapGrid:s,snapToGrid:a,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},m=(b=i.snapGrid)!=null?b:s,c=(v=i.snapToGrid)!=null?v:a;return Zn(u,o,c,m)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:a}=o.getBoundingClientRect(),l=Sn(n,i);return{x:l.x+s,y:l.y+a}}}),[])};function dl(e,n){const i=[],o=new Map,s=[];for(const a of e)if(a.type==="add"){s.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of n){const l=o.get(a.id);if(!l){i.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...a};for(const d of l)bf(d,r);i.push(r)}return s.length&&s.forEach(a=>{a.index!==void 0?i.splice(a.index,0,{...a.item}):i.push({...a.item})}),i}function bf(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 ul(e,n){return dl(e,n)}function cl(e,n){return dl(e,n)}function ln(e,n){return{id:e,type:"select",selected:n}}function Cn(e,n=new Set,i=!1){const o=[];for(const[s,a]of e){const l=n.has(s);!(a.selected===void 0&&!l)&&a.selected!==l&&(i&&(a.selected=l),o.push(ln(a.id,l)))}return o}function ml({items:e=[],lookup:n}){var s,a;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=(a=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?a: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 bl(e){return{id:e.id,type:"remove"}}const vf=rt("React Flow","https://reactflow.dev/");function hf(e,n,i={}){var o;return Qv(e,n,{...i,onError:(o=i.onError)!=null?o:vf})}const vl=e=>Kv(e),ff=e=>nt(e);function hl(e){return x.forwardRef(e)}const pf=typeof window!="undefined"?x.useLayoutEffect:x.useEffect;function fl(e){const[n,i]=x.useState(BigInt(0)),[o]=x.useState(()=>gf(()=>i(s=>s+BigInt(1))));return pf(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function gf(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const pl=x.createContext(null);function yf({children:e}){const n=fe(),i=x.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:m,onNodesChange:c,nodeLookup:b,fitViewQueued:v,onNodesChangeMiddlewareMap:h}=n.getState();let p=d;for(const f of r)p=typeof f=="function"?f(p):f;let g=ml({items:p,lookup:b});for(const f of h.values())g=f(g);m&&u(p),g.length>0?c==null||c(g):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:f,nodes:N,setNodes:y}=n.getState();f&&y(N)})},[]),o=fl(i),s=x.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:m,onEdgesChange:c,edgeLookup:b}=n.getState();let v=d;for(const h of r)v=typeof h=="function"?h(v):h;m?u(v):c&&c(ml({items:v,lookup:b}))},[]),a=fl(s),l=x.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return t.jsx(pl.Provider,{value:l,children:e})}function xf(){const e=x.useContext(pl);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Sf=e=>!!e.panZoom;function us(){const e=mf(),n=fe(),i=xf(),o=de(Sf),s=x.useMemo(()=>{const a=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var f,N,y,S;const{nodeLookup:b,nodeOrigin:v}=n.getState(),h=vl(c)?c:b.get(c.id),p=h.parentId?ut(h.position,h.measured,h.parentId,b,v):h.position,g={...h,position:p,width:(N=(f=h.measured)==null?void 0:f.width)!=null?N:h.width,height:(S=(y=h.measured)==null?void 0:y.height)!=null?S:h.height};return Yn(g)},u=(c,b,v={replace:!1})=>{l(h=>h.map(p=>{if(p.id===c){const g=typeof b=="function"?b(p):b;return v.replace&&vl(g)?g:{...p,...g}}return p}))},m=(c,b,v={replace:!1})=>{r(h=>h.map(p=>{if(p.id===c){const g=typeof b=="function"?b(p):b;return v.replace&&ff(g)?g:{...p,...g}}return p}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var b;return(b=a(c))==null?void 0:b.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(b=>({...b}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const b=Array.isArray(c)?c:[c];i.nodeQueue.push(v=>[...v,...b])},addEdges:c=>{const b=Array.isArray(c)?c:[c];i.edgeQueue.push(v=>[...v,...b])},toObject:()=>{const{nodes:c=[],edges:b=[],transform:v}=n.getState(),[h,p,g]=v;return{nodes:c.map(f=>({...f})),edges:b.map(f=>({...f})),viewport:{x:h,y:p,zoom:g}}},deleteElements:async({nodes:c=[],edges:b=[]})=>{const{nodes:v,edges:h,onNodesDelete:p,onEdgesDelete:g,triggerNodeChanges:f,triggerEdgeChanges:N,onDelete:y,onBeforeDelete:S}=n.getState(),{nodes:w,edges:A}=await zv({nodesToRemove:c,edgesToRemove:b,nodes:v,edges:h,onBeforeDelete:S}),C=A.length>0,M=w.length>0;if(C){const k=A.map(bl);g==null||g(A),N(k)}if(M){const k=w.map(bl);p==null||p(w),f(k)}return(M||C)&&(y==null||y({nodes:w,edges:A})),{deletedNodes:w,deletedEdges:A}},getIntersectingNodes:(c,b=!0,v)=>{const h=lt(c),p=h?c:d(c),g=v!==void 0;return p?(v||n.getState().nodes).filter(f=>{const N=n.getState().nodeLookup.get(f.id);if(N&&!h&&(f.id===c.id||!N.internals.positionAbsolute))return!1;const y=Yn(g?f:N),S=Di(y,p);return b&&S>0||S>=y.width*y.height||S>=p.width*p.height}):[]},isNodeIntersecting:(c,b,v=!0)=>{const p=lt(c)?c:d(c);if(!p)return!1;const g=Di(p,b);return v&&g>0||g>=b.width*b.height||g>=p.width*p.height},updateNode:u,updateNodeData:(c,b,v={replace:!1})=>{u(c,h=>{const p=typeof b=="function"?b(h):b;return v.replace?{...h,data:p}:{...h,data:{...h.data,...p}}},v)},updateEdge:m,updateEdgeData:(c,b,v={replace:!1})=>{m(c,h=>{const p=typeof b=="function"?b(h):b;return v.replace?{...h,data:p}:{...h,data:{...h.data,...p}}},v)},getNodesBounds:c=>{const{nodeLookup:b,nodeOrigin:v}=n.getState();return Hv(c,{nodeLookup:b,nodeOrigin:v})},getHandleConnections:({type:c,id:b,nodeId:v})=>{var h,p;return Array.from((p=(h=n.getState().connectionLookup.get(`${v}-${c}${b?`-${b}`:""}`))==null?void 0:h.values())!=null?p:[])},getNodeConnections:({type:c,handleId:b,nodeId:v})=>{var h,p;return Array.from((p=(h=n.getState().connectionLookup.get(`${v}${c?b?`-${c}-${b}`:`-${c}`:""}`))==null?void 0:h.values())!=null?p:[])},fitView:async c=>{var v;const b=(v=n.getState().fitViewResolver)!=null?v:jv();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:b}),i.nodeQueue.push(h=>[...h]),b.promise}}},[]);return x.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const gl=e=>e.selected,wf=typeof window!="undefined"?window:void 0;function Nf({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=fe(),{deleteElements:o}=us(),s=Rn(e,{actInsideInputWithModifier:!1}),a=Rn(n,{target:wf});x.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(gl),edges:l.filter(gl)}),i.setState({nodesSelectionActive:!1})}},[s]),x.useEffect(()=>{i.setState({multiSelectionActive:a})},[a])}function Af(e){const n=fe();x.useEffect(()=>{const i=()=>{var s,a,l,r,d;if(!e.current||!((l=(a=(s=e.current).checkVisibility)==null?void 0:a.call(s))==null||l))return!1;const o=qo(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Le.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 Wi={position:"absolute",width:"100%",height:"100%",top:0,left:0},Cf=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function kf({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:a=on.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:m,maxZoom:c,zoomActivationKeyCode:b,preventScrolling:v=!0,children:h,noWheelClassName:p,noPanClassName:g,onViewportChange:f,isControlledViewport:N,paneClickDistance:y,selectionOnDrag:S}){const w=fe(),A=x.useRef(null),{userSelectionActive:C,lib:M,connectionInProgress:k}=de(Cf,he),I=Rn(b),P=x.useRef();Af(A);const T=x.useCallback(O=>{f==null||f({x:O[0],y:O[1],zoom:O[2]}),N||w.setState({transform:O})},[f,N]);return x.useEffect(()=>{if(A.current){P.current=Eh({domNode:A.current,minZoom:m,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:B=>w.setState(K=>K.paneDragging===B?K:{paneDragging:B}),onPanZoomStart:(B,K)=>{const{onViewportChangeStart:D,onMoveStart:L}=w.getState();L==null||L(B,K),D==null||D(K)},onPanZoom:(B,K)=>{const{onViewportChange:D,onMove:L}=w.getState();L==null||L(B,K),D==null||D(K)},onPanZoomEnd:(B,K)=>{const{onViewportChangeEnd:D,onMoveEnd:L}=w.getState();L==null||L(B,K),D==null||D(K)}});const{x:O,y:E,zoom:_}=P.current.getViewport();return w.setState({panZoom:P.current,transform:[O,E,_],domNode:A.current.closest(".react-flow")}),()=>{var B;(B=P.current)==null||B.destroy()}}},[]),x.useEffect(()=>{var O;(O=P.current)==null||O.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:I,preventScrolling:v,noPanClassName:g,userSelectionActive:C,noWheelClassName:p,lib:M,onTransformChange:T,connectionInProgress:k,selectionOnDrag:S,paneClickDistance:y})},[e,n,i,o,s,a,l,r,I,v,g,C,p,M,T,k,S,y]),t.jsx("div",{className:"react-flow__renderer",ref:A,style:Wi,children:h})}const Mf=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Ef(){const{userSelectionActive:e,userSelectionRect:n}=de(Mf,he);return e&&n?t.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 cs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},Tf=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Pf({isSelecting:e,selectionKeyPressed:n,selectionMode:i=jn.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:a,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:m,onPaneScroll:c,onPaneMouseEnter:b,onPaneMouseMove:v,onPaneMouseLeave:h,children:p}){const g=x.useRef(0),f=fe(),{userSelectionActive:N,elementsSelectable:y,dragging:S,panBy:w,autoPanSpeed:A}=de(Tf,he),C=y&&(e||N),M=x.useRef(null),k=x.useRef(),I=x.useRef(new Set),P=x.useRef(new Set),T=x.useRef(!1),O=x.useRef(!1),E=x.useRef({x:0,y:0}),_=x.useRef(!1),B=U=>{if(O.current||T.current||f.getState().connection.inProgress){O.current=!1,T.current=!1;return}u==null||u(U),f.getState().resetSelectedElements(),f.setState({nodesSelectionActive:!1})},K=U=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){U.preventDefault();return}m==null||m(U)},D=c?U=>c(U):void 0,L=U=>{O.current&&(U.stopPropagation(),O.current=!1)},z=U=>{var Z,oe;const{domNode:V,transform:G}=f.getState();if(k.current=V==null?void 0:V.getBoundingClientRect(),!k.current)return;const H=U.target===M.current;if(!H&&!!U.target.closest(".nokey")||!e||!(l&&H||n)||U.button!==0||!U.isPrimary)return;(oe=(Z=U.target)==null?void 0:Z.setPointerCapture)==null||oe.call(Z,U.pointerId),O.current=!1;const{x:$,y:J}=Oe(U.nativeEvent,k.current),R=Zn({x:$,y:J},G);f.setState({userSelectionRect:{width:0,height:0,startX:R.x,startY:R.y,x:$,y:J}}),H||(U.stopPropagation(),U.preventDefault())};function q(U,V){var Me,pe;const{userSelectionRect:G}=f.getState();if(!G)return;const{transform:H,nodeLookup:j,edgeLookup:F,connectionLookup:$,triggerNodeChanges:J,triggerEdgeChanges:R,defaultEdgeOptions:Z}=f.getState(),oe={x:G.startX,y:G.startY},{x:ue,y:ce}=Sn(oe,H),me={startX:oe.x,startY:oe.y,x:U<ue?U:ue,y:V<ce?V:ce,width:Math.abs(U-ue),height:Math.abs(V-ce)},Se=I.current,be=P.current;I.current=new Set(Wo(j,me,H,i===jn.Partial,!0).map(Ne=>Ne.id)),P.current=new Set;const we=(Me=Z==null?void 0:Z.selectable)!=null?Me:!0;for(const Ne of I.current){const rn=$.get(Ne);if(rn)for(const{edgeId:qi}of rn.values()){const Mn=F.get(qi);Mn&&((pe=Mn.selectable)!=null?pe:we)&&P.current.add(qi)}}if(!ct(Se,I.current)){const Ne=Cn(j,I.current,!0);J(Ne)}if(!ct(be,P.current)){const Ne=Cn(F,P.current);R(Ne)}f.setState({userSelectionRect:me,userSelectionActive:!0,nodesSelectionActive:!1})}function W(){if(!s||!k.current)return;const[U,V]=$o(E.current,k.current,A);w({x:U,y:V}).then(G=>{if(!O.current||!G){g.current=requestAnimationFrame(W);return}const{x:H,y:j}=E.current;q(H,j),g.current=requestAnimationFrame(W)})}const Y=()=>{cancelAnimationFrame(g.current),g.current=0,_.current=!1};x.useEffect(()=>()=>Y(),[]);const X=U=>{const{userSelectionRect:V,transform:G,resetSelectedElements:H}=f.getState();if(!k.current||!V)return;const{x:j,y:F}=Oe(U.nativeEvent,k.current);E.current={x:j,y:F};const $=Sn({x:V.startX,y:V.startY},G);if(!O.current){const J=n?0:a;if(Math.hypot(j-$.x,F-$.y)<=J)return;H(),r==null||r(U)}O.current=!0,_.current||(W(),_.current=!0),q(j,F)},ne=U=>{var V,G;if(!C){U.target===M.current&&f.getState().connection.inProgress&&(T.current=!0);return}U.button===0&&((G=(V=U.target)==null?void 0:V.releasePointerCapture)==null||G.call(V,U.pointerId),!N&&U.target===M.current&&f.getState().userSelectionRect&&(B==null||B(U)),f.setState({userSelectionActive:!1,userSelectionRect:null}),O.current&&(d==null||d(U),f.setState({nodesSelectionActive:I.current.size>0})),Y())},se=U=>{var V,G;(G=(V=U.target)==null?void 0:V.releasePointerCapture)==null||G.call(V,U.pointerId),Y()},Q=o===!0||Array.isArray(o)&&o.includes(0);return t.jsxs("div",{className:xe(["react-flow__pane",{draggable:Q,dragging:S,selection:e}]),onClick:C?void 0:cs(B,M),onContextMenu:cs(K,M),onWheel:cs(D,M),onPointerEnter:C?void 0:b,onPointerMove:C?X:v,onPointerUp:ne,onPointerCancel:C?se:void 0,onPointerDownCapture:C?z:void 0,onClickCapture:C?L:void 0,onPointerLeave:h,ref:M,style:Wi,children:[p,t.jsx(Ef,{})]})}function ms({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Le.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(a({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var m;return(m=o==null?void 0:o.current)==null?void 0:m.blur()})):s([e])}function yl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:a,nodeClickDistance:l}){const r=fe(),[d,u]=x.useState(!1),m=x.useRef();return x.useEffect(()=>{m.current=vh({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{ms({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),x.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=m.current)==null||c.destroy()}},[i,o,n,a,e,s,l]),d}const Lf=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function xl(){const e=fe();return x.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:a,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:m}=e.getState(),c=new Map,b=Lf(l),v=s?a[0]:5,h=s?a[1]:5,p=i.direction.x*v*i.factor,g=i.direction.y*h*i.factor;for(const[,f]of u){if(!b(f))continue;let N={x:f.internals.positionAbsolute.x+p,y:f.internals.positionAbsolute.y+g};s&&(N=Jn(N,a));const{position:y,positionAbsolute:S}=it({nodeId:f.id,nextPosition:N,nodeLookup:u,nodeExtent:o,nodeOrigin:m,onError:r});f.position=y,f.internals.positionAbsolute=S,c.set(f.id,f)}d(c)},[])}const bs=x.createContext(null),Bf=bs.Provider;bs.Consumer;const Sl=()=>x.useContext(bs),If=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),wl=x.createContext(null);function Df({children:e}){const n=de(If,he);return t.jsx(wl.Provider,{value:n,children:e})}function _f(){const e=x.useContext(wl);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Of={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Kf=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:a,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Of;const m=(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:m,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:a===gn.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:m&&u}};function Hf({type:e="source",position:n=ie.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:a=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:m,onTouchStart:c,...b},v){var _,B;const h=l||null,p=e==="target",g=fe(),f=Sl(),{connectOnClick:N,noPanClassName:y,rfId:S}=_f(),{connectingFrom:w,connectingTo:A,clickConnecting:C,isPossibleEndHandle:M,connectionInProcess:k,clickConnectionInProcess:I,valid:P}=de(Kf(f,h,e),he);f||(B=(_=g.getState()).onError)==null||B.call(_,"010",Le.error010());const T=K=>{const{defaultEdgeOptions:D,onConnect:L,hasDefaultEdges:z}=g.getState(),q={...D,...K};if(z){const{edges:W,setEdges:Y,onError:X}=g.getState();Y(hf(q,W,{onError:X}))}L==null||L(q),r==null||r(q)},O=K=>{if(!f)return;const D=vt(K.nativeEvent);if(s&&(D&&K.button===0||!D)){const L=g.getState();os.onPointerDown(K.nativeEvent,{handleDomNode:K.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:p,handleId:h,nodeId:f,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...z)=>{var q,W;return(W=(q=g.getState()).onConnectEnd)==null?void 0:W.call(q,...z)},updateConnection:L.updateConnection,onConnect:T,isValidConnection:i||((...z)=>{var q,W,Y;return(Y=(W=(q=g.getState()).isValidConnection)==null?void 0:W.call(q,...z))!=null?Y:!0}),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}D?m==null||m(K):c==null||c(K)},E=K=>{const{onClickConnectStart:D,onClickConnectEnd:L,connectionClickStartHandle:z,connectionMode:q,isValidConnection:W,lib:Y,rfId:X,nodeLookup:ne,connection:se}=g.getState();if(!f||!z&&!s)return;if(!z){D==null||D(K.nativeEvent,{nodeId:f,handleId:h,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:f,type:e,id:h}});return}const Q=mt(K.target),U=i||W,{connection:V,isValid:G}=os.isValid(K.nativeEvent,{handle:{nodeId:f,id:h,type:e},connectionMode:q,fromNodeId:z.nodeId,fromHandleId:z.id||null,fromType:z.type,isValidConnection:U,flowId:X,doc:Q,lib:Y,nodeLookup:ne});G&&V&&T(V);const H=structuredClone(se);delete H.inProgress,H.toPosition=H.toHandle?H.toHandle.position:null,L==null||L(K,H),g.setState({connectionClickStartHandle:null})};return t.jsx("div",{"data-handleid":h,"data-nodeid":f,"data-handlepos":n,"data-id":`${S}-${f}-${h}-${e}`,className:xe(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",y,u,{source:!p,target:p,connectable:o,connectablestart:s,connectableend:a,clickconnecting:C,connectingfrom:w,connectingto:A,valid:P,connectionindicator:o&&(!k||M)&&(k||I?a:s)}]),onMouseDown:O,onTouchStart:O,onClick:N?E:void 0,ref:v,...b,children:d})}const kn=x.memo(hl(Hf));function Gf({data:e,isConnectable:n,sourcePosition:i=ie.Bottom}){return t.jsxs(t.Fragment,{children:[e==null?void 0:e.label,t.jsx(kn,{type:"source",position:i,isConnectable:n})]})}function Ff({data:e,isConnectable:n,targetPosition:i=ie.Top,sourcePosition:o=ie.Bottom}){return t.jsxs(t.Fragment,{children:[t.jsx(kn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,t.jsx(kn,{type:"source",position:o,isConnectable:n})]})}function Vf(){return null}function zf({data:e,isConnectable:n,targetPosition:i=ie.Top}){return t.jsxs(t.Fragment,{children:[t.jsx(kn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const $i={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Nl={input:Gf,default:Ff,output:zf,group:Vf};function Wf(e){var n,i,o,s,a,l,r,d,u,m;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:(a=e.style)==null?void 0:a.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(m=e.height)!=null?m:(u=e.style)==null?void 0:u.height}}const $f=e=>{const{width:n,height:i,x:o,y:s}=qn(e.nodeLookup,{filter:a=>!!a.selected});return{width:_e(n)?n:null,height:_e(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 jf({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=fe(),{width:s,height:a,transformString:l,userSelectionActive:r}=de($f,he),d=xl(),u=x.useRef(null);x.useEffect(()=>{var v;i||(v=u.current)==null||v.focus({preventScroll:!0})},[i]);const m=!r&&s!==null&&a!==null;if(yl({nodeRef:u,disabled:!m}),!m)return null;const c=e?v=>{const h=o.getState().nodes.filter(p=>p.selected);e(v,h)}:void 0,b=v=>{Object.prototype.hasOwnProperty.call($i,v.key)&&(v.preventDefault(),d({direction:$i[v.key],factor:v.shiftKey?4:1}))};return t.jsx("div",{className:xe(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:t.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:b,style:{width:s,height:a}})})}const Al=typeof window!="undefined"?window:void 0,Uf=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Cl({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:m,selectionMode:c,onSelectionStart:b,onSelectionEnd:v,multiSelectionKeyCode:h,panActivationKeyCode:p,zoomActivationKeyCode:g,elementsSelectable:f,zoomOnScroll:N,zoomOnPinch:y,panOnScroll:S,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:C,panOnDrag:M,autoPanOnSelection:k,defaultViewport:I,translateExtent:P,minZoom:T,maxZoom:O,preventScrolling:E,onSelectionContextMenu:_,noWheelClassName:B,noPanClassName:K,disableKeyboardA11y:D,onViewportChange:L,isControlledViewport:z}){const{nodesSelectionActive:q,userSelectionActive:W}=de(Uf,he),Y=Rn(u,{target:Al}),X=Rn(p,{target:Al}),ne=X||M,se=X||S,Q=m&&ne!==!0,U=Y||W||Q;return Nf({deleteKeyCode:d,multiSelectionKeyCode:h}),t.jsx(kf,{onPaneContextMenu:a,elementsSelectable:f,zoomOnScroll:N,zoomOnPinch:y,panOnScroll:se,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:C,panOnDrag:!Y&&ne,defaultViewport:I,translateExtent:P,minZoom:T,maxZoom:O,zoomActivationKeyCode:g,preventScrolling:E,noWheelClassName:B,noPanClassName:K,onViewportChange:L,isControlledViewport:z,paneClickDistance:r,selectionOnDrag:Q,children:t.jsxs(Pf,{onSelectionStart:b,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:ne,autoPanOnSelection:k,isSelecting:!!U,selectionMode:c,selectionKeyPressed:Y,paneClickDistance:r,selectionOnDrag:Q,children:[e,q&&t.jsx(jf,{onSelectionContextMenu:_,noPanClassName:K,disableKeyboardA11y:D})]})})}Cl.displayName="FlowRenderer";const qf=x.memo(Cl),Yf=e=>n=>e?Wo(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 Jf(e){return de(x.useCallback(Yf(e),[e]),he)}const Zf=e=>e.updateNodeInternals;function Xf(){const e=de(Zf),[n]=x.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const a=s.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:s.target,force:!0})}),e(o)}));return x.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function Qf({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=fe(),a=x.useRef(null),l=x.useRef(null),r=x.useRef(e.sourcePosition),d=x.useRef(e.targetPosition),u=x.useRef(n),m=i&&!!e.internals.handleBounds;return x.useEffect(()=>{a.current&&!e.hidden&&(!m||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[m,e.hidden]),x.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),x.useEffect(()=>{if(a.current){const c=u.current!==n,b=r.current!==e.sourcePosition,v=d.current!==e.targetPosition;(c||b||v)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),a}function Rf({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:a,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:m,resizeObserver:c,noDragClassName:b,noPanClassName:v,disableKeyboardA11y:h,rfId:p,nodeTypes:g,nodeClickDistance:f,onError:N}){var U,V,G;const{node:y,internals:S,isParent:w}=de(H=>{const j=H.nodeLookup.get(e),F=H.parentLookup.has(e);return{node:j,internals:j.internals,isParent:F}},he);let A=y.type||"default",C=(g==null?void 0:g[A])||Nl[A];C===void 0&&(N==null||N("003",Le.error003(A)),A="default",C=(g==null?void 0:g.default)||Nl.default);const M=!!(y.draggable||r&&typeof y.draggable=="undefined"),k=!!(y.selectable||d&&typeof y.selectable=="undefined"),I=!!(y.connectable||u&&typeof y.connectable=="undefined"),P=!!(y.focusable||m&&typeof y.focusable=="undefined"),T=fe(),O=dt(y),E=Qf({node:y,nodeType:A,hasDimensions:O,resizeObserver:c}),_=yl({nodeRef:E,disabled:y.hidden||!M,noDragClassName:b,handleSelector:y.dragHandle,nodeId:e,isSelectable:k,nodeClickDistance:f}),B=xl();if(y.hidden)return null;const K=je(y),D=Wf(y),L=k||M||n||i||o||s,z=i?H=>i(H,{...S.userNode}):void 0,q=o?H=>o(H,{...S.userNode}):void 0,W=s?H=>s(H,{...S.userNode}):void 0,Y=a?H=>a(H,{...S.userNode}):void 0,X=l?H=>l(H,{...S.userNode}):void 0,ne=H=>{const{selectNodesOnDrag:j,nodeDragThreshold:F}=T.getState();k&&(!j||!M||F>0)&&ms({id:e,store:T,nodeRef:E}),n&&n(H,{...S.userNode})},se=H=>{if(!(bt(H.nativeEvent)||h)){if(Za.includes(H.key)&&k){const j=H.key==="Escape";ms({id:e,store:T,unselect:j,nodeRef:E})}else if(M&&y.selected&&Object.prototype.hasOwnProperty.call($i,H.key)){H.preventDefault();const{ariaLabelConfig:j}=T.getState();T.setState({ariaLiveMessage:j["node.a11yDescription.ariaLiveMessage"]({direction:H.key.replace("Arrow","").toLowerCase(),x:~~S.positionAbsolute.x,y:~~S.positionAbsolute.y})}),B({direction:$i[H.key],factor:H.shiftKey?4:1})}}},Q=()=>{var Z;if(h||!((Z=E.current)!=null&&Z.matches(":focus-visible")))return;const{transform:H,width:j,height:F,autoPanOnNodeFocus:$,setCenter:J}=T.getState();if(!$)return;Wo(new Map([[e,y]]),{x:0,y:0,width:j,height:F},H,!0).length>0||J(y.position.x+K.width/2,y.position.y+K.height/2,{zoom:H[2]})};return t.jsx("div",{className:xe(["react-flow__node",`react-flow__node-${A}`,{[v]:M},y.className,{selected:y.selected,selectable:k,parent:w,draggable:M,dragging:_}]),ref:E,style:{zIndex:S.z,transform:`translate(${S.positionAbsolute.x}px,${S.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:O?"visible":"hidden",...y.style,...D},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:z,onMouseMove:q,onMouseLeave:W,onContextMenu:Y,onClick:ne,onDoubleClick:X,onKeyDown:P?se:void 0,tabIndex:P?0:void 0,onFocus:P?Q:void 0,role:(U=y.ariaRole)!=null?U:P?"group":void 0,"aria-roledescription":"node","aria-describedby":h?void 0:`${Rt}-${p}`,"aria-label":y.ariaLabel,...y.domAttributes,children:t.jsx(Bf,{value:e,children:t.jsx(C,{id:e,data:y.data,type:A,positionAbsoluteX:S.positionAbsolute.x,positionAbsoluteY:S.positionAbsolute.y,selected:(V=y.selected)!=null?V:!1,selectable:k,draggable:M,deletable:(G=y.deletable)!=null?G:!0,isConnectable:I,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:_,dragHandle:y.dragHandle,zIndex:S.z,parentId:y.parentId,...K})})})}var ep=x.memo(Rf);const np=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function kl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:a}=de(np,he),l=Jf(e.onlyRenderVisibleElements),r=Xf();return t.jsx("div",{className:"react-flow__nodes",style:Wi,children:l.map(d=>t.jsx(ep,{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:a},d))})}kl.displayName="NodeRenderer";const ip=x.memo(kl);function op(e){return de(x.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 a=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);a&&l&&Jv({sourceNode:a,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),he)}const sp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return t.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},ap=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return t.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ml={[yn.Arrow]:sp,[yn.ArrowClosed]:ap};function tp(e){const n=fe();return x.useMemo(()=>{var s,a;return Object.prototype.hasOwnProperty.call(Ml,e)?Ml[e]:((a=(s=n.getState()).onError)==null||a.call(s,"009",Le.error009(e)),null)},[e])}const lp=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=tp(n);return d?t.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:r,refX:"0",refY:"0",children:t.jsx(d,{color:i,strokeWidth:l})}):null},El=({defaultColor:e,rfId:n})=>{const i=de(a=>a.edges),o=de(a=>a.defaultEdgeOptions),s=x.useMemo(()=>oh(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?t.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:t.jsx("defs",{children:s.map(a=>t.jsx(lp,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};El.displayName="MarkerDefinitions";var rp=x.memo(El);function Tl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...m}){const[c,b]=x.useState({x:1,y:0,width:0,height:0}),v=xe(["react-flow__edge-textwrapper",u]),h=x.useRef(null);return x.useEffect(()=>{if(h.current){const p=h.current.getBBox();b({x:p.x,y:p.y,width:p.width,height:p.height})}},[i]),i?t.jsxs("g",{transform:`translate(${e-c.width/2} ${n-c.height/2})`,className:v,visibility:c.width?"visible":"hidden",...m,children:[s&&t.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:a,rx:r,ry:r}),t.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:h,style:o,children:i}),d]}):null}Tl.displayName="EdgeText";const dp=x.memo(Tl);function ji({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...m}){return t.jsxs(t.Fragment,{children:[t.jsx("path",{...m,d:e,fill:"none",className:xe(["react-flow__edge-path",m.className])}),u?t.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&_e(n)&&_e(i)?t.jsx(dp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Pl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ie.Left||e===ie.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function Ll({sourceX:e,sourceY:n,sourcePosition:i=ie.Bottom,targetX:o,targetY:s,targetPosition:a=ie.Top}){const[l,r]=Pl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Pl({pos:a,x1:o,y1:s,x2:e,y2:n}),[m,c,b,v]=ft({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}`,m,c,b,v]}function Bl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:f})=>{const[N,y,S]=Ll({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:r}),w=e.isInternal?void 0:n;return t.jsx(ji,{id:w,path:N,labelX:y,labelY:S,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:f})})}const up=Bl({isInternal:!1}),Il=Bl({isInternal:!0});up.displayName="SimpleBezierEdge",Il.displayName="SimpleBezierEdgeInternal";function Dl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,sourcePosition:v=ie.Bottom,targetPosition:h=ie.Top,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:N})=>{const[y,S,w]=Yo({sourceX:i,sourceY:o,sourcePosition:v,targetX:s,targetY:a,targetPosition:h,borderRadius:f==null?void 0:f.borderRadius,offset:f==null?void 0:f.offset,stepPosition:f==null?void 0:f.stepPosition}),A=e.isInternal?void 0:n;return t.jsx(ji,{id:A,path:y,labelX:S,labelY:w,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:p,markerStart:g,interactionWidth:N})})}const _l=Dl({isInternal:!1}),Ol=Dl({isInternal:!0});_l.displayName="SmoothStepEdge",Ol.displayName="SmoothStepEdgeInternal";function Kl(e){return x.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return t.jsx(_l,{...i,id:o,pathOptions:x.useMemo(()=>{var a;return{borderRadius:0,offset:(a=i.pathOptions)==null?void 0:a.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const cp=Kl({isInternal:!1}),Hl=Kl({isInternal:!0});cp.displayName="StepEdge",Hl.displayName="StepEdgeInternal";function Gl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:v,markerStart:h,interactionWidth:p})=>{const[g,f,N]=xt({sourceX:i,sourceY:o,targetX:s,targetY:a}),y=e.isInternal?void 0:n;return t.jsx(ji,{id:y,path:g,labelX:f,labelY:N,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:v,markerStart:h,interactionWidth:p})})}const mp=Gl({isInternal:!1}),Fl=Gl({isInternal:!0});mp.displayName="StraightEdge",Fl.displayName="StraightEdgeInternal";function Vl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,sourcePosition:l=ie.Bottom,targetPosition:r=ie.Top,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:N})=>{const[y,S,w]=gt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:r,curvature:f==null?void 0:f.curvature}),A=e.isInternal?void 0:n;return t.jsx(ji,{id:A,path:y,labelX:S,labelY:w,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:N})})}const bp=Vl({isInternal:!1}),zl=Vl({isInternal:!0});bp.displayName="BezierEdge",zl.displayName="BezierEdgeInternal";const Wl={default:zl,straight:Fl,step:Hl,smoothstep:Ol,simplebezier:Il},$l={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},vp=(e,n,i)=>i===ie.Left?e-n:i===ie.Right?e+n:e,hp=(e,n,i)=>i===ie.Top?e-n:i===ie.Bottom?e+n:e,jl="react-flow__edgeupdater";function Ul({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:a,onMouseOut:l,type:r}){return t.jsx("circle",{onMouseDown:s,onMouseEnter:a,onMouseOut:l,className:xe([jl,`${jl}-${r}`]),cx:vp(n,o,e),cy:hp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function fp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:a,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:m,onReconnectEnd:c,setReconnecting:b,setUpdateHover:v}){const h=fe(),p=(S,w)=>{if(S.button!==0)return;const{autoPanOnConnect:A,domNode:C,connectionMode:M,connectionRadius:k,lib:I,onConnectStart:P,cancelConnection:T,nodeLookup:O,rfId:E,panBy:_,updateConnection:B}=h.getState(),K=w.type==="target",D=(q,W)=>{b(!1),c==null||c(q,i,w.type,W)},L=q=>u==null?void 0:u(i,q),z=(q,W)=>{b(!0),m==null||m(S,i,w.type),P==null||P(q,W)};os.onPointerDown(S.nativeEvent,{autoPanOnConnect:A,connectionMode:M,connectionRadius:k,domNode:C,handleId:w.id,nodeId:w.nodeId,nodeLookup:O,isTarget:K,edgeUpdaterType:w.type,lib:I,flowId:E,cancelConnection:T,panBy:_,isValidConnection:(...q)=>{var W,Y,X;return(X=(Y=(W=h.getState()).isValidConnection)==null?void 0:Y.call(W,...q))!=null?X:!0},onConnect:L,onConnectStart:z,onConnectEnd:(...q)=>{var W,Y;return(Y=(W=h.getState()).onConnectEnd)==null?void 0:Y.call(W,...q)},onReconnectEnd:D,updateConnection:B,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:S.currentTarget})},g=S=>{var w;return p(S,{nodeId:i.target,id:(w=i.targetHandle)!=null?w:null,type:"target"})},f=S=>{var w;return p(S,{nodeId:i.source,id:(w=i.sourceHandle)!=null?w:null,type:"source"})},N=()=>v(!0),y=()=>v(!1);return t.jsxs(t.Fragment,{children:[(e===!0||e==="source")&&t.jsx(Ul,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:g,onMouseEnter:N,onMouseOut:y,type:"source"}),(e===!0||e==="target")&&t.jsx(Ul,{position:d,centerX:a,centerY:l,radius:n,onMouseDown:f,onMouseEnter:N,onMouseOut:y,type:"target"})]})}function pp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:a,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:m,onReconnect:c,onReconnectStart:b,onReconnectEnd:v,rfId:h,edgeTypes:p,noPanClassName:g,onError:f,disableKeyboardA11y:N}){var j,F;let y=de($=>$.edgeLookup.get(e));const S=de($=>$.defaultEdgeOptions);y=S?{...S,...y}:y;let w=y.type||"default",A=(p==null?void 0:p[w])||Wl[w];A===void 0&&(f==null||f("011",Le.error011(w)),w="default",A=(p==null?void 0:p.default)||Wl.default);const C=!!(y.focusable||n&&typeof y.focusable=="undefined"),M=typeof c!="undefined"&&(y.reconnectable||i&&typeof y.reconnectable=="undefined"),k=!!(y.selectable||o&&typeof y.selectable=="undefined"),I=x.useRef(null),[P,T]=x.useState(!1),[O,E]=x.useState(!1),_=fe(),{zIndex:B=y.zIndex,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:q,targetPosition:W}=de(x.useCallback($=>{const J=$.nodeLookup.get(y.source),R=$.nodeLookup.get(y.target);if(!J||!R)return $l;const Z=ih({id:e,sourceNode:J,targetNode:R,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:$.connectionMode,onError:f}),oe=Yv({selected:y.selected,zIndex:y.zIndex,sourceNode:J,targetNode:R,elevateOnSelect:$.elevateEdgesOnSelect,zIndexMode:$.zIndexMode});return{...Z||$l,zIndex:oe}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),he),Y=x.useMemo(()=>y.markerStart?`url('#${Jo(y.markerStart,h)}')`:void 0,[y.markerStart,h]),X=x.useMemo(()=>y.markerEnd?`url('#${Jo(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||K===null||D===null||L===null||z===null)return null;const ne=$=>{var oe;const{addSelectedEdges:J,unselectNodesAndEdges:R,multiSelectionActive:Z}=_.getState();k&&(_.setState({nodesSelectionActive:!1}),y.selected&&Z?(R({nodes:[],edges:[y]}),(oe=I.current)==null||oe.blur()):J([e])),s&&s($,y)},se=a?$=>{a($,{...y})}:void 0,Q=l?$=>{l($,{...y})}:void 0,U=r?$=>{r($,{...y})}:void 0,V=d?$=>{d($,{...y})}:void 0,G=u?$=>{u($,{...y})}:void 0,H=$=>{var J;if(!N&&Za.includes($.key)&&k){const{unselectNodesAndEdges:R,addSelectedEdges:Z}=_.getState();$.key==="Escape"?((J=I.current)==null||J.blur(),R({edges:[y]})):Z([e])}};return t.jsx("svg",{style:{zIndex:B},children:t.jsxs("g",{className:xe(["react-flow__edge",`react-flow__edge-${w}`,y.className,g,{selected:y.selected,animated:y.animated,inactive:!k&&!s,updating:P,selectable:k}]),onClick:ne,onDoubleClick:se,onContextMenu:Q,onMouseEnter:U,onMouseMove:V,onMouseLeave:G,onKeyDown:C?H:void 0,tabIndex:C?0:void 0,role:(j=y.ariaRole)!=null?j:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":y.ariaLabel===null?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${el}-${h}`:void 0,ref:I,...y.domAttributes,children:[!O&&t.jsx(A,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:k,deletable:(F=y.deletable)!=null?F:!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:q,targetPosition:W,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:Y,markerEnd:X,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),M&&t.jsx(fp,{edge:y,isReconnectable:M,reconnectRadius:m,onReconnect:c,onReconnectStart:b,onReconnectEnd:v,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:q,targetPosition:W,setUpdateHover:T,setReconnecting:E})]})})}var gp=x.memo(pp);const yp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ql({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:m,reconnectRadius:c,onEdgeDoubleClick:b,onReconnectStart:v,onReconnectEnd:h,disableKeyboardA11y:p}){const{edgesFocusable:g,edgesReconnectable:f,elementsSelectable:N,onError:y}=de(yp,he),S=op(n);return t.jsxs("div",{className:"react-flow__edges",children:[t.jsx(rp,{defaultColor:e,rfId:i}),S.map(w=>t.jsx(gp,{id:w,edgesFocusable:g,edgesReconnectable:f,elementsSelectable:N,noPanClassName:s,onReconnect:a,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:m,reconnectRadius:c,onDoubleClick:b,onReconnectStart:v,onReconnectEnd:h,rfId:i,onError:y,edgeTypes:o,disableKeyboardA11y:p},w))]})}ql.displayName="EdgeRenderer";const xp=x.memo(ql),Sp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function wp({children:e}){const n=de(Sp);return t.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Np(e){const n=us(),i=x.useRef(!1);x.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Ap=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Cp(e){const n=de(Ap),i=fe();return x.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function kp(e){return e.connection.inProgress?{...e.connection,to:Zn(e.connection.to,e.transform)}:{...e.connection}}function Mp(e){return kp}function Ep(e){const n=Mp();return de(n,he)}const Tp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Pp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:a,height:l,isValid:r,inProgress:d}=de(Tp,he);return!(a&&s&&d)?null:t.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:t.jsx("g",{className:xe(["react-flow__connection",et(r)]),children:t.jsx(Yl,{style:n,type:i,CustomComponent:o,isValid:r})})})}const Yl=({style:e,type:n=qe.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:a,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:m,toHandle:c,toPosition:b,pointer:v}=Ep();if(!s)return;if(i)return t.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:a.x,fromY:a.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:b,connectionStatus:et(o),toNode:m,toHandle:c,pointer:v});let h="";const p={sourceX:a.x,sourceY:a.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:b};switch(n){case qe.Bezier:[h]=gt(p);break;case qe.SimpleBezier:[h]=Ll(p);break;case qe.Step:[h]=Yo({...p,borderRadius:0});break;case qe.SmoothStep:[h]=Yo(p);break;default:[h]=xt(p)}return t.jsx("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};Yl.displayName="ConnectionLine";const Lp={};function Jl(e=Lp){const n=x.useRef(e),i=fe();x.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const a=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of a)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Le.error002());break}n.current=e}},[e])}function Bp(){const e=fe(),n=x.useRef(!1);x.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",Le.error013("react"))),n.current=!0}},[])}function Zl({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:m,onSelectionContextMenu:c,onSelectionStart:b,onSelectionEnd:v,connectionLineType:h,connectionLineStyle:p,connectionLineComponent:g,connectionLineContainerStyle:f,selectionKeyCode:N,selectionOnDrag:y,selectionMode:S,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:C,deleteKeyCode:M,onlyRenderVisibleElements:k,elementsSelectable:I,defaultViewport:P,translateExtent:T,minZoom:O,maxZoom:E,preventScrolling:_,defaultMarkerColor:B,zoomOnScroll:K,zoomOnPinch:D,panOnScroll:L,panOnScrollSpeed:z,panOnScrollMode:q,zoomOnDoubleClick:W,panOnDrag:Y,autoPanOnSelection:X,onPaneClick:ne,onPaneMouseEnter:se,onPaneMouseMove:Q,onPaneMouseLeave:U,onPaneScroll:V,onPaneContextMenu:G,paneClickDistance:H,nodeClickDistance:j,onEdgeContextMenu:F,onEdgeMouseEnter:$,onEdgeMouseMove:J,onEdgeMouseLeave:R,reconnectRadius:Z,onReconnect:oe,onReconnectStart:ue,onReconnectEnd:ce,noDragClassName:me,noWheelClassName:Se,noPanClassName:be,disableKeyboardA11y:we,nodeExtent:Me,rfId:pe,viewport:Ne,onViewportChange:rn}){return Jl(e),Jl(n),Bp(),Np(i),Cp(Ne),t.jsx(qf,{onPaneClick:ne,onPaneMouseEnter:se,onPaneMouseMove:Q,onPaneMouseLeave:U,onPaneContextMenu:G,onPaneScroll:V,paneClickDistance:H,deleteKeyCode:M,selectionKeyCode:N,selectionOnDrag:y,selectionMode:S,onSelectionStart:b,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:C,elementsSelectable:I,zoomOnScroll:K,zoomOnPinch:D,zoomOnDoubleClick:W,panOnScroll:L,panOnScrollSpeed:z,panOnScrollMode:q,panOnDrag:Y,autoPanOnSelection:X,defaultViewport:P,translateExtent:T,minZoom:O,maxZoom:E,onSelectionContextMenu:c,preventScrolling:_,noDragClassName:me,noWheelClassName:Se,noPanClassName:be,disableKeyboardA11y:we,onViewportChange:rn,isControlledViewport:!!Ne,children:t.jsxs(wp,{children:[t.jsx(xp,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:oe,onReconnectStart:ue,onReconnectEnd:ce,onlyRenderVisibleElements:k,onEdgeContextMenu:F,onEdgeMouseEnter:$,onEdgeMouseMove:J,onEdgeMouseLeave:R,reconnectRadius:Z,defaultMarkerColor:B,noPanClassName:be,disableKeyboardA11y:we,rfId:pe}),t.jsx(Pp,{style:p,type:h,component:g,containerStyle:f}),t.jsx("div",{className:"react-flow__edgelabel-renderer"}),t.jsx(ip,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:m,nodeClickDistance:j,onlyRenderVisibleElements:k,noPanClassName:be,noDragClassName:me,disableKeyboardA11y:we,nodeExtent:Me,rfId:pe}),t.jsx("div",{className:"react-flow__viewport-portal"})]})})}Zl.displayName="GraphView";const Ip=x.memo(Zl),Dp=rt("React Flow","https://reactflow.dev/"),Xl=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:m,nodeExtent:c,zIndexMode:b="basic"}={})=>{var C,M,k;const v=new Map,h=new Map,p=new Map,g=new Map,f=(C=o!=null?o:n)!=null?C:[],N=(M=i!=null?i:e)!=null?M:[],y=m!=null?m:[0,0],S=c!=null?c:$n;Tt(p,g,f);const{nodesInitialized:w}=Ro(N,v,h,{nodeOrigin:y,nodeExtent:S,zIndexMode:b});let A=[0,0,1];if(l&&s&&a){const I=qn(v,{filter:E=>!!((E.width||E.initialWidth)&&(E.height||E.initialHeight))}),{x:P,y:T,zoom:O}=Uo(I,s,a,d,u,(k=r==null?void 0:r.padding)!=null?k:.1);A=[P,T,O]}return{rfId:"1",width:s!=null?s:0,height:a!=null?a:0,transform:A,nodes:N,nodesInitialized:w,nodeLookup:v,parentLookup:h,edges:f,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:$n,nodeExtent:S,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:gn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:y,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:{...Qa},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Dp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Xa,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},_p=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:m,nodeExtent:c,zIndexMode:b})=>qh((v,h)=>{async function p(){const{nodeLookup:g,panZoom:f,fitViewOptions:N,fitViewResolver:y,width:S,height:w,minZoom:A,maxZoom:C}=h();f&&(await Vv({nodes:g,width:S,height:w,panZoom:f,minZoom:A,maxZoom:C},N),y==null||y.resolve(!0),v({fitViewResolver:null}))}return{...Xl({nodes:e,edges:n,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:m,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:b}),setNodes:g=>{const{nodeLookup:f,parentLookup:N,nodeOrigin:y,elevateNodesOnSelect:S,fitViewQueued:w,zIndexMode:A,nodesSelectionActive:C}=h(),{nodesInitialized:M,hasSelectedNodes:k}=Ro(g,f,N,{nodeOrigin:y,nodeExtent:c,elevateNodesOnSelect:S,checkEquality:!0,zIndexMode:A}),I=C&&k;w&&M?(p(),v({nodes:g,nodesInitialized:M,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:I})):v({nodes:g,nodesInitialized:M,nodesSelectionActive:I})},setEdges:g=>{const{connectionLookup:f,edgeLookup:N}=h();Tt(f,N,g),v({edges:g})},setDefaultNodesAndEdges:(g,f)=>{if(g){const{setNodes:N}=h();N(g),v({hasDefaultNodes:!0})}if(f){const{setEdges:N}=h();N(f),v({hasDefaultEdges:!0})}},updateNodeInternals:g=>{const{triggerNodeChanges:f,nodeLookup:N,parentLookup:y,domNode:S,nodeOrigin:w,nodeExtent:A,debug:C,fitViewQueued:M,zIndexMode:k}=h(),{changes:I,updatedInternals:P}=uh(g,N,y,S,w,A,k);P&&(th(N,y,{nodeOrigin:w,nodeExtent:A,zIndexMode:k}),M?(p(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(I==null?void 0:I.length)>0&&(C&&console.log("React Flow: trigger node changes",I),f==null||f(I)))},updateNodePositions:(g,f=!1)=>{var k,I;const N=[];let y=[];const{nodeLookup:S,triggerNodeChanges:w,connection:A,updateConnection:C,onNodesChangeMiddlewareMap:M}=h();for(const[P,T]of g){const O=S.get(P),E=!!(O!=null&&O.expandParent&&(O!=null&&O.parentId)&&(T!=null&&T.position)),_={id:P,type:"position",position:E?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:f};if(O&&A.inProgress&&A.fromNode.id===O.id){const B=tn(O,A.fromHandle,ie.Left,!0);C({...A,from:B})}E&&O.parentId&&N.push({id:P,parentId:O.parentId,rect:{...T.internals.positionAbsolute,width:(k=T.measured.width)!=null?k:0,height:(I=T.measured.height)!=null?I:0}}),y.push(_)}if(N.length>0){const{parentLookup:P,nodeOrigin:T}=h(),O=ns(N,S,P,T);y.push(...O)}for(const P of M.values())y=P(y);w(y)},triggerNodeChanges:g=>{const{onNodesChange:f,setNodes:N,nodes:y,hasDefaultNodes:S,debug:w}=h();if(g!=null&&g.length){if(S){const A=ul(g,y);N(A)}w&&console.log("React Flow: trigger node changes",g),f==null||f(g)}},triggerEdgeChanges:g=>{const{onEdgesChange:f,setEdges:N,edges:y,hasDefaultEdges:S,debug:w}=h();if(g!=null&&g.length){if(S){const A=cl(g,y);N(A)}w&&console.log("React Flow: trigger edge changes",g),f==null||f(g)}},addSelectedNodes:g=>{const{multiSelectionActive:f,edgeLookup:N,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=h();if(f){const A=g.map(C=>ln(C,!0));S(A);return}S(Cn(y,new Set([...g]),!0)),w(Cn(N))},addSelectedEdges:g=>{const{multiSelectionActive:f,edgeLookup:N,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=h();if(f){const A=g.map(C=>ln(C,!0));w(A);return}w(Cn(N,new Set([...g]))),S(Cn(y,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:f}={})=>{const{edges:N,nodes:y,nodeLookup:S,triggerNodeChanges:w,triggerEdgeChanges:A}=h(),C=g||y,M=f||N,k=[];for(const P of C){if(!P.selected)continue;const T=S.get(P.id);T&&(T.selected=!1),k.push(ln(P.id,!1))}const I=[];for(const P of M)P.selected&&I.push(ln(P.id,!1));w(k),A(I)},setMinZoom:g=>{const{panZoom:f,maxZoom:N}=h();f==null||f.setScaleExtent([g,N]),v({minZoom:g})},setMaxZoom:g=>{const{panZoom:f,minZoom:N}=h();f==null||f.setScaleExtent([N,g]),v({maxZoom:g})},setTranslateExtent:g=>{var f;(f=h().panZoom)==null||f.setTranslateExtent(g),v({translateExtent:g})},resetSelectedElements:()=>{const{edges:g,nodes:f,triggerNodeChanges:N,triggerEdgeChanges:y,elementsSelectable:S}=h();if(!S)return;const w=f.reduce((C,M)=>M.selected?[...C,ln(M.id,!1)]:C,[]),A=g.reduce((C,M)=>M.selected?[...C,ln(M.id,!1)]:C,[]);N(w),y(A)},setNodeExtent:g=>{const{nodes:f,nodeLookup:N,parentLookup:y,nodeOrigin:S,elevateNodesOnSelect:w,nodeExtent:A,zIndexMode:C}=h();g[0][0]===A[0][0]&&g[0][1]===A[0][1]&&g[1][0]===A[1][0]&&g[1][1]===A[1][1]||(Ro(f,N,y,{nodeOrigin:S,nodeExtent:g,elevateNodesOnSelect:w,checkEquality:!1,zIndexMode:C}),v({nodeExtent:g}))},panBy:g=>{const{transform:f,width:N,height:y,panZoom:S,translateExtent:w}=h();return ch({delta:g,panZoom:S,transform:f,translateExtent:w,width:N,height:y})},setCenter:async(g,f,N)=>{const{width:y,height:S,maxZoom:w,panZoom:A}=h();if(!A)return!1;const C=typeof(N==null?void 0:N.zoom)!="undefined"?N.zoom:w;return await A.setViewport({x:y/2-g*C,y:S/2-f*C,zoom:C},{duration:N==null?void 0:N.duration,ease:N==null?void 0:N.ease,interpolate:N==null?void 0:N.interpolate}),!0},cancelConnection:()=>{v({connection:{...Qa}})},updateConnection:g=>{v({connection:g})},reset:()=>v({...Xl()})}},Object.is);function Op({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:a,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:m,nodeExtent:c,zIndexMode:b,children:v}){const[h]=x.useState(()=>_p({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:m,nodeExtent:c,zIndexMode:b}));return t.jsx(Yh,{value:h,children:t.jsx(yf,{children:t.jsx(Df,{children:v})})})}function Kp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:a,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:m,nodeOrigin:c,nodeExtent:b,zIndexMode:v}){return x.useContext(Fi)?t.jsx(t.Fragment,{children:e}):t.jsx(Op,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:a,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:m,nodeOrigin:c,nodeExtent:b,zIndexMode:v,children:e})}const Hp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Gp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:a,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:m,onMoveStart:c,onMoveEnd:b,onConnect:v,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:f,onNodeMouseEnter:N,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:w,onNodeDoubleClick:A,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:k,onNodesDelete:I,onEdgesDelete:P,onDelete:T,onSelectionChange:O,onSelectionDragStart:E,onSelectionDrag:_,onSelectionDragStop:B,onSelectionContextMenu:K,onSelectionStart:D,onSelectionEnd:L,onBeforeDelete:z,connectionMode:q,connectionLineType:W=qe.Bezier,connectionLineStyle:Y,connectionLineComponent:X,connectionLineContainerStyle:ne,deleteKeyCode:se="Backspace",selectionKeyCode:Q="Shift",selectionOnDrag:U=!1,selectionMode:V=jn.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:H=Xn()?"Meta":"Control",zoomActivationKeyCode:j=Xn()?"Meta":"Control",snapToGrid:F,snapGrid:$,onlyRenderVisibleElements:J=!1,selectNodesOnDrag:R,nodesDraggable:Z,autoPanOnNodeFocus:oe,nodesConnectable:ue,nodesFocusable:ce,nodeOrigin:me=il,edgesFocusable:Se,edgesReconnectable:be,elementsSelectable:we=!0,defaultViewport:Me=rf,minZoom:pe=.5,maxZoom:Ne=2,translateExtent:rn=$n,preventScrolling:qi=!0,nodeExtent:Mn,defaultMarkerColor:xg="#b1b1b7",zoomOnScroll:Sg=!0,zoomOnPinch:wg=!0,panOnScroll:Ng=!1,panOnScrollSpeed:Ag=.5,panOnScrollMode:Cg=on.Free,zoomOnDoubleClick:kg=!0,panOnDrag:Mg=!0,onPaneClick:Eg,onPaneMouseEnter:Tg,onPaneMouseMove:Pg,onPaneMouseLeave:Lg,onPaneScroll:Bg,onPaneContextMenu:Ig,paneClickDistance:Dg=1,nodeClickDistance:_g=0,children:Og,onReconnect:Kg,onReconnectStart:Hg,onReconnectEnd:Gg,onEdgeContextMenu:Fg,onEdgeDoubleClick:Vg,onEdgeMouseEnter:zg,onEdgeMouseMove:Wg,onEdgeMouseLeave:$g,reconnectRadius:jg=10,onNodesChange:Ug,onEdgesChange:qg,noDragClassName:Yg="nodrag",noWheelClassName:Jg="nowheel",noPanClassName:ir="nopan",fitView:or,fitViewOptions:sr,connectOnClick:Zg,attributionPosition:Xg,proOptions:Qg,defaultEdgeOptions:Rg,elevateNodesOnSelect:e0=!0,elevateEdgesOnSelect:n0=!1,disableKeyboardA11y:ar=!1,autoPanOnConnect:i0,autoPanOnNodeDrag:o0,autoPanOnSelection:s0=!0,autoPanSpeed:a0,connectionRadius:t0,isValidConnection:l0,onError:r0,style:d0,id:tr,nodeDragThreshold:u0,connectionDragThreshold:c0,viewport:m0,onViewportChange:b0,width:v0,height:h0,colorMode:f0="light",debug:p0,onScroll:Yi,ariaLabelConfig:g0,zIndexMode:lr="basic",...y0},x0){const hs=tr||"1",S0=cf(f0),w0=x.useCallback(rr=>{rr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Yi==null||Yi(rr)},[Yi]);return t.jsx("div",{"data-testid":"rf__wrapper",...y0,onScroll:w0,style:{...d0,...Hp},ref:x0,className:xe(["react-flow",s,S0]),id:tr,role:"application",children:t.jsxs(Kp,{nodes:e,edges:n,width:v0,height:h0,fitView:or,fitViewOptions:sr,minZoom:pe,maxZoom:Ne,nodeOrigin:me,nodeExtent:Mn,zIndexMode:lr,children:[t.jsx(uf,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:v,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:f,nodesDraggable:Z,autoPanOnNodeFocus:oe,nodesConnectable:ue,nodesFocusable:ce,edgesFocusable:Se,edgesReconnectable:be,elementsSelectable:we,elevateNodesOnSelect:e0,elevateEdgesOnSelect:n0,minZoom:pe,maxZoom:Ne,nodeExtent:Mn,onNodesChange:Ug,onEdgesChange:qg,snapToGrid:F,snapGrid:$,connectionMode:q,translateExtent:rn,connectOnClick:Zg,defaultEdgeOptions:Rg,fitView:or,fitViewOptions:sr,onNodesDelete:I,onEdgesDelete:P,onDelete:T,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:k,onSelectionDrag:_,onSelectionDragStart:E,onSelectionDragStop:B,onMove:m,onMoveStart:c,onMoveEnd:b,noPanClassName:ir,nodeOrigin:me,rfId:hs,autoPanOnConnect:i0,autoPanOnNodeDrag:o0,autoPanSpeed:a0,onError:r0,connectionRadius:t0,isValidConnection:l0,selectNodesOnDrag:R,nodeDragThreshold:u0,connectionDragThreshold:c0,onBeforeDelete:z,debug:p0,ariaLabelConfig:g0,zIndexMode:lr}),t.jsx(Ip,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:N,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:w,onNodeDoubleClick:A,nodeTypes:a,edgeTypes:l,connectionLineType:W,connectionLineStyle:Y,connectionLineComponent:X,connectionLineContainerStyle:ne,selectionKeyCode:Q,selectionOnDrag:U,selectionMode:V,deleteKeyCode:se,multiSelectionKeyCode:H,panActivationKeyCode:G,zoomActivationKeyCode:j,onlyRenderVisibleElements:J,defaultViewport:Me,translateExtent:rn,minZoom:pe,maxZoom:Ne,preventScrolling:qi,zoomOnScroll:Sg,zoomOnPinch:wg,zoomOnDoubleClick:kg,panOnScroll:Ng,panOnScrollSpeed:Ag,panOnScrollMode:Cg,panOnDrag:Mg,autoPanOnSelection:s0,onPaneClick:Eg,onPaneMouseEnter:Tg,onPaneMouseMove:Pg,onPaneMouseLeave:Lg,onPaneScroll:Bg,onPaneContextMenu:Ig,paneClickDistance:Dg,nodeClickDistance:_g,onSelectionContextMenu:K,onSelectionStart:D,onSelectionEnd:L,onReconnect:Kg,onReconnectStart:Hg,onReconnectEnd:Gg,onEdgeContextMenu:Fg,onEdgeDoubleClick:Vg,onEdgeMouseEnter:zg,onEdgeMouseMove:Wg,onEdgeMouseLeave:$g,reconnectRadius:jg,defaultMarkerColor:xg,noDragClassName:Yg,noWheelClassName:Jg,noPanClassName:ir,rfId:hs,disableKeyboardA11y:ar,nodeExtent:Mn,viewport:m0,onViewportChange:b0}),t.jsx(lf,{onSelectionChange:O}),Og,t.jsx(nf,{proOptions:Qg,position:Xg}),t.jsx(ef,{rfId:hs,disableKeyboardA11y:ar})]})})}var Fp=hl(Gp);function Vp(e){const[n,i]=x.useState(e),o=x.useCallback(s=>i(a=>ul(s,a)),[]);return[n,i,o]}function zp(e){const[n,i]=x.useState(e),o=x.useCallback(s=>i(a=>cl(s,a)),[]);return[n,i,o]}function Wp({dimensions:e,lineWidth:n,variant:i,className:o}){return t.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:xe(["react-flow__background-pattern",i,o])})}function $p({radius:e,className:n}){return t.jsx("circle",{cx:e,cy:e,r:e,className:xe(["react-flow__background-pattern","dots",n])})}var Ze;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ze||(Ze={}));const jp={[Ze.Dots]:1,[Ze.Lines]:1,[Ze.Cross]:6},Up=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ql({id:e,variant:n=Ze.Dots,gap:i=20,size:o,lineWidth:s=1,offset:a=0,color:l,bgColor:r,style:d,className:u,patternClassName:m}){const c=x.useRef(null),{transform:b,patternId:v}=de(Up,he),h=o||jp[n],p=n===Ze.Dots,g=n===Ze.Cross,f=Array.isArray(i)?i:[i,i],N=[f[0]*b[2]||1,f[1]*b[2]||1],y=h*b[2],S=Array.isArray(a)?a:[a,a],w=g?[y,y]:N,A=[S[0]*b[2]||1+w[0]/2,S[1]*b[2]||1+w[1]/2],C=`${v}${e||""}`;return t.jsxs("svg",{className:xe(["react-flow__background",u]),style:{...d,...Wi,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[t.jsx("pattern",{id:C,x:b[0]%N[0],y:b[1]%N[1],width:N[0],height:N[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:p?t.jsx($p,{radius:y/2,className:m}):t.jsx(Wp,{dimensions:w,lineWidth:s,variant:n,className:m})}),t.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}Ql.displayName="Background";const qp=x.memo(Ql);function Yp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:t.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Jp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:t.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Zp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:t.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 Xp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.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 Qp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.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 Ui({children:e,className:n,...i}){return t.jsx("button",{type:"button",className:xe(["react-flow__controls-button",n]),...i,children:e})}const Rp=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Rl({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:a,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:m,position:c="bottom-left",orientation:b="vertical","aria-label":v}){const h=fe(),{isInteractive:p,minZoomReached:g,maxZoomReached:f,ariaLabelConfig:N}=de(Rp,he),{zoomIn:y,zoomOut:S,fitView:w}=us(),A=()=>{y(),a==null||a()},C=()=>{S(),l==null||l()},M=()=>{w(s),r==null||r()},k=()=>{h.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),d==null||d(!p)},I=b==="horizontal"?"horizontal":"vertical";return t.jsxs(Vi,{className:xe(["react-flow__controls",I,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":v!=null?v:N["controls.ariaLabel"],children:[n&&t.jsxs(t.Fragment,{children:[t.jsx(Ui,{onClick:A,className:"react-flow__controls-zoomin",title:N["controls.zoomIn.ariaLabel"],"aria-label":N["controls.zoomIn.ariaLabel"],disabled:f,children:t.jsx(Yp,{})}),t.jsx(Ui,{onClick:C,className:"react-flow__controls-zoomout",title:N["controls.zoomOut.ariaLabel"],"aria-label":N["controls.zoomOut.ariaLabel"],disabled:g,children:t.jsx(Jp,{})})]}),i&&t.jsx(Ui,{className:"react-flow__controls-fitview",onClick:M,title:N["controls.fitView.ariaLabel"],"aria-label":N["controls.fitView.ariaLabel"],children:t.jsx(Zp,{})}),o&&t.jsx(Ui,{className:"react-flow__controls-interactive",onClick:k,title:N["controls.interactive.ariaLabel"],"aria-label":N["controls.interactive.ariaLabel"],children:p?t.jsx(Qp,{}):t.jsx(Xp,{})}),m]})}Rl.displayName="Controls";const eg=x.memo(Rl);function ng({id:e,x:n,y:i,width:o,height:s,style:a,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:m,shapeRendering:c,selected:b,onClick:v}){const{background:h,backgroundColor:p}=a||{},g=l||h||p;return t.jsx("rect",{className:xe(["react-flow__minimap-node",{selected:b},u]),x:n,y:i,rx:m,ry:m,width:o,height:s,style:{fill:g,stroke:r,strokeWidth:d},shapeRendering:c,onClick:v?f=>v(f,e):void 0})}const ig=x.memo(ng),og=e=>e.nodes.map(n=>n.id),vs=e=>e instanceof Function?e:()=>e;function sg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:a=ig,onClick:l}){const r=de(og,he),d=vs(n),u=vs(e),m=vs(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return t.jsx(t.Fragment,{children:r.map(b=>t.jsx(tg,{id:b,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:m,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:a,onClick:l,shapeRendering:c},b))})}function ag({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:m,y:c,width:b,height:v}=de(h=>{const p=h.nodeLookup.get(e);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const g=p.internals.userNode,{x:f,y:N}=p.internals.positionAbsolute,{width:y,height:S}=je(g);return{node:g,x:f,y:N,width:y,height:S}},he);return!u||u.hidden||!dt(u)?null:t.jsx(r,{x:m,y:c,width:b,height:v,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:a,shapeRendering:l,onClick:d,id:u.id})}const tg=x.memo(ag);var lg=x.memo(sg);const rg=200,dg=150,ug=e=>!e.hidden,cg=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?at(qn(e.nodeLookup,{filter:ug}),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 er({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:m,maskStrokeWidth:c,position:b="bottom-right",onClick:v,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:f,inversePan:N,zoomStep:y=1,offsetScale:S=5}){var F,$;const w=fe(),A=x.useRef(null),{boundingRect:C,viewBB:M,rfId:k,panZoom:I,translateExtent:P,flowWidth:T,flowHeight:O,ariaLabelConfig:E}=de(cg,he),_=(F=e==null?void 0:e.width)!=null?F:rg,B=($=e==null?void 0:e.height)!=null?$:dg,K=C.width/_,D=C.height/B,L=Math.max(K,D),z=L*_,q=L*B,W=S*L,Y=C.x-(z-C.width)/2-W,X=C.y-(q-C.height)/2-W,ne=z+W*2,se=q+W*2,Q=`${mg}-${k}`,U=x.useRef(0),V=x.useRef();U.current=L,x.useEffect(()=>{if(A.current&&I)return V.current=xh({domNode:A.current,panZoom:I,getTransform:()=>w.getState().transform,getViewScale:()=>U.current}),()=>{var J;(J=V.current)==null||J.destroy()}},[I]),x.useEffect(()=>{var J;(J=V.current)==null||J.update({translateExtent:P,width:T,height:O,inversePan:N,pannable:p,zoomStep:y,zoomable:g})},[p,g,N,y,P,T,O]);const G=v?J=>{var oe;const[R,Z]=((oe=V.current)==null?void 0:oe.pointer(J))||[0,0];v(J,{x:R,y:Z})}:void 0,H=h?x.useCallback((J,R)=>{const Z=w.getState().nodeLookup.get(R).internals.userNode;h(J,Z)},[]):void 0,j=f!=null?f:E["minimap.ariaLabel"];return t.jsx(Vi,{position:b,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 m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*L: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:xe(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:t.jsxs("svg",{width:_,height:B,viewBox:`${Y} ${X} ${ne} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Q,ref:A,onClick:G,children:[j&&t.jsx("title",{id:Q,children:j}),t.jsx(lg,{onClick:H,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:a,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),t.jsx("path",{className:"react-flow__minimap-mask",d:`M${Y-W},${X-W}h${ne+W*2}v${se+W*2}h${-ne-W*2}z
|
|
68
|
-
M${
|
|
67
|
+
`)),m=u.reduce((c,b)=>c.concat(...b),[]);return[u,m]}return[[],[]]},[e]);return x.useEffect(()=>{var m,c;const d=(m=n==null?void 0:n.target)!=null?m:tl,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!0;if(e!==null){const b=p=>{var N,y;if(s.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!s.current||s.current&&!u)&&bt(p))return!1;const f=rl(p.code,r);if(a.current.add(p[f]),ll(l,a.current,!1)){const S=((y=(N=p.composedPath)==null?void 0:N.call(p))==null?void 0:y[0])||p.target,w=(S==null?void 0:S.nodeName)==="BUTTON"||(S==null?void 0:S.nodeName)==="A";n.preventDefault!==!1&&(s.current||!w)&&p.preventDefault(),o(!0)}},v=p=>{const g=rl(p.code,r);ll(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(p[g]),p.key==="Meta"&&a.current.clear(),s.current=!1},h=()=>{a.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",b),d==null||d.addEventListener("keyup",v),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{d==null||d.removeEventListener("keydown",b),d==null||d.removeEventListener("keyup",v),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),i}function ll(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function rl(e,n){return n.includes(e)?"code":"key"}const mf=()=>{const e=fe();return x.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,a],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:a},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:a,maxZoom:l,panZoom:r}=e.getState(),d=Uo(n,o,s,a,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 b,v;const{transform:o,snapGrid:s,snapToGrid:a,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},m=(b=i.snapGrid)!=null?b:s,c=(v=i.snapToGrid)!=null?v:a;return Zn(u,o,c,m)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:a}=o.getBoundingClientRect(),l=Sn(n,i);return{x:l.x+s,y:l.y+a}}}),[])};function dl(e,n){const i=[],o=new Map,s=[];for(const a of e)if(a.type==="add"){s.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of n){const l=o.get(a.id);if(!l){i.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...a};for(const d of l)bf(d,r);i.push(r)}return s.length&&s.forEach(a=>{a.index!==void 0?i.splice(a.index,0,{...a.item}):i.push({...a.item})}),i}function bf(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 ul(e,n){return dl(e,n)}function cl(e,n){return dl(e,n)}function ln(e,n){return{id:e,type:"select",selected:n}}function Cn(e,n=new Set,i=!1){const o=[];for(const[s,a]of e){const l=n.has(s);!(a.selected===void 0&&!l)&&a.selected!==l&&(i&&(a.selected=l),o.push(ln(a.id,l)))}return o}function ml({items:e=[],lookup:n}){var s,a;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=(a=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?a: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 bl(e){return{id:e.id,type:"remove"}}const vf=rt("React Flow","https://reactflow.dev/");function hf(e,n,i={}){var o;return Qv(e,n,{...i,onError:(o=i.onError)!=null?o:vf})}const vl=e=>Kv(e),ff=e=>nt(e);function hl(e){return x.forwardRef(e)}const pf=typeof window!="undefined"?x.useLayoutEffect:x.useEffect;function fl(e){const[n,i]=x.useState(BigInt(0)),[o]=x.useState(()=>gf(()=>i(s=>s+BigInt(1))));return pf(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function gf(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const pl=x.createContext(null);function yf({children:e}){const n=fe(),i=x.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:m,onNodesChange:c,nodeLookup:b,fitViewQueued:v,onNodesChangeMiddlewareMap:h}=n.getState();let p=d;for(const f of r)p=typeof f=="function"?f(p):f;let g=ml({items:p,lookup:b});for(const f of h.values())g=f(g);m&&u(p),g.length>0?c==null||c(g):v&&window.requestAnimationFrame(()=>{const{fitViewQueued:f,nodes:N,setNodes:y}=n.getState();f&&y(N)})},[]),o=fl(i),s=x.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:m,onEdgesChange:c,edgeLookup:b}=n.getState();let v=d;for(const h of r)v=typeof h=="function"?h(v):h;m?u(v):c&&c(ml({items:v,lookup:b}))},[]),a=fl(s),l=x.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return t.jsx(pl.Provider,{value:l,children:e})}function xf(){const e=x.useContext(pl);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Sf=e=>!!e.panZoom;function us(){const e=mf(),n=fe(),i=xf(),o=ce(Sf),s=x.useMemo(()=>{const a=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var f,N,y,S;const{nodeLookup:b,nodeOrigin:v}=n.getState(),h=vl(c)?c:b.get(c.id),p=h.parentId?ut(h.position,h.measured,h.parentId,b,v):h.position,g={...h,position:p,width:(N=(f=h.measured)==null?void 0:f.width)!=null?N:h.width,height:(S=(y=h.measured)==null?void 0:y.height)!=null?S:h.height};return Yn(g)},u=(c,b,v={replace:!1})=>{l(h=>h.map(p=>{if(p.id===c){const g=typeof b=="function"?b(p):b;return v.replace&&vl(g)?g:{...p,...g}}return p}))},m=(c,b,v={replace:!1})=>{r(h=>h.map(p=>{if(p.id===c){const g=typeof b=="function"?b(p):b;return v.replace&&ff(g)?g:{...p,...g}}return p}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var b;return(b=a(c))==null?void 0:b.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(b=>({...b}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const b=Array.isArray(c)?c:[c];i.nodeQueue.push(v=>[...v,...b])},addEdges:c=>{const b=Array.isArray(c)?c:[c];i.edgeQueue.push(v=>[...v,...b])},toObject:()=>{const{nodes:c=[],edges:b=[],transform:v}=n.getState(),[h,p,g]=v;return{nodes:c.map(f=>({...f})),edges:b.map(f=>({...f})),viewport:{x:h,y:p,zoom:g}}},deleteElements:async({nodes:c=[],edges:b=[]})=>{const{nodes:v,edges:h,onNodesDelete:p,onEdgesDelete:g,triggerNodeChanges:f,triggerEdgeChanges:N,onDelete:y,onBeforeDelete:S}=n.getState(),{nodes:w,edges:A}=await zv({nodesToRemove:c,edgesToRemove:b,nodes:v,edges:h,onBeforeDelete:S}),C=A.length>0,E=w.length>0;if(C){const k=A.map(bl);g==null||g(A),N(k)}if(E){const k=w.map(bl);p==null||p(w),f(k)}return(E||C)&&(y==null||y({nodes:w,edges:A})),{deletedNodes:w,deletedEdges:A}},getIntersectingNodes:(c,b=!0,v)=>{const h=lt(c),p=h?c:d(c),g=v!==void 0;return p?(v||n.getState().nodes).filter(f=>{const N=n.getState().nodeLookup.get(f.id);if(N&&!h&&(f.id===c.id||!N.internals.positionAbsolute))return!1;const y=Yn(g?f:N),S=Di(y,p);return b&&S>0||S>=y.width*y.height||S>=p.width*p.height}):[]},isNodeIntersecting:(c,b,v=!0)=>{const p=lt(c)?c:d(c);if(!p)return!1;const g=Di(p,b);return v&&g>0||g>=b.width*b.height||g>=p.width*p.height},updateNode:u,updateNodeData:(c,b,v={replace:!1})=>{u(c,h=>{const p=typeof b=="function"?b(h):b;return v.replace?{...h,data:p}:{...h,data:{...h.data,...p}}},v)},updateEdge:m,updateEdgeData:(c,b,v={replace:!1})=>{m(c,h=>{const p=typeof b=="function"?b(h):b;return v.replace?{...h,data:p}:{...h,data:{...h.data,...p}}},v)},getNodesBounds:c=>{const{nodeLookup:b,nodeOrigin:v}=n.getState();return Hv(c,{nodeLookup:b,nodeOrigin:v})},getHandleConnections:({type:c,id:b,nodeId:v})=>{var h,p;return Array.from((p=(h=n.getState().connectionLookup.get(`${v}-${c}${b?`-${b}`:""}`))==null?void 0:h.values())!=null?p:[])},getNodeConnections:({type:c,handleId:b,nodeId:v})=>{var h,p;return Array.from((p=(h=n.getState().connectionLookup.get(`${v}${c?b?`-${c}-${b}`:`-${c}`:""}`))==null?void 0:h.values())!=null?p:[])},fitView:async c=>{var v;const b=(v=n.getState().fitViewResolver)!=null?v:jv();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:b}),i.nodeQueue.push(h=>[...h]),b.promise}}},[]);return x.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const gl=e=>e.selected,wf=typeof window!="undefined"?window:void 0;function Nf({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=fe(),{deleteElements:o}=us(),s=Rn(e,{actInsideInputWithModifier:!1}),a=Rn(n,{target:wf});x.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(gl),edges:l.filter(gl)}),i.setState({nodesSelectionActive:!1})}},[s]),x.useEffect(()=>{i.setState({multiSelectionActive:a})},[a])}function Af(e){const n=fe();x.useEffect(()=>{const i=()=>{var s,a,l,r,d;if(!e.current||!((l=(a=(s=e.current).checkVisibility)==null?void 0:a.call(s))==null||l))return!1;const o=qo(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Le.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 Wi={position:"absolute",width:"100%",height:"100%",top:0,left:0},Cf=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function kf({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:a=on.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:m,maxZoom:c,zoomActivationKeyCode:b,preventScrolling:v=!0,children:h,noWheelClassName:p,noPanClassName:g,onViewportChange:f,isControlledViewport:N,paneClickDistance:y,selectionOnDrag:S}){const w=fe(),A=x.useRef(null),{userSelectionActive:C,lib:E,connectionInProgress:k}=ce(Cf,he),I=Rn(b),P=x.useRef();Af(A);const T=x.useCallback(O=>{f==null||f({x:O[0],y:O[1],zoom:O[2]}),N||w.setState({transform:O})},[f,N]);return x.useEffect(()=>{if(A.current){P.current=Eh({domNode:A.current,minZoom:m,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:B=>w.setState(K=>K.paneDragging===B?K:{paneDragging:B}),onPanZoomStart:(B,K)=>{const{onViewportChangeStart:D,onMoveStart:L}=w.getState();L==null||L(B,K),D==null||D(K)},onPanZoom:(B,K)=>{const{onViewportChange:D,onMove:L}=w.getState();L==null||L(B,K),D==null||D(K)},onPanZoomEnd:(B,K)=>{const{onViewportChangeEnd:D,onMoveEnd:L}=w.getState();L==null||L(B,K),D==null||D(K)}});const{x:O,y:M,zoom:_}=P.current.getViewport();return w.setState({panZoom:P.current,transform:[O,M,_],domNode:A.current.closest(".react-flow")}),()=>{var B;(B=P.current)==null||B.destroy()}}},[]),x.useEffect(()=>{var O;(O=P.current)==null||O.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:I,preventScrolling:v,noPanClassName:g,userSelectionActive:C,noWheelClassName:p,lib:E,onTransformChange:T,connectionInProgress:k,selectionOnDrag:S,paneClickDistance:y})},[e,n,i,o,s,a,l,r,I,v,g,C,p,E,T,k,S,y]),t.jsx("div",{className:"react-flow__renderer",ref:A,style:Wi,children:h})}const Mf=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Ef(){const{userSelectionActive:e,userSelectionRect:n}=ce(Mf,he);return e&&n?t.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 cs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},Tf=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Pf({isSelecting:e,selectionKeyPressed:n,selectionMode:i=jn.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:a,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:m,onPaneScroll:c,onPaneMouseEnter:b,onPaneMouseMove:v,onPaneMouseLeave:h,children:p}){const g=x.useRef(0),f=fe(),{userSelectionActive:N,elementsSelectable:y,dragging:S,panBy:w,autoPanSpeed:A}=ce(Tf,he),C=y&&(e||N),E=x.useRef(null),k=x.useRef(),I=x.useRef(new Set),P=x.useRef(new Set),T=x.useRef(!1),O=x.useRef(!1),M=x.useRef({x:0,y:0}),_=x.useRef(!1),B=j=>{if(O.current||T.current||f.getState().connection.inProgress){O.current=!1,T.current=!1;return}u==null||u(j),f.getState().resetSelectedElements(),f.setState({nodesSelectionActive:!1})},K=j=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){j.preventDefault();return}m==null||m(j)},D=c?j=>c(j):void 0,L=j=>{O.current&&(j.stopPropagation(),O.current=!1)},z=j=>{var J,ee;const{domNode:V,transform:G}=f.getState();if(k.current=V==null?void 0:V.getBoundingClientRect(),!k.current)return;const H=j.target===E.current;if(!H&&!!j.target.closest(".nokey")||!e||!(l&&H||n)||j.button!==0||!j.isPrimary)return;(ee=(J=j.target)==null?void 0:J.setPointerCapture)==null||ee.call(J,j.pointerId),O.current=!1;const{x:q,y:R}=Oe(j.nativeEvent,k.current),Z=Zn({x:q,y:R},G);f.setState({userSelectionRect:{width:0,height:0,startX:Z.x,startY:Z.y,x:q,y:R}}),H||(j.stopPropagation(),j.preventDefault())};function U(j,V){var Me,pe;const{userSelectionRect:G}=f.getState();if(!G)return;const{transform:H,nodeLookup:$,edgeLookup:F,connectionLookup:q,triggerNodeChanges:R,triggerEdgeChanges:Z,defaultEdgeOptions:J}=f.getState(),ee={x:G.startX,y:G.startY},{x:ae,y:ue}=Sn(ee,H),me={startX:ee.x,startY:ee.y,x:j<ae?j:ae,y:V<ue?V:ue,width:Math.abs(j-ae),height:Math.abs(V-ue)},ye=I.current,be=P.current;I.current=new Set(Wo($,me,H,i===jn.Partial,!0).map(Ne=>Ne.id)),P.current=new Set;const we=(Me=J==null?void 0:J.selectable)!=null?Me:!0;for(const Ne of I.current){const rn=q.get(Ne);if(rn)for(const{edgeId:qi}of rn.values()){const Mn=F.get(qi);Mn&&((pe=Mn.selectable)!=null?pe:we)&&P.current.add(qi)}}if(!ct(ye,I.current)){const Ne=Cn($,I.current,!0);R(Ne)}if(!ct(be,P.current)){const Ne=Cn(F,P.current);Z(Ne)}f.setState({userSelectionRect:me,userSelectionActive:!0,nodesSelectionActive:!1})}function W(){if(!s||!k.current)return;const[j,V]=$o(M.current,k.current,A);w({x:j,y:V}).then(G=>{if(!O.current||!G){g.current=requestAnimationFrame(W);return}const{x:H,y:$}=M.current;U(H,$),g.current=requestAnimationFrame(W)})}const Y=()=>{cancelAnimationFrame(g.current),g.current=0,_.current=!1};x.useEffect(()=>()=>Y(),[]);const X=j=>{const{userSelectionRect:V,transform:G,resetSelectedElements:H}=f.getState();if(!k.current||!V)return;const{x:$,y:F}=Oe(j.nativeEvent,k.current);M.current={x:$,y:F};const q=Sn({x:V.startX,y:V.startY},G);if(!O.current){const R=n?0:a;if(Math.hypot($-q.x,F-q.y)<=R)return;H(),r==null||r(j)}O.current=!0,_.current||(W(),_.current=!0),U($,F)},ie=j=>{var V,G;if(!C){j.target===E.current&&f.getState().connection.inProgress&&(T.current=!0);return}j.button===0&&((G=(V=j.target)==null?void 0:V.releasePointerCapture)==null||G.call(V,j.pointerId),!N&&j.target===E.current&&f.getState().userSelectionRect&&(B==null||B(j)),f.setState({userSelectionActive:!1,userSelectionRect:null}),O.current&&(d==null||d(j),f.setState({nodesSelectionActive:I.current.size>0})),Y())},se=j=>{var V,G;(G=(V=j.target)==null?void 0:V.releasePointerCapture)==null||G.call(V,j.pointerId),Y()},Q=o===!0||Array.isArray(o)&&o.includes(0);return t.jsxs("div",{className:Se(["react-flow__pane",{draggable:Q,dragging:S,selection:e}]),onClick:C?void 0:cs(B,E),onContextMenu:cs(K,E),onWheel:cs(D,E),onPointerEnter:C?void 0:b,onPointerMove:C?X:v,onPointerUp:ie,onPointerCancel:C?se:void 0,onPointerDownCapture:C?z:void 0,onClickCapture:C?L:void 0,onPointerLeave:h,ref:E,style:Wi,children:[p,t.jsx(Ef,{})]})}function ms({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Le.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(a({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var m;return(m=o==null?void 0:o.current)==null?void 0:m.blur()})):s([e])}function yl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:a,nodeClickDistance:l}){const r=fe(),[d,u]=x.useState(!1),m=x.useRef();return x.useEffect(()=>{m.current=vh({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{ms({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),x.useEffect(()=>{if(!(n||!e.current||!m.current))return m.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=m.current)==null||c.destroy()}},[i,o,n,a,e,s,l]),d}const Lf=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function xl(){const e=fe();return x.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:a,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:m}=e.getState(),c=new Map,b=Lf(l),v=s?a[0]:5,h=s?a[1]:5,p=i.direction.x*v*i.factor,g=i.direction.y*h*i.factor;for(const[,f]of u){if(!b(f))continue;let N={x:f.internals.positionAbsolute.x+p,y:f.internals.positionAbsolute.y+g};s&&(N=Jn(N,a));const{position:y,positionAbsolute:S}=it({nodeId:f.id,nextPosition:N,nodeLookup:u,nodeExtent:o,nodeOrigin:m,onError:r});f.position=y,f.internals.positionAbsolute=S,c.set(f.id,f)}d(c)},[])}const bs=x.createContext(null),Bf=bs.Provider;bs.Consumer;const Sl=()=>x.useContext(bs),If=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),wl=x.createContext(null);function Df({children:e}){const n=ce(If,he);return t.jsx(wl.Provider,{value:n,children:e})}function _f(){const e=x.useContext(wl);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Of={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Kf=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:a,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Of;const m=(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:m,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:a===gn.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:m&&u}};function Hf({type:e="source",position:n=oe.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:a=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:m,onTouchStart:c,...b},v){var _,B;const h=l||null,p=e==="target",g=fe(),f=Sl(),{connectOnClick:N,noPanClassName:y,rfId:S}=_f(),{connectingFrom:w,connectingTo:A,clickConnecting:C,isPossibleEndHandle:E,connectionInProcess:k,clickConnectionInProcess:I,valid:P}=ce(Kf(f,h,e),he);f||(B=(_=g.getState()).onError)==null||B.call(_,"010",Le.error010());const T=K=>{const{defaultEdgeOptions:D,onConnect:L,hasDefaultEdges:z}=g.getState(),U={...D,...K};if(z){const{edges:W,setEdges:Y,onError:X}=g.getState();Y(hf(U,W,{onError:X}))}L==null||L(U),r==null||r(U)},O=K=>{if(!f)return;const D=vt(K.nativeEvent);if(s&&(D&&K.button===0||!D)){const L=g.getState();os.onPointerDown(K.nativeEvent,{handleDomNode:K.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:p,handleId:h,nodeId:f,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...z)=>{var U,W;return(W=(U=g.getState()).onConnectEnd)==null?void 0:W.call(U,...z)},updateConnection:L.updateConnection,onConnect:T,isValidConnection:i||((...z)=>{var U,W,Y;return(Y=(W=(U=g.getState()).isValidConnection)==null?void 0:W.call(U,...z))!=null?Y:!0}),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}D?m==null||m(K):c==null||c(K)},M=K=>{const{onClickConnectStart:D,onClickConnectEnd:L,connectionClickStartHandle:z,connectionMode:U,isValidConnection:W,lib:Y,rfId:X,nodeLookup:ie,connection:se}=g.getState();if(!f||!z&&!s)return;if(!z){D==null||D(K.nativeEvent,{nodeId:f,handleId:h,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:f,type:e,id:h}});return}const Q=mt(K.target),j=i||W,{connection:V,isValid:G}=os.isValid(K.nativeEvent,{handle:{nodeId:f,id:h,type:e},connectionMode:U,fromNodeId:z.nodeId,fromHandleId:z.id||null,fromType:z.type,isValidConnection:j,flowId:X,doc:Q,lib:Y,nodeLookup:ie});G&&V&&T(V);const H=structuredClone(se);delete H.inProgress,H.toPosition=H.toHandle?H.toHandle.position:null,L==null||L(K,H),g.setState({connectionClickStartHandle:null})};return t.jsx("div",{"data-handleid":h,"data-nodeid":f,"data-handlepos":n,"data-id":`${S}-${f}-${h}-${e}`,className:Se(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",y,u,{source:!p,target:p,connectable:o,connectablestart:s,connectableend:a,clickconnecting:C,connectingfrom:w,connectingto:A,valid:P,connectionindicator:o&&(!k||E)&&(k||I?a:s)}]),onMouseDown:O,onTouchStart:O,onClick:N?M:void 0,ref:v,...b,children:d})}const kn=x.memo(hl(Hf));function Gf({data:e,isConnectable:n,sourcePosition:i=oe.Bottom}){return t.jsxs(t.Fragment,{children:[e==null?void 0:e.label,t.jsx(kn,{type:"source",position:i,isConnectable:n})]})}function Ff({data:e,isConnectable:n,targetPosition:i=oe.Top,sourcePosition:o=oe.Bottom}){return t.jsxs(t.Fragment,{children:[t.jsx(kn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,t.jsx(kn,{type:"source",position:o,isConnectable:n})]})}function Vf(){return null}function zf({data:e,isConnectable:n,targetPosition:i=oe.Top}){return t.jsxs(t.Fragment,{children:[t.jsx(kn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const $i={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Nl={input:Gf,default:Ff,output:zf,group:Vf};function Wf(e){var n,i,o,s,a,l,r,d,u,m;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:(a=e.style)==null?void 0:a.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(m=e.height)!=null?m:(u=e.style)==null?void 0:u.height}}const $f=e=>{const{width:n,height:i,x:o,y:s}=qn(e.nodeLookup,{filter:a=>!!a.selected});return{width:_e(n)?n:null,height:_e(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 jf({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=fe(),{width:s,height:a,transformString:l,userSelectionActive:r}=ce($f,he),d=xl(),u=x.useRef(null);x.useEffect(()=>{var v;i||(v=u.current)==null||v.focus({preventScroll:!0})},[i]);const m=!r&&s!==null&&a!==null;if(yl({nodeRef:u,disabled:!m}),!m)return null;const c=e?v=>{const h=o.getState().nodes.filter(p=>p.selected);e(v,h)}:void 0,b=v=>{Object.prototype.hasOwnProperty.call($i,v.key)&&(v.preventDefault(),d({direction:$i[v.key],factor:v.shiftKey?4:1}))};return t.jsx("div",{className:Se(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:t.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:b,style:{width:s,height:a}})})}const Al=typeof window!="undefined"?window:void 0,Uf=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Cl({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:m,selectionMode:c,onSelectionStart:b,onSelectionEnd:v,multiSelectionKeyCode:h,panActivationKeyCode:p,zoomActivationKeyCode:g,elementsSelectable:f,zoomOnScroll:N,zoomOnPinch:y,panOnScroll:S,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:C,panOnDrag:E,autoPanOnSelection:k,defaultViewport:I,translateExtent:P,minZoom:T,maxZoom:O,preventScrolling:M,onSelectionContextMenu:_,noWheelClassName:B,noPanClassName:K,disableKeyboardA11y:D,onViewportChange:L,isControlledViewport:z}){const{nodesSelectionActive:U,userSelectionActive:W}=ce(Uf,he),Y=Rn(u,{target:Al}),X=Rn(p,{target:Al}),ie=X||E,se=X||S,Q=m&&ie!==!0,j=Y||W||Q;return Nf({deleteKeyCode:d,multiSelectionKeyCode:h}),t.jsx(kf,{onPaneContextMenu:a,elementsSelectable:f,zoomOnScroll:N,zoomOnPinch:y,panOnScroll:se,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:C,panOnDrag:!Y&&ie,defaultViewport:I,translateExtent:P,minZoom:T,maxZoom:O,zoomActivationKeyCode:g,preventScrolling:M,noWheelClassName:B,noPanClassName:K,onViewportChange:L,isControlledViewport:z,paneClickDistance:r,selectionOnDrag:Q,children:t.jsxs(Pf,{onSelectionStart:b,onSelectionEnd:v,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:ie,autoPanOnSelection:k,isSelecting:!!j,selectionMode:c,selectionKeyPressed:Y,paneClickDistance:r,selectionOnDrag:Q,children:[e,U&&t.jsx(jf,{onSelectionContextMenu:_,noPanClassName:K,disableKeyboardA11y:D})]})})}Cl.displayName="FlowRenderer";const qf=x.memo(Cl),Yf=e=>n=>e?Wo(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 Jf(e){return ce(x.useCallback(Yf(e),[e]),he)}const Zf=e=>e.updateNodeInternals;function Xf(){const e=ce(Zf),[n]=x.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const a=s.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:s.target,force:!0})}),e(o)}));return x.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function Qf({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=fe(),a=x.useRef(null),l=x.useRef(null),r=x.useRef(e.sourcePosition),d=x.useRef(e.targetPosition),u=x.useRef(n),m=i&&!!e.internals.handleBounds;return x.useEffect(()=>{a.current&&!e.hidden&&(!m||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[m,e.hidden]),x.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),x.useEffect(()=>{if(a.current){const c=u.current!==n,b=r.current!==e.sourcePosition,v=d.current!==e.targetPosition;(c||b||v)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),a}function Rf({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:a,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:m,resizeObserver:c,noDragClassName:b,noPanClassName:v,disableKeyboardA11y:h,rfId:p,nodeTypes:g,nodeClickDistance:f,onError:N}){var j,V,G;const{node:y,internals:S,isParent:w}=ce(H=>{const $=H.nodeLookup.get(e),F=H.parentLookup.has(e);return{node:$,internals:$.internals,isParent:F}},he);let A=y.type||"default",C=(g==null?void 0:g[A])||Nl[A];C===void 0&&(N==null||N("003",Le.error003(A)),A="default",C=(g==null?void 0:g.default)||Nl.default);const E=!!(y.draggable||r&&typeof y.draggable=="undefined"),k=!!(y.selectable||d&&typeof y.selectable=="undefined"),I=!!(y.connectable||u&&typeof y.connectable=="undefined"),P=!!(y.focusable||m&&typeof y.focusable=="undefined"),T=fe(),O=dt(y),M=Qf({node:y,nodeType:A,hasDimensions:O,resizeObserver:c}),_=yl({nodeRef:M,disabled:y.hidden||!E,noDragClassName:b,handleSelector:y.dragHandle,nodeId:e,isSelectable:k,nodeClickDistance:f}),B=xl();if(y.hidden)return null;const K=je(y),D=Wf(y),L=k||E||n||i||o||s,z=i?H=>i(H,{...S.userNode}):void 0,U=o?H=>o(H,{...S.userNode}):void 0,W=s?H=>s(H,{...S.userNode}):void 0,Y=a?H=>a(H,{...S.userNode}):void 0,X=l?H=>l(H,{...S.userNode}):void 0,ie=H=>{const{selectNodesOnDrag:$,nodeDragThreshold:F}=T.getState();k&&(!$||!E||F>0)&&ms({id:e,store:T,nodeRef:M}),n&&n(H,{...S.userNode})},se=H=>{if(!(bt(H.nativeEvent)||h)){if(Za.includes(H.key)&&k){const $=H.key==="Escape";ms({id:e,store:T,unselect:$,nodeRef:M})}else if(E&&y.selected&&Object.prototype.hasOwnProperty.call($i,H.key)){H.preventDefault();const{ariaLabelConfig:$}=T.getState();T.setState({ariaLiveMessage:$["node.a11yDescription.ariaLiveMessage"]({direction:H.key.replace("Arrow","").toLowerCase(),x:~~S.positionAbsolute.x,y:~~S.positionAbsolute.y})}),B({direction:$i[H.key],factor:H.shiftKey?4:1})}}},Q=()=>{var J;if(h||!((J=M.current)!=null&&J.matches(":focus-visible")))return;const{transform:H,width:$,height:F,autoPanOnNodeFocus:q,setCenter:R}=T.getState();if(!q)return;Wo(new Map([[e,y]]),{x:0,y:0,width:$,height:F},H,!0).length>0||R(y.position.x+K.width/2,y.position.y+K.height/2,{zoom:H[2]})};return t.jsx("div",{className:Se(["react-flow__node",`react-flow__node-${A}`,{[v]:E},y.className,{selected:y.selected,selectable:k,parent:w,draggable:E,dragging:_}]),ref:M,style:{zIndex:S.z,transform:`translate(${S.positionAbsolute.x}px,${S.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:O?"visible":"hidden",...y.style,...D},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:z,onMouseMove:U,onMouseLeave:W,onContextMenu:Y,onClick:ie,onDoubleClick:X,onKeyDown:P?se:void 0,tabIndex:P?0:void 0,onFocus:P?Q:void 0,role:(j=y.ariaRole)!=null?j:P?"group":void 0,"aria-roledescription":"node","aria-describedby":h?void 0:`${Rt}-${p}`,"aria-label":y.ariaLabel,...y.domAttributes,children:t.jsx(Bf,{value:e,children:t.jsx(C,{id:e,data:y.data,type:A,positionAbsoluteX:S.positionAbsolute.x,positionAbsoluteY:S.positionAbsolute.y,selected:(V=y.selected)!=null?V:!1,selectable:k,draggable:E,deletable:(G=y.deletable)!=null?G:!0,isConnectable:I,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:_,dragHandle:y.dragHandle,zIndex:S.z,parentId:y.parentId,...K})})})}var ep=x.memo(Rf);const np=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function kl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:a}=ce(np,he),l=Jf(e.onlyRenderVisibleElements),r=Xf();return t.jsx("div",{className:"react-flow__nodes",style:Wi,children:l.map(d=>t.jsx(ep,{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:a},d))})}kl.displayName="NodeRenderer";const ip=x.memo(kl);function op(e){return ce(x.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 a=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);a&&l&&Jv({sourceNode:a,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),he)}const sp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return t.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},ap=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return t.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ml={[yn.Arrow]:sp,[yn.ArrowClosed]:ap};function tp(e){const n=fe();return x.useMemo(()=>{var s,a;return Object.prototype.hasOwnProperty.call(Ml,e)?Ml[e]:((a=(s=n.getState()).onError)==null||a.call(s,"009",Le.error009(e)),null)},[e])}const lp=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=tp(n);return d?t.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:r,refX:"0",refY:"0",children:t.jsx(d,{color:i,strokeWidth:l})}):null},El=({defaultColor:e,rfId:n})=>{const i=ce(a=>a.edges),o=ce(a=>a.defaultEdgeOptions),s=x.useMemo(()=>oh(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?t.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:t.jsx("defs",{children:s.map(a=>t.jsx(lp,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};El.displayName="MarkerDefinitions";var rp=x.memo(El);function Tl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...m}){const[c,b]=x.useState({x:1,y:0,width:0,height:0}),v=Se(["react-flow__edge-textwrapper",u]),h=x.useRef(null);return x.useEffect(()=>{if(h.current){const p=h.current.getBBox();b({x:p.x,y:p.y,width:p.width,height:p.height})}},[i]),i?t.jsxs("g",{transform:`translate(${e-c.width/2} ${n-c.height/2})`,className:v,visibility:c.width?"visible":"hidden",...m,children:[s&&t.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:a,rx:r,ry:r}),t.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:h,style:o,children:i}),d]}):null}Tl.displayName="EdgeText";const dp=x.memo(Tl);function ji({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...m}){return t.jsxs(t.Fragment,{children:[t.jsx("path",{...m,d:e,fill:"none",className:Se(["react-flow__edge-path",m.className])}),u?t.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&_e(n)&&_e(i)?t.jsx(dp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Pl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===oe.Left||e===oe.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function Ll({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:s,targetPosition:a=oe.Top}){const[l,r]=Pl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Pl({pos:a,x1:o,y1:s,x2:e,y2:n}),[m,c,b,v]=ft({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}`,m,c,b,v]}function Bl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:f})=>{const[N,y,S]=Ll({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:r}),w=e.isInternal?void 0:n;return t.jsx(ji,{id:w,path:N,labelX:y,labelY:S,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:f})})}const up=Bl({isInternal:!1}),Il=Bl({isInternal:!0});up.displayName="SimpleBezierEdge",Il.displayName="SimpleBezierEdgeInternal";function Dl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,sourcePosition:v=oe.Bottom,targetPosition:h=oe.Top,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:N})=>{const[y,S,w]=Yo({sourceX:i,sourceY:o,sourcePosition:v,targetX:s,targetY:a,targetPosition:h,borderRadius:f==null?void 0:f.borderRadius,offset:f==null?void 0:f.offset,stepPosition:f==null?void 0:f.stepPosition}),A=e.isInternal?void 0:n;return t.jsx(ji,{id:A,path:y,labelX:S,labelY:w,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:p,markerStart:g,interactionWidth:N})})}const _l=Dl({isInternal:!1}),Ol=Dl({isInternal:!0});_l.displayName="SmoothStepEdge",Ol.displayName="SmoothStepEdgeInternal";function Kl(e){return x.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return t.jsx(_l,{...i,id:o,pathOptions:x.useMemo(()=>{var a;return{borderRadius:0,offset:(a=i.pathOptions)==null?void 0:a.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const cp=Kl({isInternal:!1}),Hl=Kl({isInternal:!0});cp.displayName="StepEdge",Hl.displayName="StepEdgeInternal";function Gl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:v,markerStart:h,interactionWidth:p})=>{const[g,f,N]=xt({sourceX:i,sourceY:o,targetX:s,targetY:a}),y=e.isInternal?void 0:n;return t.jsx(ji,{id:y,path:g,labelX:f,labelY:N,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:m,labelBgBorderRadius:c,style:b,markerEnd:v,markerStart:h,interactionWidth:p})})}const mp=Gl({isInternal:!1}),Fl=Gl({isInternal:!0});mp.displayName="StraightEdge",Fl.displayName="StraightEdgeInternal";function Vl(e){return x.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:a,sourcePosition:l=oe.Bottom,targetPosition:r=oe.Top,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,pathOptions:f,interactionWidth:N})=>{const[y,S,w]=gt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:r,curvature:f==null?void 0:f.curvature}),A=e.isInternal?void 0:n;return t.jsx(ji,{id:A,path:y,labelX:S,labelY:w,label:d,labelStyle:u,labelShowBg:m,labelBgStyle:c,labelBgPadding:b,labelBgBorderRadius:v,style:h,markerEnd:p,markerStart:g,interactionWidth:N})})}const bp=Vl({isInternal:!1}),zl=Vl({isInternal:!0});bp.displayName="BezierEdge",zl.displayName="BezierEdgeInternal";const Wl={default:zl,straight:Fl,step:Hl,smoothstep:Ol,simplebezier:Il},$l={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},vp=(e,n,i)=>i===oe.Left?e-n:i===oe.Right?e+n:e,hp=(e,n,i)=>i===oe.Top?e-n:i===oe.Bottom?e+n:e,jl="react-flow__edgeupdater";function Ul({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:a,onMouseOut:l,type:r}){return t.jsx("circle",{onMouseDown:s,onMouseEnter:a,onMouseOut:l,className:Se([jl,`${jl}-${r}`]),cx:vp(n,o,e),cy:hp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function fp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:a,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:m,onReconnectEnd:c,setReconnecting:b,setUpdateHover:v}){const h=fe(),p=(S,w)=>{if(S.button!==0)return;const{autoPanOnConnect:A,domNode:C,connectionMode:E,connectionRadius:k,lib:I,onConnectStart:P,cancelConnection:T,nodeLookup:O,rfId:M,panBy:_,updateConnection:B}=h.getState(),K=w.type==="target",D=(U,W)=>{b(!1),c==null||c(U,i,w.type,W)},L=U=>u==null?void 0:u(i,U),z=(U,W)=>{b(!0),m==null||m(S,i,w.type),P==null||P(U,W)};os.onPointerDown(S.nativeEvent,{autoPanOnConnect:A,connectionMode:E,connectionRadius:k,domNode:C,handleId:w.id,nodeId:w.nodeId,nodeLookup:O,isTarget:K,edgeUpdaterType:w.type,lib:I,flowId:M,cancelConnection:T,panBy:_,isValidConnection:(...U)=>{var W,Y,X;return(X=(Y=(W=h.getState()).isValidConnection)==null?void 0:Y.call(W,...U))!=null?X:!0},onConnect:L,onConnectStart:z,onConnectEnd:(...U)=>{var W,Y;return(Y=(W=h.getState()).onConnectEnd)==null?void 0:Y.call(W,...U)},onReconnectEnd:D,updateConnection:B,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:S.currentTarget})},g=S=>{var w;return p(S,{nodeId:i.target,id:(w=i.targetHandle)!=null?w:null,type:"target"})},f=S=>{var w;return p(S,{nodeId:i.source,id:(w=i.sourceHandle)!=null?w:null,type:"source"})},N=()=>v(!0),y=()=>v(!1);return t.jsxs(t.Fragment,{children:[(e===!0||e==="source")&&t.jsx(Ul,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:g,onMouseEnter:N,onMouseOut:y,type:"source"}),(e===!0||e==="target")&&t.jsx(Ul,{position:d,centerX:a,centerY:l,radius:n,onMouseDown:f,onMouseEnter:N,onMouseOut:y,type:"target"})]})}function pp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:a,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:m,onReconnect:c,onReconnectStart:b,onReconnectEnd:v,rfId:h,edgeTypes:p,noPanClassName:g,onError:f,disableKeyboardA11y:N}){var $,F;let y=ce(q=>q.edgeLookup.get(e));const S=ce(q=>q.defaultEdgeOptions);y=S?{...S,...y}:y;let w=y.type||"default",A=(p==null?void 0:p[w])||Wl[w];A===void 0&&(f==null||f("011",Le.error011(w)),w="default",A=(p==null?void 0:p.default)||Wl.default);const C=!!(y.focusable||n&&typeof y.focusable=="undefined"),E=typeof c!="undefined"&&(y.reconnectable||i&&typeof y.reconnectable=="undefined"),k=!!(y.selectable||o&&typeof y.selectable=="undefined"),I=x.useRef(null),[P,T]=x.useState(!1),[O,M]=x.useState(!1),_=fe(),{zIndex:B=y.zIndex,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:U,targetPosition:W}=ce(x.useCallback(q=>{const R=q.nodeLookup.get(y.source),Z=q.nodeLookup.get(y.target);if(!R||!Z)return $l;const J=ih({id:e,sourceNode:R,targetNode:Z,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:q.connectionMode,onError:f}),ee=Yv({selected:y.selected,zIndex:y.zIndex,sourceNode:R,targetNode:Z,elevateOnSelect:q.elevateEdgesOnSelect,zIndexMode:q.zIndexMode});return{...J||$l,zIndex:ee}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),he),Y=x.useMemo(()=>y.markerStart?`url('#${Jo(y.markerStart,h)}')`:void 0,[y.markerStart,h]),X=x.useMemo(()=>y.markerEnd?`url('#${Jo(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||K===null||D===null||L===null||z===null)return null;const ie=q=>{var ee;const{addSelectedEdges:R,unselectNodesAndEdges:Z,multiSelectionActive:J}=_.getState();k&&(_.setState({nodesSelectionActive:!1}),y.selected&&J?(Z({nodes:[],edges:[y]}),(ee=I.current)==null||ee.blur()):R([e])),s&&s(q,y)},se=a?q=>{a(q,{...y})}:void 0,Q=l?q=>{l(q,{...y})}:void 0,j=r?q=>{r(q,{...y})}:void 0,V=d?q=>{d(q,{...y})}:void 0,G=u?q=>{u(q,{...y})}:void 0,H=q=>{var R;if(!N&&Za.includes(q.key)&&k){const{unselectNodesAndEdges:Z,addSelectedEdges:J}=_.getState();q.key==="Escape"?((R=I.current)==null||R.blur(),Z({edges:[y]})):J([e])}};return t.jsx("svg",{style:{zIndex:B},children:t.jsxs("g",{className:Se(["react-flow__edge",`react-flow__edge-${w}`,y.className,g,{selected:y.selected,animated:y.animated,inactive:!k&&!s,updating:P,selectable:k}]),onClick:ie,onDoubleClick:se,onContextMenu:Q,onMouseEnter:j,onMouseMove:V,onMouseLeave:G,onKeyDown:C?H:void 0,tabIndex:C?0:void 0,role:($=y.ariaRole)!=null?$:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":y.ariaLabel===null?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":C?`${el}-${h}`:void 0,ref:I,...y.domAttributes,children:[!O&&t.jsx(A,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:k,deletable:(F=y.deletable)!=null?F:!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:U,targetPosition:W,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:Y,markerEnd:X,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),E&&t.jsx(fp,{edge:y,isReconnectable:E,reconnectRadius:m,onReconnect:c,onReconnectStart:b,onReconnectEnd:v,sourceX:K,sourceY:D,targetX:L,targetY:z,sourcePosition:U,targetPosition:W,setUpdateHover:T,setReconnecting:M})]})})}var gp=x.memo(pp);const yp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function ql({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:m,reconnectRadius:c,onEdgeDoubleClick:b,onReconnectStart:v,onReconnectEnd:h,disableKeyboardA11y:p}){const{edgesFocusable:g,edgesReconnectable:f,elementsSelectable:N,onError:y}=ce(yp,he),S=op(n);return t.jsxs("div",{className:"react-flow__edges",children:[t.jsx(rp,{defaultColor:e,rfId:i}),S.map(w=>t.jsx(gp,{id:w,edgesFocusable:g,edgesReconnectable:f,elementsSelectable:N,noPanClassName:s,onReconnect:a,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:m,reconnectRadius:c,onDoubleClick:b,onReconnectStart:v,onReconnectEnd:h,rfId:i,onError:y,edgeTypes:o,disableKeyboardA11y:p},w))]})}ql.displayName="EdgeRenderer";const xp=x.memo(ql),Sp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function wp({children:e}){const n=ce(Sp);return t.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Np(e){const n=us(),i=x.useRef(!1);x.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Ap=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Cp(e){const n=ce(Ap),i=fe();return x.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function kp(e){return e.connection.inProgress?{...e.connection,to:Zn(e.connection.to,e.transform)}:{...e.connection}}function Mp(e){return kp}function Ep(e){const n=Mp();return ce(n,he)}const Tp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Pp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:a,height:l,isValid:r,inProgress:d}=ce(Tp,he);return!(a&&s&&d)?null:t.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:t.jsx("g",{className:Se(["react-flow__connection",et(r)]),children:t.jsx(Yl,{style:n,type:i,CustomComponent:o,isValid:r})})})}const Yl=({style:e,type:n=qe.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:a,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:m,toHandle:c,toPosition:b,pointer:v}=Ep();if(!s)return;if(i)return t.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:a.x,fromY:a.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:b,connectionStatus:et(o),toNode:m,toHandle:c,pointer:v});let h="";const p={sourceX:a.x,sourceY:a.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:b};switch(n){case qe.Bezier:[h]=gt(p);break;case qe.SimpleBezier:[h]=Ll(p);break;case qe.Step:[h]=Yo({...p,borderRadius:0});break;case qe.SmoothStep:[h]=Yo(p);break;default:[h]=xt(p)}return t.jsx("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};Yl.displayName="ConnectionLine";const Lp={};function Jl(e=Lp){const n=x.useRef(e),i=fe();x.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const a=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of a)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Le.error002());break}n.current=e}},[e])}function Bp(){const e=fe(),n=x.useRef(!1);x.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",Le.error013("react"))),n.current=!0}},[])}function Zl({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:m,onSelectionContextMenu:c,onSelectionStart:b,onSelectionEnd:v,connectionLineType:h,connectionLineStyle:p,connectionLineComponent:g,connectionLineContainerStyle:f,selectionKeyCode:N,selectionOnDrag:y,selectionMode:S,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:C,deleteKeyCode:E,onlyRenderVisibleElements:k,elementsSelectable:I,defaultViewport:P,translateExtent:T,minZoom:O,maxZoom:M,preventScrolling:_,defaultMarkerColor:B,zoomOnScroll:K,zoomOnPinch:D,panOnScroll:L,panOnScrollSpeed:z,panOnScrollMode:U,zoomOnDoubleClick:W,panOnDrag:Y,autoPanOnSelection:X,onPaneClick:ie,onPaneMouseEnter:se,onPaneMouseMove:Q,onPaneMouseLeave:j,onPaneScroll:V,onPaneContextMenu:G,paneClickDistance:H,nodeClickDistance:$,onEdgeContextMenu:F,onEdgeMouseEnter:q,onEdgeMouseMove:R,onEdgeMouseLeave:Z,reconnectRadius:J,onReconnect:ee,onReconnectStart:ae,onReconnectEnd:ue,noDragClassName:me,noWheelClassName:ye,noPanClassName:be,disableKeyboardA11y:we,nodeExtent:Me,rfId:pe,viewport:Ne,onViewportChange:rn}){return Jl(e),Jl(n),Bp(),Np(i),Cp(Ne),t.jsx(qf,{onPaneClick:ie,onPaneMouseEnter:se,onPaneMouseMove:Q,onPaneMouseLeave:j,onPaneContextMenu:G,onPaneScroll:V,paneClickDistance:H,deleteKeyCode:E,selectionKeyCode:N,selectionOnDrag:y,selectionMode:S,onSelectionStart:b,onSelectionEnd:v,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:C,elementsSelectable:I,zoomOnScroll:K,zoomOnPinch:D,zoomOnDoubleClick:W,panOnScroll:L,panOnScrollSpeed:z,panOnScrollMode:U,panOnDrag:Y,autoPanOnSelection:X,defaultViewport:P,translateExtent:T,minZoom:O,maxZoom:M,onSelectionContextMenu:c,preventScrolling:_,noDragClassName:me,noWheelClassName:ye,noPanClassName:be,disableKeyboardA11y:we,onViewportChange:rn,isControlledViewport:!!Ne,children:t.jsxs(wp,{children:[t.jsx(xp,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:ee,onReconnectStart:ae,onReconnectEnd:ue,onlyRenderVisibleElements:k,onEdgeContextMenu:F,onEdgeMouseEnter:q,onEdgeMouseMove:R,onEdgeMouseLeave:Z,reconnectRadius:J,defaultMarkerColor:B,noPanClassName:be,disableKeyboardA11y:we,rfId:pe}),t.jsx(Pp,{style:p,type:h,component:g,containerStyle:f}),t.jsx("div",{className:"react-flow__edgelabel-renderer"}),t.jsx(ip,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:m,nodeClickDistance:$,onlyRenderVisibleElements:k,noPanClassName:be,noDragClassName:me,disableKeyboardA11y:we,nodeExtent:Me,rfId:pe}),t.jsx("div",{className:"react-flow__viewport-portal"})]})})}Zl.displayName="GraphView";const Ip=x.memo(Zl),Dp=rt("React Flow","https://reactflow.dev/"),Xl=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:m,nodeExtent:c,zIndexMode:b="basic"}={})=>{var C,E,k;const v=new Map,h=new Map,p=new Map,g=new Map,f=(C=o!=null?o:n)!=null?C:[],N=(E=i!=null?i:e)!=null?E:[],y=m!=null?m:[0,0],S=c!=null?c:$n;Tt(p,g,f);const{nodesInitialized:w}=Ro(N,v,h,{nodeOrigin:y,nodeExtent:S,zIndexMode:b});let A=[0,0,1];if(l&&s&&a){const I=qn(v,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:P,y:T,zoom:O}=Uo(I,s,a,d,u,(k=r==null?void 0:r.padding)!=null?k:.1);A=[P,T,O]}return{rfId:"1",width:s!=null?s:0,height:a!=null?a:0,transform:A,nodes:N,nodesInitialized:w,nodeLookup:v,parentLookup:h,edges:f,edgeLookup:g,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:$n,nodeExtent:S,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:gn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:y,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:{...Qa},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Dp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Xa,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},_p=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:m,nodeExtent:c,zIndexMode:b})=>qh((v,h)=>{async function p(){const{nodeLookup:g,panZoom:f,fitViewOptions:N,fitViewResolver:y,width:S,height:w,minZoom:A,maxZoom:C}=h();f&&(await Vv({nodes:g,width:S,height:w,panZoom:f,minZoom:A,maxZoom:C},N),y==null||y.resolve(!0),v({fitViewResolver:null}))}return{...Xl({nodes:e,edges:n,width:s,height:a,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:m,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:b}),setNodes:g=>{const{nodeLookup:f,parentLookup:N,nodeOrigin:y,elevateNodesOnSelect:S,fitViewQueued:w,zIndexMode:A,nodesSelectionActive:C}=h(),{nodesInitialized:E,hasSelectedNodes:k}=Ro(g,f,N,{nodeOrigin:y,nodeExtent:c,elevateNodesOnSelect:S,checkEquality:!0,zIndexMode:A}),I=C&&k;w&&E?(p(),v({nodes:g,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:I})):v({nodes:g,nodesInitialized:E,nodesSelectionActive:I})},setEdges:g=>{const{connectionLookup:f,edgeLookup:N}=h();Tt(f,N,g),v({edges:g})},setDefaultNodesAndEdges:(g,f)=>{if(g){const{setNodes:N}=h();N(g),v({hasDefaultNodes:!0})}if(f){const{setEdges:N}=h();N(f),v({hasDefaultEdges:!0})}},updateNodeInternals:g=>{const{triggerNodeChanges:f,nodeLookup:N,parentLookup:y,domNode:S,nodeOrigin:w,nodeExtent:A,debug:C,fitViewQueued:E,zIndexMode:k}=h(),{changes:I,updatedInternals:P}=uh(g,N,y,S,w,A,k);P&&(th(N,y,{nodeOrigin:w,nodeExtent:A,zIndexMode:k}),E?(p(),v({fitViewQueued:!1,fitViewOptions:void 0})):v({}),(I==null?void 0:I.length)>0&&(C&&console.log("React Flow: trigger node changes",I),f==null||f(I)))},updateNodePositions:(g,f=!1)=>{var k,I;const N=[];let y=[];const{nodeLookup:S,triggerNodeChanges:w,connection:A,updateConnection:C,onNodesChangeMiddlewareMap:E}=h();for(const[P,T]of g){const O=S.get(P),M=!!(O!=null&&O.expandParent&&(O!=null&&O.parentId)&&(T!=null&&T.position)),_={id:P,type:"position",position:M?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:f};if(O&&A.inProgress&&A.fromNode.id===O.id){const B=tn(O,A.fromHandle,oe.Left,!0);C({...A,from:B})}M&&O.parentId&&N.push({id:P,parentId:O.parentId,rect:{...T.internals.positionAbsolute,width:(k=T.measured.width)!=null?k:0,height:(I=T.measured.height)!=null?I:0}}),y.push(_)}if(N.length>0){const{parentLookup:P,nodeOrigin:T}=h(),O=ns(N,S,P,T);y.push(...O)}for(const P of E.values())y=P(y);w(y)},triggerNodeChanges:g=>{const{onNodesChange:f,setNodes:N,nodes:y,hasDefaultNodes:S,debug:w}=h();if(g!=null&&g.length){if(S){const A=ul(g,y);N(A)}w&&console.log("React Flow: trigger node changes",g),f==null||f(g)}},triggerEdgeChanges:g=>{const{onEdgesChange:f,setEdges:N,edges:y,hasDefaultEdges:S,debug:w}=h();if(g!=null&&g.length){if(S){const A=cl(g,y);N(A)}w&&console.log("React Flow: trigger edge changes",g),f==null||f(g)}},addSelectedNodes:g=>{const{multiSelectionActive:f,edgeLookup:N,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=h();if(f){const A=g.map(C=>ln(C,!0));S(A);return}S(Cn(y,new Set([...g]),!0)),w(Cn(N))},addSelectedEdges:g=>{const{multiSelectionActive:f,edgeLookup:N,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=h();if(f){const A=g.map(C=>ln(C,!0));w(A);return}w(Cn(N,new Set([...g]))),S(Cn(y,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:f}={})=>{const{edges:N,nodes:y,nodeLookup:S,triggerNodeChanges:w,triggerEdgeChanges:A}=h(),C=g||y,E=f||N,k=[];for(const P of C){if(!P.selected)continue;const T=S.get(P.id);T&&(T.selected=!1),k.push(ln(P.id,!1))}const I=[];for(const P of E)P.selected&&I.push(ln(P.id,!1));w(k),A(I)},setMinZoom:g=>{const{panZoom:f,maxZoom:N}=h();f==null||f.setScaleExtent([g,N]),v({minZoom:g})},setMaxZoom:g=>{const{panZoom:f,minZoom:N}=h();f==null||f.setScaleExtent([N,g]),v({maxZoom:g})},setTranslateExtent:g=>{var f;(f=h().panZoom)==null||f.setTranslateExtent(g),v({translateExtent:g})},resetSelectedElements:()=>{const{edges:g,nodes:f,triggerNodeChanges:N,triggerEdgeChanges:y,elementsSelectable:S}=h();if(!S)return;const w=f.reduce((C,E)=>E.selected?[...C,ln(E.id,!1)]:C,[]),A=g.reduce((C,E)=>E.selected?[...C,ln(E.id,!1)]:C,[]);N(w),y(A)},setNodeExtent:g=>{const{nodes:f,nodeLookup:N,parentLookup:y,nodeOrigin:S,elevateNodesOnSelect:w,nodeExtent:A,zIndexMode:C}=h();g[0][0]===A[0][0]&&g[0][1]===A[0][1]&&g[1][0]===A[1][0]&&g[1][1]===A[1][1]||(Ro(f,N,y,{nodeOrigin:S,nodeExtent:g,elevateNodesOnSelect:w,checkEquality:!1,zIndexMode:C}),v({nodeExtent:g}))},panBy:g=>{const{transform:f,width:N,height:y,panZoom:S,translateExtent:w}=h();return ch({delta:g,panZoom:S,transform:f,translateExtent:w,width:N,height:y})},setCenter:async(g,f,N)=>{const{width:y,height:S,maxZoom:w,panZoom:A}=h();if(!A)return!1;const C=typeof(N==null?void 0:N.zoom)!="undefined"?N.zoom:w;return await A.setViewport({x:y/2-g*C,y:S/2-f*C,zoom:C},{duration:N==null?void 0:N.duration,ease:N==null?void 0:N.ease,interpolate:N==null?void 0:N.interpolate}),!0},cancelConnection:()=>{v({connection:{...Qa}})},updateConnection:g=>{v({connection:g})},reset:()=>v({...Xl()})}},Object.is);function Op({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:a,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:m,nodeExtent:c,zIndexMode:b,children:v}){const[h]=x.useState(()=>_p({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:a,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:m,nodeExtent:c,zIndexMode:b}));return t.jsx(Yh,{value:h,children:t.jsx(yf,{children:t.jsx(Df,{children:v})})})}function Kp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:a,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:m,nodeOrigin:c,nodeExtent:b,zIndexMode:v}){return x.useContext(Fi)?t.jsx(t.Fragment,{children:e}):t.jsx(Op,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:a,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:m,nodeOrigin:c,nodeExtent:b,zIndexMode:v,children:e})}const Hp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Gp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:a,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:m,onMoveStart:c,onMoveEnd:b,onConnect:v,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:f,onNodeMouseEnter:N,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:w,onNodeDoubleClick:A,onNodeDragStart:C,onNodeDrag:E,onNodeDragStop:k,onNodesDelete:I,onEdgesDelete:P,onDelete:T,onSelectionChange:O,onSelectionDragStart:M,onSelectionDrag:_,onSelectionDragStop:B,onSelectionContextMenu:K,onSelectionStart:D,onSelectionEnd:L,onBeforeDelete:z,connectionMode:U,connectionLineType:W=qe.Bezier,connectionLineStyle:Y,connectionLineComponent:X,connectionLineContainerStyle:ie,deleteKeyCode:se="Backspace",selectionKeyCode:Q="Shift",selectionOnDrag:j=!1,selectionMode:V=jn.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:H=Xn()?"Meta":"Control",zoomActivationKeyCode:$=Xn()?"Meta":"Control",snapToGrid:F,snapGrid:q,onlyRenderVisibleElements:R=!1,selectNodesOnDrag:Z,nodesDraggable:J,autoPanOnNodeFocus:ee,nodesConnectable:ae,nodesFocusable:ue,nodeOrigin:me=il,edgesFocusable:ye,edgesReconnectable:be,elementsSelectable:we=!0,defaultViewport:Me=rf,minZoom:pe=.5,maxZoom:Ne=2,translateExtent:rn=$n,preventScrolling:qi=!0,nodeExtent:Mn,defaultMarkerColor:xg="#b1b1b7",zoomOnScroll:Sg=!0,zoomOnPinch:wg=!0,panOnScroll:Ng=!1,panOnScrollSpeed:Ag=.5,panOnScrollMode:Cg=on.Free,zoomOnDoubleClick:kg=!0,panOnDrag:Mg=!0,onPaneClick:Eg,onPaneMouseEnter:Tg,onPaneMouseMove:Pg,onPaneMouseLeave:Lg,onPaneScroll:Bg,onPaneContextMenu:Ig,paneClickDistance:Dg=1,nodeClickDistance:_g=0,children:Og,onReconnect:Kg,onReconnectStart:Hg,onReconnectEnd:Gg,onEdgeContextMenu:Fg,onEdgeDoubleClick:Vg,onEdgeMouseEnter:zg,onEdgeMouseMove:Wg,onEdgeMouseLeave:$g,reconnectRadius:jg=10,onNodesChange:Ug,onEdgesChange:qg,noDragClassName:Yg="nodrag",noWheelClassName:Jg="nowheel",noPanClassName:ir="nopan",fitView:or,fitViewOptions:sr,connectOnClick:Zg,attributionPosition:Xg,proOptions:Qg,defaultEdgeOptions:Rg,elevateNodesOnSelect:e0=!0,elevateEdgesOnSelect:n0=!1,disableKeyboardA11y:ar=!1,autoPanOnConnect:i0,autoPanOnNodeDrag:o0,autoPanOnSelection:s0=!0,autoPanSpeed:a0,connectionRadius:t0,isValidConnection:l0,onError:r0,style:d0,id:tr,nodeDragThreshold:u0,connectionDragThreshold:c0,viewport:m0,onViewportChange:b0,width:v0,height:h0,colorMode:f0="light",debug:p0,onScroll:Yi,ariaLabelConfig:g0,zIndexMode:lr="basic",...y0},x0){const hs=tr||"1",S0=cf(f0),w0=x.useCallback(rr=>{rr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Yi==null||Yi(rr)},[Yi]);return t.jsx("div",{"data-testid":"rf__wrapper",...y0,onScroll:w0,style:{...d0,...Hp},ref:x0,className:Se(["react-flow",s,S0]),id:tr,role:"application",children:t.jsxs(Kp,{nodes:e,edges:n,width:v0,height:h0,fitView:or,fitViewOptions:sr,minZoom:pe,maxZoom:Ne,nodeOrigin:me,nodeExtent:Mn,zIndexMode:lr,children:[t.jsx(uf,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:v,onConnectStart:h,onConnectEnd:p,onClickConnectStart:g,onClickConnectEnd:f,nodesDraggable:J,autoPanOnNodeFocus:ee,nodesConnectable:ae,nodesFocusable:ue,edgesFocusable:ye,edgesReconnectable:be,elementsSelectable:we,elevateNodesOnSelect:e0,elevateEdgesOnSelect:n0,minZoom:pe,maxZoom:Ne,nodeExtent:Mn,onNodesChange:Ug,onEdgesChange:qg,snapToGrid:F,snapGrid:q,connectionMode:U,translateExtent:rn,connectOnClick:Zg,defaultEdgeOptions:Rg,fitView:or,fitViewOptions:sr,onNodesDelete:I,onEdgesDelete:P,onDelete:T,onNodeDragStart:C,onNodeDrag:E,onNodeDragStop:k,onSelectionDrag:_,onSelectionDragStart:M,onSelectionDragStop:B,onMove:m,onMoveStart:c,onMoveEnd:b,noPanClassName:ir,nodeOrigin:me,rfId:hs,autoPanOnConnect:i0,autoPanOnNodeDrag:o0,autoPanSpeed:a0,onError:r0,connectionRadius:t0,isValidConnection:l0,selectNodesOnDrag:Z,nodeDragThreshold:u0,connectionDragThreshold:c0,onBeforeDelete:z,debug:p0,ariaLabelConfig:g0,zIndexMode:lr}),t.jsx(Ip,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:N,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:w,onNodeDoubleClick:A,nodeTypes:a,edgeTypes:l,connectionLineType:W,connectionLineStyle:Y,connectionLineComponent:X,connectionLineContainerStyle:ie,selectionKeyCode:Q,selectionOnDrag:j,selectionMode:V,deleteKeyCode:se,multiSelectionKeyCode:H,panActivationKeyCode:G,zoomActivationKeyCode:$,onlyRenderVisibleElements:R,defaultViewport:Me,translateExtent:rn,minZoom:pe,maxZoom:Ne,preventScrolling:qi,zoomOnScroll:Sg,zoomOnPinch:wg,zoomOnDoubleClick:kg,panOnScroll:Ng,panOnScrollSpeed:Ag,panOnScrollMode:Cg,panOnDrag:Mg,autoPanOnSelection:s0,onPaneClick:Eg,onPaneMouseEnter:Tg,onPaneMouseMove:Pg,onPaneMouseLeave:Lg,onPaneScroll:Bg,onPaneContextMenu:Ig,paneClickDistance:Dg,nodeClickDistance:_g,onSelectionContextMenu:K,onSelectionStart:D,onSelectionEnd:L,onReconnect:Kg,onReconnectStart:Hg,onReconnectEnd:Gg,onEdgeContextMenu:Fg,onEdgeDoubleClick:Vg,onEdgeMouseEnter:zg,onEdgeMouseMove:Wg,onEdgeMouseLeave:$g,reconnectRadius:jg,defaultMarkerColor:xg,noDragClassName:Yg,noWheelClassName:Jg,noPanClassName:ir,rfId:hs,disableKeyboardA11y:ar,nodeExtent:Mn,viewport:m0,onViewportChange:b0}),t.jsx(lf,{onSelectionChange:O}),Og,t.jsx(nf,{proOptions:Qg,position:Xg}),t.jsx(ef,{rfId:hs,disableKeyboardA11y:ar})]})})}var Fp=hl(Gp);function Vp(e){const[n,i]=x.useState(e),o=x.useCallback(s=>i(a=>ul(s,a)),[]);return[n,i,o]}function zp(e){const[n,i]=x.useState(e),o=x.useCallback(s=>i(a=>cl(s,a)),[]);return[n,i,o]}function Wp({dimensions:e,lineWidth:n,variant:i,className:o}){return t.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Se(["react-flow__background-pattern",i,o])})}function $p({radius:e,className:n}){return t.jsx("circle",{cx:e,cy:e,r:e,className:Se(["react-flow__background-pattern","dots",n])})}var Ze;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ze||(Ze={}));const jp={[Ze.Dots]:1,[Ze.Lines]:1,[Ze.Cross]:6},Up=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ql({id:e,variant:n=Ze.Dots,gap:i=20,size:o,lineWidth:s=1,offset:a=0,color:l,bgColor:r,style:d,className:u,patternClassName:m}){const c=x.useRef(null),{transform:b,patternId:v}=ce(Up,he),h=o||jp[n],p=n===Ze.Dots,g=n===Ze.Cross,f=Array.isArray(i)?i:[i,i],N=[f[0]*b[2]||1,f[1]*b[2]||1],y=h*b[2],S=Array.isArray(a)?a:[a,a],w=g?[y,y]:N,A=[S[0]*b[2]||1+w[0]/2,S[1]*b[2]||1+w[1]/2],C=`${v}${e||""}`;return t.jsxs("svg",{className:Se(["react-flow__background",u]),style:{...d,...Wi,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[t.jsx("pattern",{id:C,x:b[0]%N[0],y:b[1]%N[1],width:N[0],height:N[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:p?t.jsx($p,{radius:y/2,className:m}):t.jsx(Wp,{dimensions:w,lineWidth:s,variant:n,className:m})}),t.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}Ql.displayName="Background";const qp=x.memo(Ql);function Yp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:t.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Jp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:t.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Zp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:t.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 Xp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.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 Qp(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.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 Ui({children:e,className:n,...i}){return t.jsx("button",{type:"button",className:Se(["react-flow__controls-button",n]),...i,children:e})}const Rp=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Rl({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:a,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:m,position:c="bottom-left",orientation:b="vertical","aria-label":v}){const h=fe(),{isInteractive:p,minZoomReached:g,maxZoomReached:f,ariaLabelConfig:N}=ce(Rp,he),{zoomIn:y,zoomOut:S,fitView:w}=us(),A=()=>{y(),a==null||a()},C=()=>{S(),l==null||l()},E=()=>{w(s),r==null||r()},k=()=>{h.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),d==null||d(!p)},I=b==="horizontal"?"horizontal":"vertical";return t.jsxs(Vi,{className:Se(["react-flow__controls",I,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":v!=null?v:N["controls.ariaLabel"],children:[n&&t.jsxs(t.Fragment,{children:[t.jsx(Ui,{onClick:A,className:"react-flow__controls-zoomin",title:N["controls.zoomIn.ariaLabel"],"aria-label":N["controls.zoomIn.ariaLabel"],disabled:f,children:t.jsx(Yp,{})}),t.jsx(Ui,{onClick:C,className:"react-flow__controls-zoomout",title:N["controls.zoomOut.ariaLabel"],"aria-label":N["controls.zoomOut.ariaLabel"],disabled:g,children:t.jsx(Jp,{})})]}),i&&t.jsx(Ui,{className:"react-flow__controls-fitview",onClick:E,title:N["controls.fitView.ariaLabel"],"aria-label":N["controls.fitView.ariaLabel"],children:t.jsx(Zp,{})}),o&&t.jsx(Ui,{className:"react-flow__controls-interactive",onClick:k,title:N["controls.interactive.ariaLabel"],"aria-label":N["controls.interactive.ariaLabel"],children:p?t.jsx(Qp,{}):t.jsx(Xp,{})}),m]})}Rl.displayName="Controls";const eg=x.memo(Rl);function ng({id:e,x:n,y:i,width:o,height:s,style:a,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:m,shapeRendering:c,selected:b,onClick:v}){const{background:h,backgroundColor:p}=a||{},g=l||h||p;return t.jsx("rect",{className:Se(["react-flow__minimap-node",{selected:b},u]),x:n,y:i,rx:m,ry:m,width:o,height:s,style:{fill:g,stroke:r,strokeWidth:d},shapeRendering:c,onClick:v?f=>v(f,e):void 0})}const ig=x.memo(ng),og=e=>e.nodes.map(n=>n.id),vs=e=>e instanceof Function?e:()=>e;function sg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:a=ig,onClick:l}){const r=ce(og,he),d=vs(n),u=vs(e),m=vs(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return t.jsx(t.Fragment,{children:r.map(b=>t.jsx(tg,{id:b,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:m,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:a,onClick:l,shapeRendering:c},b))})}function ag({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:m,y:c,width:b,height:v}=ce(h=>{const p=h.nodeLookup.get(e);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const g=p.internals.userNode,{x:f,y:N}=p.internals.positionAbsolute,{width:y,height:S}=je(g);return{node:g,x:f,y:N,width:y,height:S}},he);return!u||u.hidden||!dt(u)?null:t.jsx(r,{x:m,y:c,width:b,height:v,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:a,shapeRendering:l,onClick:d,id:u.id})}const tg=x.memo(ag);var lg=x.memo(sg);const rg=200,dg=150,ug=e=>!e.hidden,cg=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?at(qn(e.nodeLookup,{filter:ug}),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 er({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:m,maskStrokeWidth:c,position:b="bottom-right",onClick:v,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:f,inversePan:N,zoomStep:y=1,offsetScale:S=5}){var F,q;const w=fe(),A=x.useRef(null),{boundingRect:C,viewBB:E,rfId:k,panZoom:I,translateExtent:P,flowWidth:T,flowHeight:O,ariaLabelConfig:M}=ce(cg,he),_=(F=e==null?void 0:e.width)!=null?F:rg,B=(q=e==null?void 0:e.height)!=null?q:dg,K=C.width/_,D=C.height/B,L=Math.max(K,D),z=L*_,U=L*B,W=S*L,Y=C.x-(z-C.width)/2-W,X=C.y-(U-C.height)/2-W,ie=z+W*2,se=U+W*2,Q=`${mg}-${k}`,j=x.useRef(0),V=x.useRef();j.current=L,x.useEffect(()=>{if(A.current&&I)return V.current=xh({domNode:A.current,panZoom:I,getTransform:()=>w.getState().transform,getViewScale:()=>j.current}),()=>{var R;(R=V.current)==null||R.destroy()}},[I]),x.useEffect(()=>{var R;(R=V.current)==null||R.update({translateExtent:P,width:T,height:O,inversePan:N,pannable:p,zoomStep:y,zoomable:g})},[p,g,N,y,P,T,O]);const G=v?R=>{var ee;const[Z,J]=((ee=V.current)==null?void 0:ee.pointer(R))||[0,0];v(R,{x:Z,y:J})}:void 0,H=h?x.useCallback((R,Z)=>{const J=w.getState().nodeLookup.get(Z).internals.userNode;h(R,J)},[]):void 0,$=f!=null?f:M["minimap.ariaLabel"];return t.jsx(Vi,{position:b,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 m=="string"?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*L: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:Se(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:t.jsxs("svg",{width:_,height:B,viewBox:`${Y} ${X} ${ie} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Q,ref:A,onClick:G,children:[$&&t.jsx("title",{id:Q,children:$}),t.jsx(lg,{onClick:H,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:a,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),t.jsx("path",{className:"react-flow__minimap-mask",d:`M${Y-W},${X-W}h${ie+W*2}v${se+W*2}h${-ie-W*2}z
|
|
68
|
+
M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}er.displayName="MiniMap";const bg=x.memo(er),vg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,hg={[An.Line]:"right",[An.Handle]:"bottom-right"};function fg({nodeId:e,position:n,variant:i=An.Handle,className:o,style:s=void 0,children:a,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:b,autoScale:v=!0,shouldResize:h,onResizeStart:p,onResize:g,onResizeEnd:f}){const N=Sl(),y=typeof e=="string"?e:N,S=fe(),w=x.useRef(null),A=i===An.Handle,C=ce(x.useCallback(vg(A&&v),[A,v]),he),E=x.useRef(null),k=n!=null?n:hg[i];x.useEffect(()=>{if(!(!w.current||!y))return E.current||(E.current=Ih({domNode:w.current,nodeId:y,getStoreItems:()=>{const{nodeLookup:P,transform:T,snapGrid:O,snapToGrid:M,nodeOrigin:_,domNode:B}=S.getState();return{nodeLookup:P,transform:T,snapGrid:O,snapToGrid:M,nodeOrigin:_,paneDomNode:B}},onChange:(P,T)=>{var z,U,W,Y,X,ie,se;const{triggerNodeChanges:O,nodeLookup:M,parentLookup:_,nodeOrigin:B}=S.getState(),K=[],D={x:P.x,y:P.y},L=M.get(y);if(L&&L.expandParent&&L.parentId){const Q=(z=L.origin)!=null?z:B,j=(W=(U=P.width)!=null?U:L.measured.width)!=null?W:0,V=(X=(Y=P.height)!=null?Y:L.measured.height)!=null?X:0,G={id:L.id,parentId:L.parentId,rect:{width:j,height:V,...ut({x:(ie=P.x)!=null?ie:L.position.x,y:(se=P.y)!=null?se:L.position.y},{width:j,height:V},L.parentId,M,Q)}},H=ns([G],M,_,B);K.push(...H),D.x=P.x?Math.max(Q[0]*j,P.x):void 0,D.y=P.y?Math.max(Q[1]*V,P.y):void 0}if(D.x!==void 0&&D.y!==void 0){const Q={id:y,type:"position",position:{...D}};K.push(Q)}if(P.width!==void 0&&P.height!==void 0){const j={id:y,type:"dimensions",resizing:!0,setAttributes:b?b==="horizontal"?"width":"height":!0,dimensions:{width:P.width,height:P.height}};K.push(j)}for(const Q of T){const j={...Q,type:"position"};K.push(j)}O(K)},onEnd:({width:P,height:T})=>{const O={id:y,type:"dimensions",resizing:!1,dimensions:{width:P,height:T}};S.getState().triggerNodeChanges([O])}})),E.current.update({controlPosition:k,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:m},keepAspectRatio:c,resizeDirection:b,onResizeStart:p,onResize:g,onResizeEnd:f,shouldResize:h}),()=>{var P;(P=E.current)==null||P.destroy()}},[k,r,d,u,m,c,p,g,f,h]);const I=k.split("-");return t.jsx("div",{className:Se(["react-flow__resize-control","nodrag",...I,i,o]),ref:w,style:{...s,scale:C,...l&&{[A?"backgroundColor":"borderColor"]:l}},children:a})}x.memo(fg);const nr=[{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"}],pg={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 t.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:[t.jsx(kn,{type:"target",position:n||oe.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),t.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[t.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&t.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),t.jsxs("div",{className:"p-3 flex items-start gap-3",children:[t.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:t.jsx(te,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),t.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),t.jsx(kn,{type:"source",position:i||oe.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>t.jsx("div",{className:"w-full h-full relative",children:t.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 gg({formData:e}){const{nodes:n,edges:i}=x.useMemo(()=>{const u=[],m=[];let c=null;return e==null||e.forEach((b,v)=>{var y,S;const h=nr[v%nr.length],p=v*400,g=0,f=320,N=60+(((y=b==null?void 0:b.questionData)==null?void 0:y.length)||0)*110;u.push({id:b.id,type:"sectionGroup",data:{title:b.title||`Section ${v+1}`},position:{x:p,y:g},style:{width:f,height:N,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),(S=b==null?void 0:b.questionData)==null||S.forEach((w,A)=>{const C=w.id;u.push({id:C,type:"customField",parentId:b.id,extent:"parent",targetPosition:oe.Top,sourcePosition:oe.Bottom,data:{label:w.inputLabel||w.label,type:w.type,sectionTitle:b.title||"Untitled Section",isHidden:w.isHidden,colorScheme:h},position:{x:20,y:40+A*110}}),c&&!w.isHidden&&m.push({id:`e-${c}-${C}`,source:c,target:C,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:yn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),w.isHidden||(c=C)})}),e==null||e.forEach(b=>{var v;(v=b==null?void 0:b.questionData)==null||v.forEach(h=>{var p;h.isHidden&&((p=h.visibilityDependentFields)==null?void 0:p.length)>0&&h.visibilityDependentFields.forEach(g=>{m.push({id:`e-cond-${g.id}-${h.id}`,source:g.id,target:h.id,type:"smoothstep",animated:!0,label:`if ${g.operator} '${g.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:yn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:m}},[e]),[o,s,a]=Vp(n),[l,r,d]=zp(i);return x.useEffect(()=>{s(n),r(i)},[n,i,s,r]),t.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:t.jsxs(Fp,{nodes:o,edges:l,onNodesChange:a,onEdgesChange:d,nodeTypes:pg,fitView:!0,attributionPosition:"bottom-right",children:[t.jsx(qp,{color:"#e2e8f0",gap:16}),t.jsx(eg,{}),t.jsx(bg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const yg=Object.freeze(Object.defineProperty({__proto__:null,default:gg},Symbol.toStringTag,{value:"Module"}));ge.FormBuilder=Uu,ge.FormViewer=wo,Object.defineProperty(ge,Symbol.toStringTag,{value:"Module"})});
|