1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2248,2643],{62643:(e,t,l)=>{l.r(t),l.d(t,{default:()=>lJ});var n=l(95155),a=l(12115),r=l(20638),s=l(51748),o=l(73580),i=l(23920),c=l(10257),d=l(25051),u=l(57902),h=l(65440),m=l(86056),p=l(81556),x=l(95603),f=l(44857),g=l(40767),b=l(69323),v=l(48617),w=l(79928),y=l(58197),j=l(92598),k=l(33473),N=l(45686),M=l(51719),S=l(68236),C=l(36527),E=l(610),T=l(17426),P=l(86878),A=l(83381),W=l(4743),L=l(18862),I=l(62386),z=l(98741),F=l.n(z);l(68413);var D=l(49696);let B={world_cultural:{label:"ä¸çæåéºç£",color:"#D97706",priority:0},world_natural:{label:"ä¸çèªç¶éºç£",color:"#059669",priority:0},world_mixed:{label:"ä¸çè¤åéºç£",color:"#7C3AED",priority:0},national_treasure:{label:"å½å®ï¼å»ºé ç©ï¼",color:"#F59E0B",priority:1},special_historic:{label:"ç¹å¥å²è·¡",color:"#991B1B",priority:2},special_scenic:{label:"ç¹å¥åå",color:"#1E3A8A",priority:3},special_natural:{label:"ç¹å¥å¤©ç¶è¨å¿µç©",color:"#14532D",priority:4},national_historic:{label:"彿å®å²è·¡",color:"#EF4444",priority:5},national_scenic:{label:"彿å®åå",color:"#3B82F6",priority:6},national_natural:{label:"彿å®å¤©ç¶è¨å¿µç©",color:"#22C55E",priority:7},manual_search:{label:"æåæ¤ç´¢",color:"#94A3B8",priority:9},other:{label:"ãã®ä»æå®",color:"#6B7280",priority:8}},R="https://query.wikidata.org/sparql";async function O(e,t){var l,n,a,r,s,o,i,c,d,u,h,m,p,x,f,g;let b='\nSELECT DISTINCT ?item ?itemLabel ?coord ?heritage ?heritageLabel ?itemDescription ?instanceLabel ?isBuilding WHERE {\n SERVICE wikibase:box {\n ?item wdt:P625 ?coord .\n bd:serviceParam wikibase:cornerWest "Point('.concat(e.west," ").concat(e.south,')"^^geo:wktLiteral .\n bd:serviceParam wikibase:cornerEast "Point(').concat(e.east," ").concat(e.north,')"^^geo:wktLiteral .\n }\n ?item wdt:P17 wd:Q17 .\n ?item wdt:P1435 ?heritage .\n OPTIONAL { ?item wdt:P31 ?instance . }\n OPTIONAL {\n ?item wdt:P31/wdt:P279* wd:Q41176 .\n BIND("1" AS ?isBuilding)\n }\n SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en" . }\n}\nLIMIT 500\n'),v="".concat(R,"?query=").concat(encodeURIComponent(b),"&format=json"),w=await fetch(v,{headers:{Accept:"application/sparql-results+json"},signal:t});if(!w.ok)throw Error("Wikidata query failed: ".concat(w.status));let y=await w.json(),j=null!==(n=null==y?void 0:null===(l=y.results)||void 0===l?void 0:l.bindings)&&void 0!==n?n:[],k=new Map;for(let e of j){let t=null!==(h=(null!==(u=null===(a=e.item)||void 0===a?void 0:a.value)&&void 0!==u?u:"").split("/").pop())&&void 0!==h?h:"",l=null!==(m=null===(r=e.itemLabel)||void 0===r?void 0:r.value)&&void 0!==m?m:"",n=null!==(p=null===(s=e.itemDescription)||void 0===s?void 0:s.value)&&void 0!==p?p:"",b=null!==(x=null===(o=e.heritageLabel)||void 0===o?void 0:o.value)&&void 0!==x?x:"",v=null!==(f=null===(i=e.instanceLabel)||void 0===i?void 0:i.value)&&void 0!==f?f:"",w=(null===(c=e.isBuilding)||void 0===c?void 0:c.value)==="1",y=(null!==(g=null===(d=e.coord)||void 0===d?void 0:d.value)&&void 0!==g?g:"").match(/Point\(([-\d.]+)\s+([-\d.]+)\)/i);if(!y)continue;let j=parseFloat(y[1]),N=parseFloat(y[2]);if(isNaN(N)||isNaN(j))continue;let M=function(e){let t=e.toLowerCase();return t.includes("ä¸çéºç£")||t.includes("world heritage")?t.includes("æå")||t.includes("cultural")?"world_cultural":t.includes("èªç¶")||t.includes("natural")?"world_natural":t.includes("è¤å")||t.includes("mixed")?"world_mixed":"world_cultural":t.includes("å½å®")||t.includes("national treasure")?"national_treasure":t.includes("ç¹å¥å²è·¡")||t.includes("special historic site")?"special_historic":t.includes("ç¹å¥åå")||t.includes("special place of scenic")?"special_scenic":t.includes("ç¹å¥å¤©ç¶è¨å¿µç©")||t.includes("special natural monument")?"special_natural":t.includes("å²è·¡")||t.includes("historic site")?"national_historic":t.includes("åå")||t.includes("place of scenic")||t.includes("scenic beauty")?"national_scenic":t.includes("天ç¶è¨å¿µç©")||t.includes("natural monument")?"national_natural":"other"}(b);if("national_treasure"===M&&!(w||function(e,t,l,n){let a=e.toLowerCase(),r=(null!=t?t:"").toLowerCase(),s=(null!=l?l:"").toLowerCase(),o=(null!=n?n:"").toLowerCase();return!!(a.includes("建é ç©")||a.includes("建ç¯ç©")||a.includes("buildings")||a.includes("architectural"))||!["絵巻","çµµç»","彫å»","å·¥è¸","æ¸è·¡","å
¸ç±","夿æ¸","èå¤","paint","scroll","manuscript","artifact"].some(e=>a.includes(e)||r.includes(e)||s.includes(e))&&["建ç¯","建ç©","建é ","寺","ç¥ç¤¾","å","é","å¡","å ","palace","temple","shrine","castle","building","architecture"].some(e=>r.includes(e)||s.includes(e)||o.includes(e))}(b,n,v,l)))continue;let S=k.get(t);if(S){let e=B[S.grade].priority;B[M].priority<e&&(S.grade=M,S.gradeLabel=B[M].label);continue}k.set(t,{id:t,name:l,description:n||void 0,grade:M,gradeLabel:B[M].label,lat:N,lng:j,wikidataId:t,source:"wikidata"})}let N=Array.from(k.values()).filter(e=>"other"!==e.grade);return N.sort((e,t)=>
1B[e.grade].priority-B[t.grade].priority),N}async function _(e,t){let l="https://nominatim.openstreetmap.org/search?"+"q=".concat(encodeURIComponent(e),"&countrycodes=jp&format=json&limit=5&accept-language=ja"),n=await fetch(l,{headers:{"User-Agent":"CreateGBM-GBMEditor/1.0"},signal:t});if(!n.ok)throw Error("Nominatim search failed: ".concat(n.status));return(await n.json()).map(t=>({name:e,lat:parseFloat(t.lat),lng:parseFloat(t.lon),displayName:t.display_name}))}async function G(e,t){var l,n,a,r,s,o,i,c,d,u,h;let m='\nSELECT DISTINCT ?item ?itemLabel ?coord ?typeLabel WHERE {\n SERVICE wikibase:box {\n ?item wdt:P625 ?coord .\n bd:serviceParam wikibase:cornerWest "Point('.concat(e.west," ").concat(e.south,')"^^geo:wktLiteral .\n bd:serviceParam wikibase:cornerEast "Point(').concat(e.east," ").concat(e.north,')"^^geo:wktLiteral .\n }\n ?item wdt:P17 wd:Q17 .\n {\n # Shinto shrines with social ranking (ç¤¾æ ¼ P709)\n ?item wdt:P709 ?type .\n } UNION {\n # Instance of specific shrine categories\n VALUES ?type { wd:Q11539517 wd:Q11495917 wd:Q11354887 wd:Q728646 wd:Q766633 wd:Q1144574 }\n ?item wdt:P31 ?type .\n } UNION {\n # All Shinto shrines â we\'ll filter by name for ç¥å®®/大社\n ?item wdt:P31/wdt:P279* wd:Q845945 .\n BIND(wd:Q845945 AS ?type)\n }\n SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en" . }\n}\nLIMIT 800\n'),p="".concat(R,"?query=").concat(encodeURIComponent(m),"&format=json"),x=await fetch(p,{headers:{Accept:"application/sparql-results+json"},signal:t});if(!x.ok)throw Error("Wikidata shinto shrine query failed: ".concat(x.status));let f=await x.json(),g=null!==(n=null==f?void 0:null===(l=f.results)||void 0===l?void 0:l.bindings)&&void 0!==n?n:[],b=new Map;for(let e of g){let t=null!==(c=(null!==(i=null===(a=e.item)||void 0===a?void 0:a.value)&&void 0!==i?i:"").split("/").pop())&&void 0!==c?c:"",l=null!==(d=null===(r=e.itemLabel)||void 0===r?void 0:r.value)&&void 0!==d?d:"",n=null!==(u=null===(s=e.typeLabel)||void 0===s?void 0:s.value)&&void 0!==u?u:"",m=(null!==(h=null===(o=e.coord)||void 0===o?void 0:o.value)&&void 0!==h?h:"").match(/Point\(([-\d.]+)\s+([-\d.]+)\)/i);if(!m)continue;let p=parseFloat(m[1]),x=parseFloat(m[2]);if(isNaN(x)||isNaN(p))continue;let f=function(e,t,l){let n=t.toLowerCase(),a=e.toLowerCase();return a.includes("å
å®®")||a.includes("ç大ç¥å®®")?"å
å®®":a.includes("å¤å®®")||a.includes("è±å大ç¥å®®")?"å¤å®®":a.includes("åºé²å¤§ç¤¾")?"åºé²å¤§ç¤¾":n.includes("å®å¹£å¤§ç¤¾")?"å®å¹£å¤§ç¤¾":n.includes("å®å¹£ä¸ç¤¾")?"å®å¹£ä¸ç¤¾":n.includes("å®å¹£å°ç¤¾")?"å®å¹£å°ç¤¾":n.includes("å½å¹£å¤§ç¤¾")?"å½å¹£å¤§ç¤¾":n.includes("å½å¹£ä¸ç¤¾")?"å½å¹£ä¸ç¤¾":n.includes("å½å¹£å°ç¤¾")?"å½å¹£å°ç¤¾":n.includes("奿 ¼å®å¹£ç¤¾")?"奿 ¼å®å¹£ç¤¾":n.includes("ä¸å®®")||n.includes("ä¸ã®å®®")?"ä¸å®®":n.includes("äºå®®")||n.includes("äºã®å®®")?"äºå®®":n.includes("ä¸å®®")||n.includes("ä¸ã®å®®")?"ä¸å®®":n.includes("å
ç¥ç¤¾")?"å
ç¥ç¤¾":n.includes("äºåäºç¤¾")?"äºåäºç¤¾":a.endsWith("ç¥å®®")||a.includes("ç¥å®®")&&!a.includes("ç¥å®®å¯º")?"ç¥å®®":null}(l,n,0);if(!f)continue;let g=b.get(t);if(g){f.length>g.category.length&&(g.category=f);continue}b.set(t,{id:t,name:l,category:f,lat:x,lng:p,source:"wikidata"})}return Array.from(b.values())}async function U(e,t){var l,n,a,r,s,o,i,c,d,u,h;let m='\nSELECT DISTINCT ?item ?itemLabel ?coord ?typeLabel WHERE {\n SERVICE wikibase:box {\n ?item wdt:P625 ?coord .\n bd:serviceParam wikibase:cornerWest "Point('.concat(e.west," ").concat(e.south,')"^^geo:wktLiteral .\n bd:serviceParam wikibase:cornerEast "Point(').concat(e.east," ").concat(e.north,')"^^geo:wktLiteral .\n }\n ?item wdt:P17 wd:Q17 .\n ?item wdt:P31/wdt:P279* wd:Q160742 .\n OPTIONAL { ?item wdt:P31 ?type . }\n SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en" . }\n}\nLIMIT 800\n'),p="".concat(R,"?query=").concat(encodeURIComponent(m),"&format=json"),x=await fetch(p,{headers:{Accept:"application/sparql-results+json"},signal:t});if(!x.ok)throw Error("Wikidata buddhism temple query failed: ".concat(x.status));let f=await x.json(),g=null!==(n=null==f?void 0:null===(l=f.results)||void 0===l?void 0:l.bindings)&&void 0!==n?n:[],b=new Map;for(let e of g){let t=null!==(c=(null!==(i=null===(a=e.item)||void 0===a?void 0:a.value)&&void 0!==i?i:"").split("/").pop())&&void 0!==c?c:"",l=null!==(d=null===(r=e.itemLabel)||void 0===r?void 0:r.value)&&void 0!==d?d:"",n=null!==(u=null===(s=e.typeLabel)||void 0===s?void 0:s.value)&&void 0!==u?u:"",m=(null!==(h=null===(o=e.coord)||void 0===o?void 0:o.value)&&void 0!==h?h:"").match(/Point\(([-\d.]+)\s+([-\d.]+)\)/i);if(!m)continue;let p=parseFloat(m[1]),x=parseFloat(m[2]);if(isNaN(x)||isNaN(p))continue;let f=function(e,t){let l=t.toLowerCase(),n=e.toLowerCase();return l.includes("å½å寺")?"å½å寺":l.includes("éè·¡")?"é跡寺é¢":l.includes("å
é¡å¯º")?"å
é¡å¯º":l.includes("å®é¡å¯º")?"å®é¡å¯º":l.includes("å®å¯º")||l.includes("大寺")?"å®å¯ºï¼å¤§å¯ºï¼":l.includes("äºå±±")?"äºå±±":l.includes("åå¹")?"åå¹":l.includes("ç·æ¬å±±")?"ç·æ¬å±±":l.includes("大æ¬å±±")?"大æ¬å±±":l.includes("奿 ¼æ¬å±±")?"奿 ¼æ¬å±±":n.includes("å½å寺")?"å½å寺":n.includes("éè·¡")?"é跡寺é¢":n.includes("ç·æ¬å±±")?"ç·æ¬å±±":n.includes("大æ¬å±±")?"大æ¬å±±":null}(l,n);if(!f)continue;let g=b.get(t);if(g){f.length>g.category.length&&(g.category=f);continue}b.set(t,{id:t,name:l,category:f,lat:x,lng:p,source:"wikidata"})}return Array.from(b.values())}var H=l(80261);function K(e){return L.w$[e]||L.w$.std}function Y(){return"ontouchstart"in window||navigator.maxTouchPoints>0}function V(e){let{mapLayer:t,locale:l="ja",bounds:r,onBoundsChange:s,selectionEnabled:o,onMapReady:i,adminLine
1s:c,adminColor:d,waterMask:u,waterMaskWidth:h,waterMaskHeight:m,waterColor:p,culturalProperties:x,onCulturalPropertyClick:f,selectionGhost:g=null}=e,b=(0,D.sC)(l).gbmEditor.panels,v=(0,a.useRef)(null),w=(0,a.useRef)(null),y=(0,a.useRef)(null),j=(0,a.useRef)(null),k=(0,a.useRef)(null),N=(0,a.useRef)(!1),M=(0,a.useRef)(null),S=(0,a.useRef)(null),C=(0,a.useRef)(null),E=(0,a.useRef)(null),T=(0,a.useRef)(null),[P,A]=(0,a.useState)(!1),[W]=(0,a.useState)(Y),L=(0,a.useRef)(0),I=(0,a.useRef)(r);(0,a.useEffect)(()=>{I.current=r},[r]),(0,a.useEffect)(()=>{if(!v.current||w.current)return;let e=F().map(v.current,{center:[34.6873,135.5262],zoom:10,zoomControl:!1,attributionControl:!1,scrollWheelZoom:!0});F().control.zoom({position:"topright"}).addTo(e),w.current=e,null==i||i(e),e.getContainer().addEventListener("contextmenu",e=>e.preventDefault());let n=null,a=e.getContainer(),s=e=>{2===e.button&&(n={x:e.clientX,y:e.clientY},a.style.cursor="grabbing",e.preventDefault())},o=t=>{if(!n)return;let l=t.clientX-n.x,a=t.clientY-n.y;n={x:t.clientX,y:t.clientY},e.panBy([-l,-a],{animate:!1})},c=e=>{2===e.button&&n&&(n=null,a.style.cursor="")};a.addEventListener("mousedown",s),window.addEventListener("mousemove",o),window.addEventListener("mouseup",c),y.current=F().tileLayer(K(t),{maxZoom:18,attribution:(0,H.d_)(t,l)}).addTo(e);let d=[setTimeout(()=>e.invalidateSize(),0),setTimeout(()=>e.invalidateSize(),120),setTimeout(()=>e.invalidateSize(),400)],u=()=>e.invalidateSize();window.addEventListener("resize",u);let h="undefined"!=typeof ResizeObserver?new ResizeObserver(()=>e.invalidateSize()):null;if(null==h||h.observe(a),r){let t=F().rectangle([[r.south,r.west],[r.north,r.east]],{color:"#3B82F6",weight:2,fillColor:"#3B82F6",fillOpacity:.15,dashArray:"6 3"}).addTo(e);j.current=t}return()=>{a.removeEventListener("mousedown",s),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",c),window.removeEventListener("resize",u),null==h||h.disconnect(),d.forEach(clearTimeout),e.remove(),w.current=null,y.current=null,j.current=null}},[]),(0,a.useEffect)(()=>{let e=w.current;if(e){if(r){let t=[[r.south,r.west],[r.north,r.east]];if(j.current)j.current.setBounds(t);else{let l=F().rectangle(t,{color:"#3B82F6",weight:2,fillColor:"#3B82F6",fillOpacity:.15,dashArray:"6 3"}).addTo(e);j.current=l}e.flyToBounds(t,{padding:[40,40],maxZoom:16,duration:.8})}else j.current&&(e.removeLayer(j.current),j.current=null)}},[r]),(0,a.useEffect)(()=>{let e=w.current;if(!e||(T.current&&(e.removeLayer(T.current),T.current=null),!g))return;let t="#B45309",l=F().layerGroup(),n=g.bounds;for(let e of(F().rectangle([[n.south,n.west],[n.north,n.east]],{color:t,weight:2.5,fillColor:"#F59E0B",fillOpacity:.18,dashArray:"10 6",opacity:.9,interactive:!1}).addTo(l),g.strokes)){if(!e.points||e.points.length<2)continue;let n=e.points.map(e=>[e.lat,e.lng]);F().polyline(n,{color:t,weight:2.5,opacity:.55,dashArray:"6 5",interactive:!1,lineCap:"round",lineJoin:"round"}).addTo(l)}return l.addTo(e),T.current=l,()=>{T.current&&w.current&&(w.current.removeLayer(T.current),T.current=null)}},[g]),(0,a.useEffect)(()=>{w.current&&y.current&&(y.current.setUrl(K(t)),y.current.options.attribution=(0,H.d_)(t,l))},[t,l]),(0,a.useEffect)(()=>{let e=w.current;if(!e||(S.current&&(e.removeLayer(S.current),S.current=null),!u||!r||!h||!m))return;let t=document.createElement("canvas");t.width=h,t.height=m;let l=t.getContext("2d"),n=l.createImageData(h,m),a=p||"#3399FF",s=parseInt(a.slice(1,3),16),o=parseInt(a.slice(3,5),16),i=parseInt(a.slice(5,7),16);for(let e=0;e<u.length;e++)u[e]&&(n.data[4*e]=s,n.data[4*e+1]=o,n.data[4*e+2]=i,n.data[4*e+3]=160);l.putImageData(n,0,0);let c=!1;return t.toBlob(t=>{if(c||!t)return;let l=URL.createObjectURL(t);C.current=l;let n=F().imageOverlay(l,[[r.south,r.west],[r.north,r.east]],{opacity:1,interactive:!1});n.addTo(e);let a=n.getElement();a&&(a.style.imageRendering="pixelated"),S.current=n}),()=>{c=!0,C.current&&(URL.revokeObjectURL(C.current),C.current=null)}},[u,r,h,m,p]),(0,a.useEffect)(()=>{let e=w.current;if(!e||(M.current&&(M.current.clearLayers(),e.removeLayer(M.current),M.current=null),!c||0===c.length||!r))return;let t=F().layerGroup(),l=d||"#f59e0b",n=e=>{let t=[],l=[];for(let n of e)n.lat>
1=r.south&&n.lat<=r.north&&n.lon>=r.west&&n.lon<=r.east?l.push([n.lat,n.lon]):(l.length>=2&&t.push(l),l=[]);return l.length>=2&&t.push(l),t};for(let e of c)if(!(e.length<2))for(let a of n(e))F().polyline(a,{color:l,weight:1.5,opacity:.7,interactive:!1}).addTo(t);t.addTo(e),M.current=t},[c,d,r]),(0,a.useEffect)(()=>{let e=w.current;if(!e||(E.current&&(E.current.clearLayers(),e.removeLayer(E.current),E.current=null),!x||0===x.length))return;let t=F().layerGroup();for(let e of x){let l=B[e.grade],n=F().circleMarker([e.lat,e.lng],{radius:7,fillColor:l.color,color:"#fff",weight:2,opacity:1,fillOpacity:.85});n.bindPopup('<div style="font-size:12px;line-height:1.4;min-width:150px">'+'<div style="font-weight:bold;color:'.concat(l.color,';margin-bottom:2px">').concat(l.label,"</div>")+'<div style="font-weight:bold;font-size:13px;margin-bottom:4px">'.concat(e.name,"</div>")+(e.description?'<div style="color:#666;font-size:11px">'.concat(e.description,"</div>"):"")+(e.wikidataId?'<div style="margin-top:4px"><a href="https://www.wikidata.org/wiki/'.concat(e.wikidataId,'" target="_blank" rel="noopener" style="color:#3b82f6;font-size:10px">Wikidata â</a></div>'):"")+("manual"===e.source?'<div style="margin-top:6px;color:#64748b;font-size:10px;line-height:1.35">'.concat(b.culturalPropertyGeocodeNote,"</div>"):"")+"</div>",{maxWidth:250}),n.on("click",()=>null==f?void 0:f(e)),n.addTo(t)}t.addTo(e),E.current=t},[x,f,b.culturalPropertyGeocodeNote]);let z=(0,a.useCallback)((e,t)=>{let l=111320*Math.cos(e.lat*Math.PI/180),n=Math.max(111320*Math.abs(t.lat-e.lat),Math.abs(t.lng-e.lng)*l,200),a=t.lat>=e.lat?1:-1,r=t.lng>=e.lng?1:-1,s=e.lat+n/111320*a,o=e.lng+n/l*r;return{north:Math.max(e.lat,s),south:Math.min(e.lat,s),east:Math.max(e.lng,o),west:Math.min(e.lng,o)}},[]);return(0,a.useEffect)(()=>{let e=w.current;e&&(o?(e.dragging.disable(),e.doubleClickZoom.disable()):(e.dragging.enable(),e.doubleClickZoom.enable()))},[o]),(0,a.useEffect)(()=>{let e=v.current,t=w.current;if(!e||!t||!o)return;let l=l=>{let n=e.getBoundingClientRect();return t.containerPointToLatLng(F().point(l.clientX-n.left,l.clientY-n.top))},n=e=>{if(L.current=e.touches.length,1===e.touches.length){e.preventDefault();let t=l(e.touches[0]);k.current=t,N.current=!0,A(!0)}else if(e.touches.length>=2&&N.current){N.current=!1,A(!1),k.current=null;let e=I.current;e&&j.current?j.current.setBounds([[e.south,e.west],[e.north,e.east]]):!e&&j.current&&(t.removeLayer(j.current),j.current=null)}},a=e=>{if(1===e.touches.length&&N.current&&k.current){e.preventDefault();let n=l(e.touches[0]),a=z(k.current,n);j.current?j.current.setBounds([[a.south,a.west],[a.north,a.east]]):j.current=F().rectangle([[a.south,a.west],[a.north,a.east]],{color:"#3B82F6",weight:2,fillColor:"#3B82F6",fillOpacity:.15,dashArray:"6 3"}).addTo(t)}else e.touches.length>=2&&N.current&&(N.current=!1,A(!1),k.current=null)},r=e=>{if(L.current=e.touches.length,N.current&&k.current&&e.changedTouches.length>0){N.current=!1,A(!1);let t=l(e.changedTouches[0]),n=z(k.current,t);k.current=null,j.current&&j.current.setBounds([[n.south,n.west],[n.north,n.east]]),s(n)}};return e.addEventListener("touchstart",n,{passive:!1}),e.addEventListener("touchmove",a,{passive:!1}),e.addEventListener("touchend",r,{passive:!1}),()=>{e.removeEventListener("touchstart",n),e.removeEventListener("touchmove",a),e.removeEventListener("touchend",r)}},[o,z,s]),(0,a.useEffect)(()=>{let e=w.current;if(!e)return;let t=e=>{if(!o||L.current>=2)return;let t=e.originalEvent;0===("button"in t?t.button:0)&&(k.current=e.latlng,N.current=!0,A(!0))},l=t=>{if(!N.current||!k.current)return;let l=z(k.current,t.latlng);if(j.current)j.current.setBounds([[l.south,l.west],[l.north,l.east]]);else{let t=F().rectangle([[l.south,l.west],[l.north,l.east]],{color:"#3B82F6",weight:2,fillColor:"#3B82F6",fillOpacity:.15,dashArray:"6 3"}).addTo(e);j.current=t}},n=e=>{if(!N.current||!k.current)return;N.current=!1,A(!1);let t=z(k.current,e.latlng);k.current=null,j.current&&j.current.setBounds([[t.south,t.west],[t.north,t.east]]),s(t)};return e.on("mousedown",t),e.on("mousemove",l),e.on("mouseup",n),()=>{e.off("mousedown",t),e.off("mousemove",l),e.off("mouseup",n)}},[o,z,s]),(0,a.useEffect)(()=>{v.current&&(v.current.style.cursor=o?"crosshair":"",v.current.style.touchAction=o?"none":"")},[o]),(0,n.jsxs)("div",{className:"relative w-full h-full",children:[(0,n.jsx)("div",{ref:v,className:"w-full h-full"}),P&&(0,n.jsx)("div",{className:"absolute top-4 left-1/2 -translate-x-1/2 bg-black/70 backdrop-blur-sm text-white text-[10px] font-bold px-3 py-1.5 rounded-full pointer-events-none z-[1000]",children:W?b.mapHintTouchDragging:b.mapHintMouseDragging}),o&&!P&&!r&&(0,n.jsx)("div",{className:"absolute top-4 left-1/2 -translate-x-1/2 bg-brand-blue/80 backdrop-blur-sm text-white text-[10px] font-bold px-3 py-1.5 rounded-full pointer-events-none z-[1000] text-center max-w-[90%]",children:W?b.mapHintTouchSelect:b.mapHintMouseSelect}),o&&!P&&r&&(0,n.jsx)("div",{className:"absolute bottom-10 left-1/2 -translate-x-1/2 bg-black/50 backdrop-blur-sm text-slate-300 text-[9px] px-2.5 py-1 rounded-full pointer-events-none z-[1000] text-center max-w-[90%]",children:W?b.mapHintTouchReselect:b.mapHintMouseReselect}),(0,n.jsx)("div",{className:"absolute bottom-2 right-2 bg-black/60 backdrop-blur-sm rounded px-2 py-1 text-[9px] text-slate-400 font-mono z-[1000] leading-relaxed whitespace-pre-line",children:(0,n.jsx)("div",{children:(0,H.kx)(t,l)})})]})}var Z=l(77711);function q(e){let{value:t,onCommit:l,min:r,max:s,step:o,delay:i=250,className:c,title:d,ariaLabel:u}=e,[h,m]=(0,a.useState)(String(t)),p=(0,a.useRef)(t),x=(0,a.useRef)(null);(0,a.useEffect)(()=>{t!==p.current&&(p.current=t,m(String(t)))},[t]);let f=()=>{null!==x.current&&(window.clearTimeout(x.current),x.current=null)},g=e=>{f(),x.current=window.setTimeout(()=>{let t=Number(e);Number.isFinite(t)&&t!==p.current&&(p.current=t,l(t))},i)};return(0,a.useEffect)(()=>()=>f(),[]),(0,n.jsx)("input",{type:"number",value:h,min:r,max:s,step:o,title:d,"aria-label":u,onCh
1ange:e=>{let t=e.target.value;m(t),g(t)},onBlur:()=>{f();let e=Number(h);Number.isFinite(e)&&e!==p.current&&(p.current=e,l(e))},onKeyDown:e=>{if("Enter"===e.key){f();let e=Number(h);Number.isFinite(e)&&e!==p.current&&(p.current=e,l(e))}},className:c})}let X={green:{title:"text-green-300",ring:"ring-green-500/30",bg:"bg-green-500/10",border:"border-green-500/25",check:"accent-green-500",rail:"border-green-500/35"},amber:{title:"text-amber-300",ring:"ring-amber-500/30",bg:"bg-amber-500/10",border:"border-amber-500/25",check:"accent-amber-500",rail:"border-amber-500/35"},orange:{title:"text-orange-300",ring:"ring-orange-500/30",bg:"bg-orange-500/10",border:"border-orange-500/25",check:"accent-orange-500",rail:"border-orange-500/35"},red:{title:"text-red-300",ring:"ring-red-500/30",bg:"bg-red-500/10",border:"border-red-500/25",check:"accent-red-500",rail:"border-red-500/35"},yellow:{title:"text-yellow-300",ring:"ring-yellow-500/30",bg:"bg-yellow-500/10",border:"border-yellow-500/25",check:"accent-yellow-500",rail:"border-yellow-500/35"},sky:{title:"text-sky-300",ring:"ring-sky-500/30",bg:"bg-sky-500/10",border:"border-sky-500/25",check:"accent-sky-500",rail:"border-sky-500/35"},slate:{title:"text-slate-300",ring:"ring-slate-500/30",bg:"bg-slate-500/10",border:"border-slate-500/25",check:"accent-slate-400",rail:"border-slate-500/35"}};function $(e){let{label:t,accent:l,enabled:a,onToggleEnabled:r,color:s,children:o,showDisplayToggle:i=!0,onDelete:c,dimmed:d=!1}=e,u=(0,D.Bd)().t.gbmEditor.panels,h=X[l],m=a&&!d;return(0,n.jsxs)("div",{className:"rounded-xl border px-2 py-2 space-y-2 transition-opacity ".concat(m?"".concat(h.border," ").concat(h.bg," ring-1 ").concat(h.ring):"border-white/10 bg-white/[0.02] opacity-55"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsx)("span",{className:"w-3.5 h-3.5 rounded shrink-0 border border-white/25",style:{backgroundColor:s},"aria-hidden":!0}),(0,n.jsx)("span",{className:"text-[9px] font-black leading-tight flex-1 min-w-0 ".concat(h.title),children:t}),i&&r&&(0,n.jsxs)("label",{className:"flex items-center gap-1.5 shrink-0 cursor-pointer select-none rounded-md px-1.5 py-0.5 hover:bg-white/5",children:[(0,n.jsx)("input",{type:"checkbox",checked:a,onChange:r,className:"w-3.5 h-3.5 ".concat(h.check)}),(0,n.jsx)("span",{className:"text-[8px] font-bold text-slate-200",children:u.zoneShow})]}),c&&(0,n.jsx)("button",{type:"button",onClick:c,className:"shrink-0 px-1.5 py-0.5 rounded text-[10px] font-black text-red-400/90 hover:text-red-300 hover:bg-red-500/10",title:u.zoneDelete,children:"\xd7"})]}),(0,n.jsx)("div",{className:"space-y-1.5 pl-1.5 ml-0.5 border-l-2 ".concat(h.rail),children:o})]})}function J(e){let{children:t}=e,l=(0,D.Bd)().t.gbmEditor.panels;return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,n.jsx)("span",{className:"text-[7px] font-bold text-slate-500 w-8 shrink-0",children:l.zoneAngle}),t]})}function Q(e){return(0,n.jsx)("input",{...e,className:"w-12 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"})}function ee(e){let{children:t}=e,l=(0,D.Bd)().t.gbmEditor.panels;return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,n.jsx)("span",{className:"text-[7px] font-bold text-slate-500 w-8 shrink-0",children:l.zoneElevation}),t]})}function et(e){return(0,n.jsx)("input",{...e,className:"w-14 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"})}var el=l(7657),en=l(96460),ea=l(19035);function er(e){let{active:t,bounds:l,leafletMap:r,draftPoints:s,strokeColor:o,savedOutlines:i,onDraftPointsChange:c,onPolygonComplete:d}=e,u=(0,a.useRef)(null),h=(0,a.useRef)(!1),m=(0,a.useRef)(null),p=(0,a.useRef)(0),x=(0,a.useRef)(null),f=(0,a.useCallback)((e,t)=>{let l=r.getContainer().getBoundingClientRect(),n=F().point(e-l.left,t-l.top),a=r.containerPointToLatLng(n);return{lat:a.lat,lng:a.lng}},[r]),g=(0,a.useCallback)((e,t)=>{let l=r.latLngToContainerPoint(F().latLng(e,t));return{x:l.x,y:l.y}},[r]),b=(0,a.useCallback)(()=>{let e=u.current,t=r.getContainer();if(!e||!t)return;let l=t.clientWidth,n=t.clientHeight;(e.width!==l||e.height!==n)&&(e.width=l,e.height=n)},[r]),v=(0,a.useCallback)((e,t,l)=>{if(0===t.length)return;let{stroke:n,fill:a,lineWidth:r=2,dashed:s=!1,close:o=!1}=l;e.beginPath(),t.forEach((t,l)=>{let{x:n,y:a}=g(t.lat,t.lng);0===l?e.moveTo(n,a):e.lineTo(n,a)}),o&&t.length>=3&&e.closePath(),s&&e.setLineDash([6,4]),e.strokeStyle=n,e.lineWidth=r,e.stroke(),e.setLineDash([]),a&&o&&t.length>=3&&(e.fillStyle=a,e.fill()),t.forEach((l,a)=>{let{x:r,y:s}=g(l.lat,l.lng);e.beginPath(),e.arc(r,s,0===a?5:4,0,2*Math.PI),e.fillStyle=0===a&&t.length>=3?"#facc15":n,e.fill(),e.strokeStyle="rgba(255,255,255,0.9)",e.lineWidth=1,e.stroke()})},[g]),w=(0,a.useCallback)(()=>{let e=u.current;if(!e)return;b();let t=e.getContext("2d");if(t){for(let l of(t.clearRect(0,0,e.width,e.height),i))l.points.length<2||v(t,l.points,{stroke:l.color,fill:"".concat(l.color,"33"),lineWidth:1.5,close:l.points.length>=3});s.length>0&&v(t,s,{stroke:o,fill:"".concat(o,"22"),lineWidth:2.5,dashed:s.length>=2&&s.length<3,close:s.length>=3})}},[s,v,i,o,b]);(0,a.useEffect)(()=>{w()},[w]),(0,a.useEffect)(()=>{let e=()=>w();return r.on("move",e),r.on("zoom",e),r.on("resize",e),()=>{r.off("move",e),r.off("zoom",e),r.off("resize",e)}},[r,w]);let y=(0,a.useCallback)(e=>!(e.length<3)&&(d([...e]),c([]),!0),[c,d]),j=(0,a.useCallback)((e,t,l)=>{let n=u.current;if(s.length>=3&&n){let e=g(s[0].lat,s[0].lng),a=n.getBoundingClientRect(),r=t-a.left,o=l-a.top;if(14>=Math.sqrt((r-e.x)**2+(o-e.y)**2)){y(s);return}}c([...s,e])},[s,g,c,y]),k=(0,a.useCallback)(e=>{if(t){if(2===e.button){e.preventDefault(),h.current=!0,m.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId);return}0!==e.button||p.current>=2||(j(f(e.clientX,e.clientY),e.clientX,e.clientY),e.target.setPointerCapture(e.pointerId))}},[t,j,f]),N=(0,a.useCallback)(e=>{if(t&&h.current&&m.current){let t=m.current.x-e.clientX,l=m.current.y-e.clientY;r.panBy([t,l],{animate:!1}),m.current={x:e.clientX,y:e.clientY};return}},[t,r]),M=(0,a.useCallback)(()=>{h.current&&(h.current=!1,m.current=null)},[]),S=(0,a.useCallback)(e=>{t&&(e.preventDefault(),y(s))},[t,s,y]),C=(0,a.useCallback)(e=>{if(p.current=e.touches.length,e.touches.length>=2){let t={x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2};x.current=t,h.current=!0,e.preventDefault()}},[]),E=(0,a.useCallback)(e=>{if(e.touches.length>=2&&h.current&&x.current){let t={x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2},l=x.current.x-t.x,n=x.current.y-t.y;r.panBy([l,n],{animate:!1}),x.current=t,e.preventDefault()}},[r]),T=(0,a.useCallback)(e=>{e.touches.length<2&&(h.current=!1,x.current=null),p.current=e.touches.length},[]),P=(0,a.useCallback)(e=>{e.deltaY<0?r.zoomIn(1,{animate:!0}):e.deltaY>0&&r.zoomOut(1,{animate:!0})},[r]);return(0,n.jsx)("canvas",{ref:u,className:"absolute inset-0 w-full h-full z-[510] ".concat(t?"pointer-events-auto":"pointer-events-none"),style:{cursor:t?"crosshair":"default",touchAction:"none"},onPointerDown:k,onPointerMove:N,onPointerUp:M,onDoubleClick:S,onTouchStart:C,onTouchMove:E,onTouchEnd:T,onContextMenu:e=>e.preventDefault(),onWheel:P})}var es=l(31005);let eo=0,ei=0;function ec(e){let{mode:t,bounds:l,leafletMap:r,roadWidthMm:s,roadColor:o,outputSizeMm:i,roadStrokes:c,heritageStamps:d,onRoadStrokesChange:u,onHeritageStampsChange:h,eraserTargets:m,eraserWidthPx:p=20,activeSymbolType:x="historic",symbolSizeMm:f=5,onEraserStroke:g,onBeforeErase:b,onBeforeDraw:v,lineType:w="solid",activeGroupId:y="lg-0"}=e,j=(0,a.useRef)(null),k=(0,a.useRef)(!1),N=(0,a.useRef)([]),M=(0,a.useRef)([]),S=(0,a.useRef)(null),C=(0,a.useRef)(!1),E=(0,a.useRef)(null),T=(0,a.useRef)(0),P=(0,a.useRef)(null),A=(0,a.useRef)(null),W=(0,a.useRef)(w),L=(0,a.useRef)(o),z=(0,a.useRef)(s),D=(0,a.useRef)(y);(0,a.useEffect)(()=>{W.current=w},[w]),(0,a.useEffect)(()=>{L.current=o},[o]),(0,a.useEffect)(()=>{z.current=s},[s]),(0,a.useEffect)(()=>{D.current=y},[y]);let B=(0,a.useCallback)((e,t)=>{let l=r.getContainer().getBoundingClientRect(),n=F().point(e-l.left,t-l.top),a=r.containerPointToLatLng(n);return{lat:a.lat,lng:a.lng}},[r]),R=(0,a.useCallback)((e,t)=>{let l=r.latLngToContainerPoint(F().latLng(e,t));return j.current?(r.getContainer(),{x:l.x,y:l.y}):{x:0,y:0}},[r]),O=(0,a.useCallback)(()=>{l.east,l.west,l.north,l.south;let e=r.latLngToContainerPoint(F().latLng(l.south,l.west));return s*(Math.abs(r.latLngToContainerPoint(F().latLng(l.south,l.east)).x-e.x)/i)},[r,l,s,i]),_=(0,a.useCallback)(()=>{let e=j.current;if(!e)return;let t=r.getContainer(),l=t.clientWidth,n=t.clientHeight;(e.width!==l||e.height!==n)&&(e.width=l,e.height=n)},[r]),G=(0,a.useCallback)(()=>{let e=j.current;if(!e)return;_();let n=e.getContext("2d");if(!n)return;n.clearRect(0,0,e.width,e.height);let a=R(l.north,l.west),r=R(l.south,l.east),i=Math.min(a.x,r.x),u=Math.min(a.y,r.y),h=Math.abs(r.x-a.x),m=Math.abs(r.y-a.y);n.save(),n.beginPath(),n.rect(i,u,h,m),n.clip();let x=O(),f=e=>{n.beginPath();let t=R(e[0].lat,e[0].lng);n.moveTo(t.x,t.y);for(let t=1;t<e.length;t++){let l=R(e[t].lat,e[t].lng);n.lineTo(l.x,l.y)}},g=(e,t)=>{let l=e.map(e=>R(e.lat,e.lng));if(l.length<2)return;let a=e=>{let n=l[Math.max(0,e-1)],a=l[Math.min(l.length-1,e+1)],r=a.x-n.x,s=a.y-n.y,o=Math.sqrt(r*r+s*s)||1;return{x:l[e].x+-s/o*t,y:l[e].y+r/o*t}};n.beginPath();let r=a(0);n.moveTo(r.x,r.y);for(let e=1;e<l.length;e++){let t=a(e);n.lineTo(t.x,t.y)}},b=(e,t,l)=>{n.setLineDash([]),n.strokeStyle=l,n.lineCap="round",n.lineJoin="round",n.lineWidth=Math.max(.35*t,1);let a=Math.max(.3*t,.8);g(e,-a),n.stroke(),g(e,a),n.stroke()};for(let e of(n.lineCap="round",n.lineJoin="round",c)){let t=e.widthMm/s*x,l=e.color||o;if(e.points.length<2)continue;
1let a=e.lineType||"solid";if(e.area){n.setLineDash([]),n.beginPath();for(let t=0;t<e.points.length;t++){let l=R(e.points[t].lat,e.points[t].lng);0===t?n.moveTo(l.x,l.y):n.lineTo(l.x,l.y)}n.closePath(),n.fillStyle=l+"B3",n.fill(),n.strokeStyle=l+"B3",n.lineJoin="round",n.lineCap="round",n.lineWidth=Math.max(t,1),n.stroke();continue}if("shinkansen"===a){b(e.points,t,l+"B3");continue}if("railway"===a){n.setLineDash([]),n.strokeStyle=l+"B3",n.lineCap="round",n.lineJoin="round",n.lineWidth=.5*t;let a=[];n.beginPath();for(let t=0;t<e.points.length;t++){let l=R(e.points[t].lat,e.points[t].lng);a.push(l),0===t?n.moveTo(l.x,l.y):n.lineTo(l.x,l.y)}n.stroke();let r=t*es.gb,s=.5*t,o=3*t;n.lineCap="butt",n.lineWidth=s;let i=.5*o;for(let e=1;e<a.length;e++){let t=a[e].x-a[e-1].x,l=a[e].y-a[e-1].y,s=Math.sqrt(t*t+l*l);if(s<.5){i-=s;continue}let c=t/s,d=l/s,u=-d;for(;i<=s;){let t=a[e-1].x+c*i,l=a[e-1].y+d*i;n.beginPath(),n.moveTo(t-u*r*.5,l-c*r*.5),n.lineTo(t+u*r*.5,l+c*r*.5),n.stroke(),i+=o}i-=s}n.lineCap="round";continue}n.lineWidth=t,n.strokeStyle=l+"B3";let r=3*t;"dashed"===a?n.setLineDash([r,.8*r]):"dotted"===a?n.setLineDash([t,.6*r]):"dashdot"===a?n.setLineDash([r,.5*r,t,.5*r]):n.setLineDash([]),f(e.points),n.stroke(),n.setLineDash([])}for(let e of d){let t=R(e.lat,e.lng),l=e.sizeMm/s*x,a=Math.max(1.5,.6/s*x);n.strokeStyle="rgba(239,68,68,0.85)",n.fillStyle="rgba(239,68,68,0.85)",(0,I.F)(n,e.symbolType,t.x,t.y,l,a)}if("road"===t&&N.current.length>1){let e=N.current;if("shinkansen"===w)b(e,x,o+"80");else if("railway"===w){n.setLineDash([]),n.strokeStyle=o+"80",n.lineCap="round",n.lineJoin="round",n.lineWidth=.5*x;let t=[];n.beginPath();for(let l=0;l<e.length;l++){let a=R(e[l].lat,e[l].lng);t.push(a),0===l?n.moveTo(a.x,a.y):n.lineTo(a.x,a.y)}n.stroke();let l=x*es.gb,a=.5*x,r=3*x;n.lineCap="butt",n.lineWidth=a;let s=.5*r;for(let e=1;e<t.length;e++){let a=t[e].x-t[e-1].x,o=t[e].y-t[e-1].y,i=Math.sqrt(a*a+o*o);if(i<.5){s-=i;continue}let c=a/i,d=o/i,u=-d;for(;s<=i;){let a=t[e-1].x+c*s,o=t[e-1].y+d*s;n.beginPath(),n.moveTo(a-u*l*.5,o-c*l*.5),n.lineTo(a+u*l*.5,o+c*l*.5),n.stroke(),s+=r}s-=i}n.lineCap="round"}else{n.lineWidth=x,n.strokeStyle=o+"80";let t=3*x;"dashed"===w?n.setLineDash([t,.8*t]):"dotted"===w?n.setLineDash([x,.6*t]):"dashdot"===w?n.setLineDash([t,.5*t,x,.5*t]):n.setLineDash([]),f(e),n.stroke(),n.setLineDash([])}}if(n.restore(),"eraser"===t&&M.current.length>1){n.lineWidth=p,n.strokeStyle="rgba(239,68,68,0.3)",n.lineCap="round",n.lineJoin="round",n.beginPath();let e=M.current,t=R(e[0].lat,e[0].lng);n.moveTo(t.x,t.y);for(let t=1;t<e.length;t++){let l=R(e[t].lat,e[t].lng);n.lineTo(l.x,l.y)}n.stroke()}if("eraser"===t&&S.current){let{x:e,y:t}=S.current,l=p/2;n.beginPath(),n.arc(e,t,l,0,2*Math.PI),n.strokeStyle="rgba(239,68,68,0.6)",n.lineWidth=1.5,n.stroke(),n.fillStyle="rgba(239,68,68,0.08)",n.fill()}},[c,d,t,R,O,_,s,o,w,p,l]);(0,a.useEffect)(()=>{G()},[G]),(0,a.useEffect)(()=>{let e=()=>G();return r.on("move",e),r.on("zoom",e),r.on("resize",e),()=>{r.off("move",e),r.off("zoom",e),r.off("resize",e)}},[r,G]);let U=(0,a.useCallback)((e,t,l,n,a,r)=>{let s=a-l,o=r-n,i=s*s+o*o;if(0===i)return Math.sqrt((e-l)**2+(t-n)**2);let c=((e-l)*s+(t-n)*o)/i;return Math.sqrt((e-(l+(c=Math.max(0,Math.min(1,c)))*s))**2+(t-(n+c*o))**2)},[]),H=(0,a.useCallback)((e,t,l)=>{for(let n of t){let t=R(n.lat,n.lng);for(let n=0;n<e.points.length-1;n++){let a=R(e.points[n].lat,e.points[n].lng),r=R(e.points[n+1].lat,e.points[n+1].lng);if(U(t.x,t.y,a.x,a.y,r.x,r.y)<l)return!0}}return!1},[R,U]),K=(0,a.useCallback)((e,t,l)=>{let n=R(e.lat,e.lng);for(let e of t){let t=R(e.lat,e.lng);if(Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2)<l)return!0}return!1},[R]),Y=(0,a.useCallback)(e=>{if(2===e.button){e.preventDefault(),C.current=!0,E.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId);return}if(0!==e.button||T.current>=2||"road"!==t&&"heritage"!==t&&"eraser"!==t)return;let l=B(e.clientX,e.clientY);if("road"===t)k.current=!0,N.current=[l],e.target.setPointerCapture(e.pointerId);else if("heritage"===t){A.current={lat:l.lat,lng:l.lng,clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId,pointerType:e.pointerType};try{e.target.setPointerCapture(e.pointerId)}catch(e){}}else"eraser"===t&&(k.current=!0,M.current=[l],e.target.setPointerCapture(e.pointerId))},[t,B]),V=(0,a.useCallback)(e=>{if(A.current&&e.pointerId===A.current.pointerId){let t=e.clientX-A.current.clientX,l=e.clientY-A.current.clientY;t*t+l*l>100&&(A.current=null)}if("eraser"===t){let t=j.current;if(t){let l=t.getBoundingClientRect();S.current={x:e.clientX-l.left,y:e.clientY-l.top},k.current||G()}}if(C.current&&E.current){let t=E.current.x-e.clientX,l=E.current.y-e.clientY;r.panBy([t,l],{animate:!1}),E.current={x:e.clientX,y:e.clientY};return}if(!k.current||"road"!==t&&"eraser"!==t)return;
1let l=B(e.clientX,e.clientY);if("road"===t){let e=N.current;if(e.length>0){let t=e[e.length-1];if(5e-5>Math.sqrt((l.lat-t.lat)**2+(l.lng-t.lng)**2))return}N.current.push(l)}else if("eraser"===t){let e=M.current;if(e.length>0){let t=e[e.length-1];if(3e-5>Math.sqrt((l.lat-t.lat)**2+(l.lng-t.lng)**2))return}M.current.push(l)}G()},[t,B,r,G]),Z=(0,a.useCallback)(e=>{if("heritage"===t&&A.current){let e=A.current;A.current=null,T.current<2&&(null==v||v(),h([...d,{id:"stamp-".concat(ei++),lat:e.lat,lng:e.lng,sizeMm:f,symbolType:x}]))}if(C.current){C.current=!1,E.current=null;return}if(k.current){if(k.current=!1,"road"===t){let e=N.current;e.length>=2&&(null==v||v(),u([...c,{id:"road-".concat(eo++),points:[...e],widthMm:z.current,color:L.current,lineType:W.current,groupId:D.current}])),N.current=[]}else if("eraser"===t){let e=M.current;if(e.length>=1){null==b||b();let t=p/2;if(null==m?void 0:m.roads){let l=c.filter(l=>!H(l,e,t));l.length!==c.length&&u(l)}if(null==m?void 0:m.heritage){let l=d.filter(l=>!K(l,e,t));l.length!==d.length&&h(l)}g&&g([...e])}M.current=[]}G()}},[t,c,d,u,h,m,p,H,K,g,b,v,G,x,f]),q=(0,a.useCallback)(e=>{if(T.current=e.touches.length,e.touches.length>=2){k.current=!1,N.current=[],M.current=[],A.current=null;let t={x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2};P.current=t,C.current=!0,e.preventDefault()}},[]),X=(0,a.useCallback)(e=>{if(e.touches.length>=2&&C.current&&P.current){let t={x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2},l=P.current.x-t.x,n=P.current.y-t.y;r.panBy([l,n],{animate:!1}),P.current=t,e.preventDefault()}},[r]),$=(0,a.useCallback)(e=>{e.touches.length<2&&(C.current=!1,P.current=null),T.current=e.touches.length},[]),J=(0,a.useCallback)(e=>{e.preventDefault()},[]),Q=(0,a.useCallback)(e=>{if(!r)return;let t=r.getContainer().getBoundingClientRect();r.containerPointToLatLng(F().point(e.clientX-t.left,e.clientY-t.top)),e.deltaY<0?r.zoomIn(1,{animate:!0}):e.deltaY>0&&r.zoomOut(1,{animate:!0})},[r]),ee="road"===t||"heritage"===t||"eraser"===t;return(0,n.jsx)("canvas",{ref:j,className:"absolute inset-0 w-full h-full z-[500] ".concat(ee?"pointer-events-auto":"pointer-events-none"),style:{cursor:"eraser"===t?"none":"road"===t?"crosshair":"heritage"===t?"cell":"default",touchAction:"none"},onPointerLeave:()=>{"eraser"===t&&(S.current=null,G())},onPointerDown:Y,onPointerMove:V,onPointerUp:Z,onTouchStart:q,onTouchMove:X,onTouchEnd:$,onContextMenu:J,onWheel:Q})}var ed=l(46967),eu=l(98867),eh=l(29389);let em="11.5rem",ep={step:{current:"bg-amber-500 text-white shadow-md shadow-amber-500/25",done:"bg-emerald-500/15 text-emerald-200 hover:bg-emerald-500/25",muted:"cursor-pointer bg-white/5 text-slate-300 hover:bg-white/10 hover:text-white",disabled:"cursor-not-allowed text-slate-500",idle:"text-slate-400 hover:bg-white/10 hover:text-white"},badge:{current:"bg-white/20 text-white",done:"bg-emerald-500/40 text-emerald-100",idle:"bg-white/10 text-slate-300",disabled:"bg-white/5 text-slate-500"},cycle:{activeShell:"bg-amber-500/10 ring-amber-500/40 shadow-sm shadow-amber-500/10",idleShell:"bg-amber-500/5 ring-amber-500/20",disabledShell:"bg-white/[0.02] ring-white/5 opacity-60",glyph:"text-amber-400/80",caption:"text-amber-300/90",visited:"text-emerald-400/80"}};function ex(){return(0,n.jsx)("span",{className:"flex shrink-0 items-center px-0 text-slate-600","aria-hidden":!0,children:(0,n.jsx)(ed.A,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2.5})})}function ef(e,t){return t?"current":e.done?"done":e.muted?"muted":e.disabled?"disabled":"idle"}function eg(e){return"preview3d"===e?"workflow-preview3d":"simulate"===e?"workflow-simulate":"export"===e?"workflow-export":void 0}function eb(e){let{step:t,isCurrent:l}=e;return(0,n.jsx)("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[9px] font-black sm:h-5 sm:w-5 ".concat(function(e,t){let l=ef(e,t);return"current"===l?ep.badge.current:"done"===l?ep.badge.done:"disabled"===l?ep.badge.disabled:ep.badge.idle}(t,l)),children:t.done&&!l?(0,n.jsx)(eu.A,{className:"h-2.5 w-2.5 sm:h-3 sm:w-3",strokeWidth:3}):t.stepNumber})}function ev(e){let{step:t,isCurrent:l,onStepClick:a,variant:r="standalone"}=e,s=!t.disabled,o="min-w-0 rounded-lg py-1 text-center transition-all ".concat("cycle"===r?"flex w-full min-w-0 flex-col items-center gap-0.5 sm:flex-row sm:justify-center sm:gap-1 sm:px-1.5":"flex w-auto max-w-full flex-none flex-col items-center gap-0.5 sm:flex-row sm:justify-center sm:gap-1.5 sm:px-1.5"," ").concat(ep.step[ef(t,l)]),i=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eb,{step:t,isCurrent:l}),(0,n.jsx)("span",{className:"min-w-0 truncate text-[7px] font-bold leading-none sm:text-[8px] lg:hidden",children:t.shortLabel}),(0,n.jsx)("span",{className:"hidden min-w-0 truncate text-[9px] font-bold leading-tight lg:inline xl:text-[10px]",children:t.label})]}),c=s&&t.href?(0,n.jsx)("a",{ref:t.linkRef,href:t.href,target:"_blank",rel:"noopener",onClick:t.onLinkClick,"data-coachmark":eg(t.id),className:o,"aria-current":l?"step":void 0,children:i}):(0,n.jsx)("button",{type:"button",disabled:t.disabled,onClick:()=>s&&a(t.id),"data-coachmark":eg(t.id),className:o,"aria-current":l?"step":void 0,children:i});return"cycle"===r?(0,n.jsx)("div",{className:"flex min-w-0 max-w-[50%] flex-1 basis-0 items-stretch",children:c}):c}function ew(e){var t;let{currentStep:l,steps:a,onStepClick:r,cycleAriaLabel:s,cycleCaption:o,cycleVisitedHint:i,cycleStepIds:c=["edit","preview3d"]}=e,d=a.find(e=>"select"===e.id),u=a.find(e=>"simulate"===e.id),h=a.find(e=>"export"===e.id),m=a.find(e=>"edit"===e.id),p=a.find(e=>"preview3d"===e.id),x=c.includes(l),f=null===(t=null==m?void 0:m.disabled)||void 0===t||t;return(0,n.jsx)("nav",{"aria-label":s,className:"mx-2 mb-1 rounded-xl bg-white/5 px-2 py-1.5 ring-1 ring-white/10 lg:mx-4 lg:mb-2 lg:px-3",children:(0,n.jsxs)("ol",{className:"grid w-full min-w-0 items-center gap-x-1 sm:gap-x-1.5",style:{gridTemplateColumns:"auto minmax(0, 1fr) auto auto ".concat(em)},children:[d&&(0,n.jsx)("li",{className:"flex min-w-0 items-center justify-self-start",children:(0,n.jsx)(ev,{step:d,isCurrent:l===d.id,onStepClick:r,variant:"standalone"})}),(0,n.jsxs)("li",{className:"flex min-w-0 items-center",children:[(0,n.jsx)(ex,{}),(0,n.jsxs)("div",{"data-coachmark":"workflow-loop",className:"flex min-w-0
1w-full flex-col rounded-xl px-1.5 py-1 ring-1 transition-all sm:px-2 ".concat(x?ep.cycle.activeShell:f?ep.cycle.disabledShell:ep.cycle.idleShell),children:[(0,n.jsxs)("div",{className:"flex min-w-0 items-stretch gap-1 sm:gap-1.5",children:[m&&(0,n.jsx)(ev,{step:m,isCurrent:l===m.id,onStepClick:r,variant:"cycle"}),(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-1 self-center px-0.5","aria-hidden":!0,children:[(0,n.jsx)(eh.A,{className:"h-3 w-3 shrink-0 sm:h-3.5 sm:w-3.5 ".concat(ep.cycle.glyph),strokeWidth:2.5}),(0,n.jsx)("span",{className:"truncate text-[7px] font-bold leading-none sm:text-[8px] ".concat(ep.cycle.caption),children:o})]}),p&&(0,n.jsx)(ev,{step:p,isCurrent:l===p.id,onStepClick:r,variant:"cycle"})]}),i&&(0,n.jsx)("p",{className:"mt-0.5 truncate text-center text-[7px] font-mono sm:text-[8px] ".concat(ep.cycle.visited),children:i})]}),(0,n.jsx)(ex,{})]}),u&&(0,n.jsx)("li",{className:"flex min-w-0 items-center justify-self-start",children:(0,n.jsx)(ev,{step:u,isCurrent:l===u.id,onStepClick:r,variant:"standalone"})}),h&&(0,n.jsx)("li",{className:"relative z-10 flex min-w-0 items-center justify-self-start",children:(0,n.jsx)(ev,{step:h,isCurrent:l===h.id,onStepClick:r,variant:"standalone"})}),(0,n.jsx)("li",{className:"w-[11.5rem] shrink-0","aria-hidden":!0})]})})}var ey=l(47650);let ej="gbm-editor-coachmark-v2",ek=["selectBounds","workflowLoop","tab3d","toolDraw","simulate","export"],eN={selectBounds:["map-panel"],workflowLoop:["workflow-loop"],tab3d:["tab-3d","workflow-preview3d"],toolDraw:["tool-draw"],simulate:["workflow-simulate","editor-action-simulate"],export:["workflow-export","editor-action-export"]};function eM(){try{window.localStorage.setItem(ej,"completed")}catch(e){}}function eS(e){if("undefined"==typeof document)return null;for(let t of eN[e]){let e=document.querySelector('[data-coachmark="'.concat(t,'"]'));if(!e)continue;let l=e.getBoundingClientRect();if(l.width>0&&l.height>0)return e}return null}function eC(e){let{stepId:t,copy:l,onNext:r,onSkip:s,isLastStep:o}=e,[i,c]=(0,a.useState)(!1),d=(0,a.useId)(),u=function(e){let[t,l]=(0,a.useState)(null);return(0,a.useLayoutEffect)(()=>{if(!e){l(null);return}let t=()=>{let t=eS(e);if(!t){l(null);return}let n=t.getBoundingClientRect();l({top:Math.max(0,n.top-6),left:Math.max(0,n.left-6),width:n.width+12,height:n.height+12})},n=eS(e);n&&n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}),t();let a=new ResizeObserver(t);n&&a.observe(n),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0);let r=window.setInterval(t,400);return()=>{a.disconnect(),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0),window.clearInterval(r)}},[e]),t}(t),h=l.steps[t],m=(0,a.useMemo)(()=>u?window.innerHeight-(u.top+u.height)>=140?"below":u.top>=140?"above":"left":"below",[u]),p=(0,a.useMemo)(()=>u?function(e,t){let l=Math.min(320,.9*window.innerWidth);return"below"===t?{top:e.top+e.height+10,left:Math.min(Math.max(8,e.left+e.width/2-l/2),window.innerWidth-l-8),maxWidth:l}:"above"===t?{bottom:window.innerHeight-e.top+10,left:Math.min(Math.max(8,e.left+e.width/2-l/2),window.innerWidth-l-8),maxWidth:l}:{top:Math.min(Math.max(8,e.top),window.innerHeight-120),right:window.innerWidth-e.left+10,maxWidth:l}}(u,m):{top:"20%",left:"5%",maxWidth:"90%"},[u,m]);(0,a.useEffect)(()=>{c(!0)},[]);let x=(0,a.useCallback)(e=>{"Escape"===e.key&&s()},[s]);if((0,a.useEffect)(()=>(window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)),[x]),!i)return null;let f=o?l.done:l.next;return(0,ey.createPortal)((0,n.jsxs)("div",{className:"fixed inset-0 z-[8500] pointer-events-none",children:[u?(0,n.jsx)("div",{className:"pointer-events-none fixed rounded-xl ring-2 ring-amber-400/90",style:{top:u.top,left:u.left,width:u.width,height:u.height,boxShadow:"0 0 0 9999px rgba(2, 6, 23, 0.62)"},"aria-hidden":!0}):(0,n.jsx)("div",{className:"absolute inset-0 bg-slate-950/62","aria-hidden":!0}),(0,n.jsxs)("div",{role:"dialog","aria-labelledby":d,className:"pointer-events-auto fixed z-[8501] rounded-2xl border border-white/15 bg-slate-900 p-4 shadow-2xl",style:p,children:[(0,n.jsx)("h4",{id:d,className:"mb-1.5 text-sm font-black text-white",children:h.title}),(0,n.jsx)("p",{className:"mb-3 text-[11px] leading-relaxed text-slate-300",children:h.body}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:s,className:"rounded-lg px-3 py-1.5 text-[10px] font-bold text-slate-400 hover:bg-white/10 hover:text-white",children:l.skip}),(0,n.jsx)("button",{type:"button",onClick:r,className:"rounded-lg bg-amber-500 px-4 py-1.5 text-[10px] font-black text-white shadow-md shadow-amber-500/25 hover:bg-amber-400",children:f})]})]})]}),document.body)}function eE(e){let{label:t,children:l,className:a="",coachMarkId:r}=e;return(0,n.jsxs)("div",{"data-coachmark":r,className:"flex shrink-0 flex-row items-center gap-1 scroll-mx-2 lg:flex-col lg:items-stretch lg:gap-0.5 ".concat(a),children:[(0,n.jsx)("div",{className:"hidden w-full px-0.5 pb-0.5 text-center text-[7px] font-mono font-black uppercase tracking-[0.2em] text-slate-500 lg:block","aria-hidden":!0,
1children:t}),(0,n.jsx)("div",{className:"flex flex-row items-center gap-1 lg:flex-col lg:gap-0.5",children:l})]})}function eT(e){let{line:t,body:l,className:a=""}=e;return(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-3 left-3 z-[1000] max-w-[min(90%,20rem)] rounded-xl bg-black/75 px-3 py-2 shadow-lg ring-1 ring-white/10 backdrop-blur-sm ".concat(a),role:"status","aria-live":"polite",children:(0,n.jsxs)("p",{className:"text-[10px] font-black leading-snug text-amber-300",children:[t.title,(0,n.jsx)("span",{className:"font-bold text-white",children:" â "}),(0,n.jsx)("span",{className:"font-bold text-slate-200",children:l})]})})}var eP=l(10914),eA=l(16087);function eW(e,t){return Object.entries(t).reduce((e,t)=>{let[l,n]=t;return e.replaceAll("{".concat(l,"}"),null==n?"":String(n))},e)}function eL(e,t){let l=Object.keys(t);if(0===l.length)return e?[{text:e}]:[];let n=RegExp("\\{(".concat(l.sort((e,t)=>t.length-e.length).map(eI).join("|"),")\\}"),"g"),a=[],r=0;for(let l of e.matchAll(n))l.index>r&&a.push({text:e.slice(r,l.index)}),a.push({text:t[l[1]],key:l[1]}),r=l.index+l[0].length;return r<e.length&&a.push({text:e.slice(r)}),a}function eI(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ez(e,t){let l=null==e?void 0:e.name;return"TimeoutError"===l||"AbortError"===l?t.timeout:e instanceof Error?e.message:String(e)}function eF(e,t){if(e.aborted)return null;if(void 0!==e.error)return(0,eA.zf)(e.error)?null:"".concat(t.waterFetchFailedPrefix,": ").concat(ez(e.error,t));let l=e.report;return l&&l.attempted?l.failed?(0,eA.zf)(l.error)?null:void 0===l.error?t.waterFetchFailedPrefix:"".concat(t.waterFetchFailedPrefix,": ").concat(ez(l.error,t)):l.partial?eW(t.waterPartialFetch,{failed:l.failedCells,total:l.totalCells}):null:null}function eD(e){return Number.isFinite(e)?String(Math.max(0,Math.floor(e))).replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"}function eB(e,t){var l,n,a;if(e.aborted)return null;let r=(null!==(n=e.errors)&&void 0!==n?n:[]).filter(e=>!(0,eA.zf)(e));if(r.length>0){let e=r.map(e=>ez(e,t)).join(" / ");return{level:"error",message:"".concat(t.failedPrefix,": ").concat(e)}}return(null!==(a=null===(l=e.errors)||void 0===l?void 0:l.length)&&void 0!==a?a:0)>0?null:0===e.count?{level:"info",message:t.noResults}:null}let eR=new Set(["text","search","url","tel","email","password","number"]);function eO(e){return Number.isFinite(e)?(100*Math.min(1,Math.max(0,e))).toFixed(1):"0.0"}function e_(e){return!Number.isFinite(e)||e<0?"0.00":e.toFixed(2)}function eG(e){return"number"==typeof e&&Number.isInteger(e)&&e>=1868}function eU(e){let t;let l={hasPhoto:!1,has10b:!1,year:null,fetchIncomplete:!1,report:null};if("5m"!==e.mode)return{kind:"mode10m",...l};let n=e.report;if(!(n&&!0===n.requested5a&&n.samplesTotal>0))return{kind:"pending",...l};let a=n.samplesFrom5a>0,r=n.samplesFrom5b+n.samplesFrom5c>0,s=n.samplesFrom10b>0,o={hasPhoto:r,has10b:s,fetchIncomplete:n.tiles5aError>0,report:n};if(!a&&!r&&!s)return{kind:"none",...o,year:null};if(!a&&!r)return{kind:"10m",...o,year:null};if(!a)return{kind:"photoOnly",...o,year:null};let i=e.surveyYear;if(e.surveyYearPending)t={kind:"pending"};else if(i&&eG(i.oldest)&&eG(i.newest)){let e=Math.min(i.oldest,i.newest),l=Math.max(i.oldest,i.newest);t=e===l?{kind:"single",year:e}:{kind:"range",oldest:e,newest:l}}else t={kind:"unavailable"};return{kind:"laser",...o,year:t}}var eH=l(68319);let eK={M:1867,T:1911,S:1925,H:1988,R:2018},eY={M:45,T:15,S:64,H:31},eV=/^([A-Z])(\d{1,2})$/;function eZ(e){return Array.isArray(e)&&e.length>=3&&e.every(e=>Array.isArray(e)&&e.length>=2&&"number"==typeof e[0]&&"number"==typeof e[1])}function eq(e,t,l){l.length=0;for(let n=0,a=e.length-1;n<e.length;a=n++){let r=e[n][1],s=e[a][1];if(r>t!=s>t){let o=e[n][0],i=e[a][0];l.push((i-o)*(t-r)/(s-r)+o)}}l.sort((e,t)=>e-t)}function eX(e,t){let l=0,n=e.length;for(;l<n;){let a=l+n>>1;e[a]>t?n=a:l=a+1}return(e.length-l&1)==1}function e$(e,t){return Math.floor((e+180)/360*Math.pow(2,t))}function eJ(e,t){let l=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(l)+1/Math.cos(l))/Math.PI)/2*Math.pow(2,t))}function eQ(e){return e instanceof Error&&"AbortError"===e.name}async function e0(e,t,l,n){var a,r,s;let o;try{o=await l(e,{signal:t})}catch(e){if(eQ(e))throw e;return null}if(!o.ok)return null;let i=Number(null!==(s=null===(r=o.headers)||void 0===r?void 0:null===(a=r.get)||void 0===a?void 0:a.call(r,"content-length"))&&void 0!==s?s:"");if(Number.isFinite(i)&&i>0&&n+i>8388608)return null;try{let e=await o.text();return{text:e,bytes:function(e){let t=0;for(let l=0;l<e.length;l++){let n=e.charCodeAt(l);n<128?t+=1:n<2048?t+=2:n>=55296&&n<=56319?(t+=4,l++):t+=3}return t}(e)}}catch(e){if(eQ(e))throw e;return null}}async function e1(e){var t,l;let n=null!==(t=e.fetchImpl)&&void 0!==t?t:fetch,a=function(e){let t=e$(e.west,12),l=e$(e.east,12),n=eJ(e.north,12),a=eJ(e.south,12),r=[];for(let e=n;e<=a;e++)for(let n=t;n<=l;n++)r.push({x:n,y:e});return r}(e.bounds);if(!("5m"===(l={demPrecision:e.demPrecision,samplesFrom5a:e.samplesFrom5a,tileCount:a.length}).demPrecision&&l.samplesFrom5a>0&&l.tileCount>0&&l.tileCount<=20))return null;let r=function(e){var t;let{bounds:l,sampleSource:n,resolution:a}=e,r=null!==(t=e.grid)&&void 0!==t?t:200;if(a<1||n.length<a*a)return[];
1let s=[],o=l.east-l.west,i=l.north-l.south;for(let e=0;e<r;e++){let t=(e+.5)/r,c=l.north-t*i,d=Math.min(a-1,Math.max(0,Math.round(t*(a-1))));for(let e=0;e<r;e++){let t=(e+.5)/r,i=Math.min(a-1,Math.max(0,Math.round(t*(a-1))));n[d*a+i]===eH.Iv&&s.push({lng:l.west+t*o,lat:c})}}return s}({bounds:e.bounds,sampleSource:e.sampleSource,resolution:e.resolution});if(0===r.length)return null;let s=a.slice(0,20),o=[],i=0,c=!1,d=0,u=[],h=Math.min(2,s.length);for(let t=0;t<h;t++)u.push((async()=>{for(;;){var t,l;let a;if(c)return;let r=d++;if(r>=s.length)return;let u=s[r],h=await e0((t=u.x,l=u.y,L.w$.fgd_dem5a_area_dtil_geojson.replace("{x}",String(t)).replace("{y}",String(l))),e.signal,n,i);if(h){if((i+=h.bytes)>8388608){c=!0;return}try{a=JSON.parse(h.text)}catch(e){continue}for(let e of function(e){if(!e||"object"!=typeof e)return[];let t="FeatureCollection"===e.type&&Array.isArray(e.features)?e.features:[e],l=[];for(let e of t){var n;if(!e||"object"!=typeof e)continue;let t=function(e){if("string"!=typeof e)return null;let t=e.trim().toUpperCase(),l=eV.exec(t);if(!l)return null;let n=eK[l[1]];if(void 0===n)return null;let a=Number(l[2]);if(!Number.isInteger(a)||a<1)return null;let r=eY[l[1]];if(void 0!==r&&a>r)return null;let s=n+a;return s>new Date().getFullYear()+1?null:s}((null!==(n=e.properties)&&void 0!==n?n:{})["ä½æå¹´åº¦"]);if(null===t)continue;let a=function(e){if(!e||"object"!=typeof e)return[];if("Polygon"===e.type){let t=Array.isArray(e.coordinates)?e.coordinates.filter(eZ):[];return t.length>0?[t]:[]}if("MultiPolygon"===e.type){if(!Array.isArray(e.coordinates))return[];let t=[];for(let l of e.coordinates){let e=Array.isArray(l)?l.filter(eZ):[];e.length>0&&t.push(e)}return t}return[]}(e.geometry);0!==a.length&&l.push({year:t,polygons:a})}return l}(a))o.push(e)}}})());return(await Promise.all(u),0===o.length)?null:function(e,t){if(0===e.length||0===t.length)return null;let l=function(e){let t=new Map;for(let l=0;l<e.length;l++){let n=e[l].lat,a=t.get(n);a?a.push(l):t.set(n,[l])}let l=[];for(let[n,a]of t){a.sort((t,l)=>e[t].lng-e[l].lng);let t=new Float64Array(a.length);for(let l=0;l<a.length;l++)t[l]=e[a[l]].lng;l.push({lat:n,lngs:t,index:Int32Array.from(a)})}return l.sort((e,t)=>e.lat-t.lat),l}(e),n=new Uint8Array(e.length),a=new Set,r=[],s=[];for(let e of t)for(let t of e.polygons){let o=t[0],i=1/0,c=-1/0;for(let e=0;e<o.length;e++){let t=o[e][1];t<i&&(i=t),t>c&&(c=t)}let d=0,u=0,h=l.length;for(;u<h;){let e=u+h>>1;l[e].lat<i?u=e+1:h=e}for(d=u;d<l.length&&l[d].lat<=c;d++){let i=l[d];if(eq(o,i.lat,r),0===r.length)continue;let c=r[0],u=r[r.length-1],h=function(e,t){let l=0,n=e.length;for(;l<n;){let a=l+n>>1;e[a]<t?l=a+1:n=a}return l}(i.lngs,c);if(h>=i.lngs.length)continue;let m=!1;for(;h<i.lngs.length&&i.lngs[h]<u;h++){let l=i.lngs[h];if(eX(r,l)){if(t.length>1){if(!m){s.length=0;for(let e=1;e<t.length;e++){let l=[];eq(t[e],i.lat,l),l.length>0&&s.push(l)}m=!0}let e=!1;for(let t=0;t<s.length;t++)if(eX(s[t],l)){e=!0;break}if(e)continue}a.add(e.year),n[i.index[h]]=1}}}}if(0===a.size)return null;let o=0;for(let e=0;e<n.length;e++)n[e]&&o++;let i=1/0,c=-1/0;for(let e of a)e<i&&(i=e),e>c&&(c=e);return{oldest:i,newest:c,matchedPoints:o,distinctYears:a.size}}(r,o)}var e5=l(53384),e2=l(93835),e3=l(90032),e4=l(89699);function e8(e){let t=[];for(let l of null!=e?e:[]){if("string"!=typeof l)continue;let e=l.trim();e.length>0&&t.push(e)}return t}function e6(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,l=Math.max(0,Math.floor(t)),n=e8(e.points),a=e8(e.critical).slice(0,l);0===a.length&&(a=n.slice(0,l));let r=new Set(a);return{critical:a,details:[...e8([e.lead]),...n.filter(e=>!r.has(e)),...e8([e.note])]}}var e9=l(81575);function e7(e){return!Number.isFinite(e)||e<=0?"0":e>=10?String(Math.round(e)):String(Math.round(10*e)/10)}var te=l(86538);function tt(e){if(!Number.isFinite(e))return"0";let t=Math.round(e),l=Math.abs(t).toString(),n="";for(let e=0;e<l.length;e+=1)e>0&&(l.length-e)%3==0&&(n+=","),n+=l[e];return t<0?"-".concat(n):n}let tl=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tn={terrain:"noteTerrain",water:"noteWater",sea:"noteSea",underground:"noteUnderground",userLine:"noteUserLine",infra:"noteInfra",ferryRoute:"noteFerryRoute",waterStructure:"noteWaterStructure",heritage:"noteHeritage",admin:"noteAdmin",
1slopeZone:"noteSlopeZone",regionColor:"noteRegionColor",elevZone:"noteElevZone",creditPlate:"noteCreditPlate",creditIcon:"noteCreditIcon"};function ta(e){let{sheet:t,engravedNotice:l}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"text-[9px] font-bold text-slate-500",children:[t.title,(0,n.jsx)("span",{className:"ml-1 font-mono font-normal text-slate-600",children:t.url})]}),(0,n.jsxs)("div",{className:"text-white font-bold text-[12px]",children:[t.regionName,t.regionInputNote&&(0,n.jsx)("span",{className:"text-[9px] font-normal text-slate-500",children:t.regionInputNote})]}),(0,n.jsxs)("div",{children:[t.centerCoord.label,t.punctuation.colon,(0,n.jsx)("span",{className:"text-white font-mono",children:t.centerCoord.value})]}),l,(0,n.jsx)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1",children:(function(e){let t=[];for(let l of e.sections){for(let e of(t.push({sectionKey:l.key,kind:"title",label:l.title,value:"",layout:l.layout}),l.rows))t.push({sectionKey:l.key,kind:"row",label:e.label,value:e.value,layout:l.layout});for(let e of l.notes)t.push({sectionKey:l.key,kind:"note",label:e,value:"",layout:l.layout})}return t})(t).map((e,l)=>"title"===e.kind?(0,n.jsxs)("div",{className:"w-full space-y-1",children:[(0,n.jsx)("div",{className:"border-t border-white/10 my-1.5 pt-1.5"}),(0,n.jsx)("div",{className:"text-[9px] font-bold text-slate-500",children:e.label})]},l):"note"===e.kind?(0,n.jsxs)("div",{className:"w-full text-[9px] text-slate-500 leading-relaxed",children:[t.punctuation.noteMark," ",e.label]},l):"grid"===e.layout?(0,n.jsxs)("div",{className:"flex items-baseline justify-between gap-1 text-[9px] min-w-0 w-[calc(50%-0.375rem)]",children:[(0,n.jsx)("span",{className:"truncate",children:e.label}),(0,n.jsx)("span",{className:"text-white font-mono shrink-0",children:e.value})]},l):(0,n.jsxs)("div",{className:"w-full",children:[e.label,t.punctuation.colon,(0,n.jsx)("span",{className:"text-white font-mono",children:e.value})]},l))}),(0,n.jsx)("div",{className:"border-t border-white/10 my-1.5 pt-1.5"}),(0,n.jsx)("div",{className:"text-[9px] text-slate-500",children:t.footer})]})}function tr(e){let{objects:t,punctuation:l,notes:a=[]}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ul",{className:"space-y-1 pt-1",children:t.map(e=>(0,n.jsxs)("li",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsxs)("span",{className:"font-mono text-[9px] text-slate-500 w-4 shrink-0",children:[e.index,"."]}),(0,n.jsx)("span",{className:"inline-block w-3.5 h-3.5 rounded border border-white/20 shrink-0",style:{backgroundColor:e.color},"aria-hidden":!0}),(0,n.jsxs)("span",{className:"text-[10px] text-slate-300 shrink-0",children:[l.parenOpen,e.colorName,l.parenClose]}),(0,n.jsx)("span",{className:"font-mono text-[9px] text-slate-400 shrink-0",children:e.rgb}),(0,n.jsx)("span",{className:"font-mono text-[10px] text-white truncate",children:e.name}),(0,n.jsx)("span",{className:"text-[9px] text-slate-500 shrink-0",children:e.note})]},e.index))}),a.map((e,t)=>(0,n.jsxs)("div",{className:"text-[9px] text-slate-400 leading-snug pt-1",children:[l.noteMark," ",e]},t))]})}var ts=l(38771),to=l(48986);let ti=[-.4,-.2],tc=[0,.2,.4,.6,.8,1],td=[0,-.2,-.4];function tu(e,t){return e.replaceAll("{mm}",t.toFixed(1))}var th=l(27844);function tm(e){var t;return(null!==(t=e.codePointAt(0))&&void 0!==t?t:0)>127?2:1}function tp(e){let t=0;for(let l of e)t+=tm(l);return t}function tx(e,t){let l=0,n="";for(let a of e){let e=tm(a);if(l+e>t)break;l+=e,n+=a}return n}function tf(e){return tx(e,14)}function tg(e){return tp(e)>14}async function tb(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ja",l=(e.north+e.south)/2,n=(e.east+e.west)/2;if("en"===t||"zh-TW"===t)try{let e=await fetch("https://nominatim.openstreetmap.org/reverse?lat=".concat(l,"&lon=").concat(n,"&format=json&accept-language=").concat("zh-TW"===t?"zh-TW":"en","&zoom=10"),{headers:{"User-Agent":"CreateGBM/1.0"}});if(!e.ok)return"";let a=await e.json(),r=null==a?void 0:a.address;return(null==r?void 0:r.city)||(null==r?void 0:r.town)||(null==r?void 0:r.village)||(null==r?void 0:r.county)||(null==a?void 0:a.name)||""}catch(e){return""}try{var a,r;let e=await fetch("https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=".concat(l,"&lon=").concat(n));if(!e.ok)return"";let t=await e.json();return(null!==(r=null==t?void 0:null===(a=t.results)||void 0===a?void 0:a.lv01Nm)&&void 0!==r?r:"").replace(/[ä¸äºä¸åäºå
ä¸å
«ä¹åç¾åä¸\d]+ä¸ç®.*$/,"").replace(/\d+çªå°?.*$/,"").replace(/\d+å·.*$/,"").trim()}catch(e){return""}}let tv=["Data: \xa9 GSI, GSI Vec., \xa9 OSM","Derived \xb7 Create GBM \xb7 osm.org/copyright"];function tw(e,t){return"900 ".concat(e,"px ").concat(t)}function ty(e,t,l){let n=e.measureText(t),a=Number.isFinite(n.actualBoundingBoxAscent)?-n.actualBoundingBoxAscent:.16*l,r=Number.isFinite(n.actualBoundingBoxDescent)?n.actualBoundingBoxDescent:.9*l,s=Number.isFinite(n.actualBoundingBoxLeft)?-n.actualBoundingBoxLeft:0,o=Number.isFinite(n.actualBoundingBoxRight)?n.actualBoundingBoxRight:n.width;return{top:a,bottom:r,left:s,right:o,w:o-s,h:r-a}}function tj(e,t,l){let n=[],a="";for(let r of e){let e=a+r;l(e)<=t?a=e:(a&&n.push(a),a=r)}return a&&n.push(a),n.length>0?n:[e]}async function tk(){try{let e=await fetch("/raw/logo_creategbm.png");if(!e.ok)return null;let t=await e.blob();return await createImageBitmap(t)}catch(e){return null}}async function tN(e){let t=new Date().toISOString().slice(0,10),l=Math.round(26.136000000000003),n=Math.round(39.6),a=Math.round(.84*n)-1,r=Math.round(.78*Math.round(46.464000000000006)),s=Math.round(.9*l),o=Math.round(1.18*s),i='"Noto Sans JP", "Noto Sans TC", "Hiragino Kaku Gothic ProN", "Microsoft JhengHei", "Yu Gothic", sans-serif',c=["".concat(e.bounds.north.toFixed(4),"\xb0N, ").
1concat(e.bounds.east.toFixed(4),"\xb0E"),"E-W ".concat(e.distEWkm.toFixed(2),"km / N-S ").concat(e.distNSkm.toFixed(2),"km"),"Scale 1/".concat(e.scale.toLocaleString()," | V.E. ").concat(e.verticalScale.toFixed(1),"x"),"Date: ".concat(t)],d=new OffscreenCanvas(1,1).getContext("2d"),u=e=>(function(e,t,l,n){if(!t.includes("\xa9"))return e.font=tw(l,n),e.measureText(t).width;let a=Math.round(1.3*l),r=0,s=t.split("\xa9");for(let t=0;t<s.length;t++)s[t]&&(e.font=tw(l,n),r+=e.measureText(s[t]).width),t<s.length-1&&(r+=(e.font=tw(a,n),e.measureText("\xa9").width));return r})(d,e,s,i),h=tv.flatMap(e=>(function e(t,l,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(n(t)<=l)return[t];if(a>=12)return tj(t,l,n);let r=(r,s)=>{if(r.length<=1)return null;let o=[],i="";for(let d=0;d<r.length;d++){let u=r[d],h=""===i?u:"".concat(i).concat(s).concat(u);if(n(h)<=l){i=h;continue}if(i&&o.push(i),n(u)<=l)i=u;else{var c;if(u.length>=t.length)return null;let r=e(u,l,n,a+1);o.push(...r.slice(0,-1)),i=null!==(c=r[r.length-1])&&void 0!==c?c:""}}return i&&o.push(i),o.length>0?o:null},s=r(t.split(", "),", ");return s?s:r(t.split(" ")," ")||tj(t,l,n)})(e,363,u)),m=148+(c.length*r+h.length*o+14)-2,p=new OffscreenCanvas(400,m).getContext("2d");p.fillStyle="rgb(255, 0, 0)",p.fillRect(0,0,400,m);let x=await tk();if(x){let e=new OffscreenCanvas(240,240).getContext("2d"),t=Math.round(.06*x.width);e.drawImage(x,t,t,x.width-2*t,x.height-2*t,0,0,240,240),x.close();let l=e.getImageData(0,0,240,240),n=new Uint8Array(57600);for(let e=0;e<57600;e++){let t=l.data[4*e],a=l.data[4*e+1],r=l.data[4*e+2];t>180&&a>180&&r>180?n[e]=0:r>80&&t<160?n[e]=1:n[e]=0}let a=new Uint8Array(n);for(let e=0;e<240;e++)for(let t=0;t<240;t++)if(0===n[240*e+t])for(let l=-1;l<=1;l++)for(let n=-1;n<=1;n++){let r=t+n,s=e+l;r>=0&&r<240&&s>=0&&s<240&&(a[240*s+r]=0)}let r=new Uint8Array(14400);for(let e=0;e<120;e++)for(let t=0;t<120;t++){let l=!1;for(let n=0;n<2;n++)for(let r=0;r<2;r++){let s=2*t+r,o=2*e+n;s<240&&o<240&&0===a[240*o+s]&&(l=!0)}r[120*e+t]=l?0:1}let s=p.getImageData(15,18,120,120);for(let e=0;e<120;e++)for(let t=0;t<120;t++){let l=120*e+t,n=!1;t<12&&e<12?n=(t-12)*(t-12)+(e-12)*(e-12)>144:t>=108&&e<12?n=(t-107)*(t-107)+(e-12)*(e-12)>144:t<12&&e>=108?n=(t-12)*(t-12)+(e-107)*(e-107)>144:t>=108&&e>=108&&(n=(t-107)*(t-107)+(e-107)*(e-107)>144),n?(s.data[4*l]=255,s.data[4*l+1]=0,s.data[4*l+2]=0):0===r[l]?(s.data[4*l]=0,s.data[4*l+1]=0,s.data[4*l+2]=0):(s.data[4*l]=0,s.data[4*l+1]=0,s.data[4*l+2]=255),s.data[4*l+3]=255}p.putImageData(s,15,18)}else p.save(),p.beginPath(),p.moveTo(27,18),p.lineTo(123,18),p.arcTo(135,18,135,30,12),p.lineTo(135,126),p.arcTo(135,138,123,138,12),p.lineTo(27,138),p.arcTo(15,138,15,126,12),p.lineTo(15,30),p.arcTo(15,18,27,18,12),p.closePath(),p.fillStyle="rgb(0, 0, 255)",p.fill(),p.restore();p.strokeStyle="black",p.lineWidth=4,p.strokeRect(3,3,394,m-6),p.fillStyle="black",p.textBaseline="top";p.font="900 ".concat(n,"px ").concat(i),p.fillText("Create GBM",147,16);let f=p.measureText("Create GBM").width;p.font="900 ".concat(a,"px ").concat(i);let g=tf(e.regionName||"".concat(((e.bounds.north+e.bounds.south)/2).toFixed(4),"\xb0N, ").concat(((e.bounds.east+e.bounds.west)/2).toFixed(4),"\xb0E"));for(;g.length>1&&p.measureText(g).width>f;)g=g.slice(0,-1);p.fillText(g,147,18+n+18-20+2+1+1+2+1),p.font="700 ".concat(l,"px ").concat(i),p.fillText("".concat(e.outputSizeMm,"mm \xd7 ").concat(e.outputSizeMm,"mm"),147,18+n+a+26-20+2+1+1+2+1);for(let t=0;t<c.length;t++)1===t&&(e.distEWkm>=100||e.distNSkm>=100)?p.font="900 ".concat(Math.round(.9*l),"px ").concat(i):p.font="900 ".concat(l,"px ").concat(i),p.fillText(c[t],19,150+t*r+2);let b=150+c.length*r+2;for(let e=0;e<h.length;e++)!function(e,t,l,n,a,r){if(!t.includes("\xa9")){e.font=tw(a,r),e.fillText(t,19,n);return}let s=Math.round(1.3*a),o=19,i=t.split("\xa9");for(let t=0;t<i.length;t++)i[t]&&(e.font=tw(a,r),e.fillText(i[t],o,n),o+=e.measureText(i[t]).width),t<i.length-1&&(o+=function(e,t,l,n,a){e.save(),e.textBaseline="top";let r=function(e,t,l,n,a){e.font=tw(n,a);let r=e.measureText("\xa9").width,s=ty(e,"\xa9",n),o=l+(s.top+s.bottom)/2,i=.5*Math.min(r,Math.max(1,s.h)),c=Math.max(0,i-3.5),d=2*Math.max(0,c-2),u=Math.max(8,Math.round(.62*n));e.font=tw(u,a);let h=ty(e,"C",u);for(;u>8&&(h.h>d||h.w>d);)u-=1,e.font=tw(u,a),h=ty(e,"C",u);return{cx:t+r/2,cy:o,outerR:i,innerR:c,cPx:u,cInk:h,advanceW:r}}(e,t,l,n,a);e.fillStyle="black",e.beginPath(),e.arc(r.cx,r.cy,r.outerR,0,2*Math.PI),e.arc(r.cx,r.cy,r.innerR,0,2*Math.PI,!0),e.fill("evenodd"),e.font=tw(r.cPx,a);let s=r.cx-(r.cInk.left+r.cInk.right)/2,o=r.cy-(r.cInk.top+r.cInk.bottom)/2;
1return e.fillText("C",s,o),e.restore(),r.advanceW}(e,o,n,s,r))}(p,h[e],19,b+e*o,s,i);let v=p.getImageData(0,0,400,m),w=new Uint8Array(400*m),y=new Uint8Array(400*m);for(let e=0;e<400*m;e++){let t=v.data[4*e],l=v.data[4*e+2];t>128&&l<128&&(w[e]=1),l>128&&t<128&&(y[e]=1)}return{redBitmap:w,blueBitmap:y,w:400,h:m}}function tM(e,t,l,n,a,r,s,o,i){let c=t-1,d=l-1,u=new Uint8Array(c*d),h=0;for(let l=0;l<d;l++)for(let n=0;n<c;n++)(e[l*t+n]||e[l*t+n+1]||e[(l+1)*t+n]||e[(l+1)*t+n+1])&&(u[l*c+n]=1,h++);if(0===h)return{positions:new Float32Array(0),indices:new Uint32Array(0),partName:i};let m=new Uint8Array(t*l);for(let e=0;e<d;e++)for(let l=0;l<c;l++)u[e*c+l]&&(m[e*t+l]=1,m[e*t+l+1]=1,m[(e+1)*t+l]=1,m[(e+1)*t+l+1]=1);let p=new Int32Array(t*l).fill(-1),x=0;for(let e=0;e<t*l;e++)m[e]&&(p[e]=x++);let f=new Float32Array(6*x);for(let e=0;e<l;e++)for(let l=0;l<t;l++){let i=p[e*t+l];if(i<0)continue;let c=n+l*r,d=a+e*s;f[3*i]=c,f[3*i+1]=d,f[3*i+2]=o;let u=x+i;f[3*u]=c,f[3*u+1]=d,f[3*u+2]=0}let g=[];for(let e=0;e<d;e++)for(let l=0;l<c;l++){if(!u[e*c+l])continue;let n=p[e*t+l],a=p[e*t+l+1],r=p[(e+1)*t+l],s=p[(e+1)*t+l+1];g.push(n,a,r),g.push(a,s,r);let o=x+n,i=x+a,d=x+r,h=x+s;g.push(o,d,i),g.push(i,d,h)}for(let e=0;e<d;e++)for(let l=0;l<c;l++){if(!u[e*c+l])continue;let n=p[e*t+l],a=p[e*t+l+1],r=p[(e+1)*t+l],s=p[(e+1)*t+l+1];0!==e&&u[(e-1)*c+l]||(g.push(n,x+n,a),g.push(a,x+n,x+a)),e!==d-1&&u[(e+1)*c+l]||(g.push(r,s,x+r),g.push(s,x+s,x+r)),0!==l&&u[e*c+(l-1)]||(g.push(n,r,x+n),g.push(r,x+r,x+n)),l!==c-1&&u[e*c+(l+1)]||(g.push(a,x+a,s),g.push(s,x+a,x+s))}return{positions:f,indices:new Uint32Array(g),partName:i}}async function tS(e){if(!e.regionName){var t;let l=await tb(e.bounds,null!==(t=e.locale)&&void 0!==t?t:"ja");l&&(e={...e,regionName:l})}let l=await tN(e),{w:n,h:a}=l,r=l.redBitmap.slice().reverse(),s=l.blueBitmap.slice().reverse(),o=Math.min(110,e.outputSizeMm-6),i=a/n*o,c=e.outputSizeMm-o-3,d=o/n,u=i/a;return{meshes:[tM(r,n,a,c,3,d,u,.4,"credit_plate"),tM(s,n,a,c,3,d,u,.4,"credit_icon")],plateBounds:{x0:c,y0:3,x1:c+o,y1:3+i,thickness:.4}}}function tC(e,t){let l=URL.createObjectURL(e),n=document.createElement("a");n.href=l,n.download=t,n.rel="noopener",document.body.appendChild(n),n.click(),document.body.removeChild(n),window.setTimeout(()=>{URL.revokeObjectURL(l)},6e4)}var tE=l(72432);function tT(e,t){switch(e){case"ok":return{message:t.success,showManualText:!1};case"unsupported":return{message:t.unsupported,showManualText:!0};case"denied":return{message:t.denied,showManualText:!0};default:return{message:t.unknown,showManualText:!0}}}let tP="EXPORT_CANCELLED";function tA(e,t,n){let a,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"model";try{a=new Worker(l.tu(new URL(l.p+l.u(2162),l.b)))}catch(e){return console.warn("[ExportWorker] Worker ãæ§ç¯ã§ããªãããã¡ã¤ã³ã¹ã¬ããã¸ãã©ã¼ã«ããã¯:",e),Promise.resolve({fallback:!0})}let s=Date.now()%0x7fffffff;return new Promise((l,o)=>{let i=!1,c=!1,d=e=>{if(!i){i=!0;try{a.terminate()}catch(e){}e()}},u=setTimeout(()=>{c||(console.warn("[ExportWorker] READY ãå±ããªãããã¡ã¤ã³ã¹ã¬ããã¸ãã©ã¼ã«ããã¯"),d(()=>l({fallback:!0})))},8e3),h=(e,t)=>{t&&t.length>0?a.postMessage(e,t):a.postMessage(e)};null==n||n(()=>{clearTimeout(u),d(()=>o(Error(tP)))}),a.onerror=e=>{clearTimeout(u),c?d(()=>o(Error(e.message||"export worker error"))):(console.warn("[ExportWorker] èµ·ååã¨ã©ã¼ã®ããã¡ã¤ã³ã¹ã¬ããã¸ãã©ã¼ã«ããã¯:",e.message),d(()=>l({fallback:!0})))},a.onmessage=n=>{let a=n.data;if(a&&"object"==typeof a)switch(a.type){case"ready":if(i)return;c=!0,clearTimeout(u),h({type:"start",jobId:s,mode:r,payload:e},(0,e4.Rb)(e.waterSource));return;case"phase":if(a.jobId!==s)return;t.onPhase(a.phase,a.progress);return;case"coverage":if(a.jobId!==s)return;Promise.resolve(t.confirmCoverage(a.summary,a.report)).then(e=>{i||h({type:"coverageDecision",jobId:s,proceed:e})});return;case"done":if(a.jobId!==s)return;d(()=>"image"===r?l({cancelled:!1,blob:a.blob,pngInputs:null,stats:a.stats,waterReport:a.waterReport,demPrecision:a.demPrecision}):l({cancelled:!1,blob:a.blob,mime:a.mime,csg:a.csg,stats:a.stats,waterReport:a.waterReport,demPrecision:a.demPrecision}));return;case"donePngInputs":if(a.jobId!==s)return;d(()=>l({cancelled:!1,blob:null,pngInputs:a.pngInputs,stats:a.stats,waterReport:a.waterReport,demPrecision:a.demPrecision}));return;case"cancelled":if(a.jobId!==s)return;d(()=>
1"image"===r?l({cancelled:!0,blob:null,pngInputs:null,stats:{},waterReport:null,demPrecision:null}):l({cancelled:!0,blob:null,mime:"",csg:null,stats:{},waterReport:null,demPrecision:null}));return;case"error":if(a.jobId!==s)return;d(()=>o(Error(a.message)));return}}})}var tW=l(87615),tL=l(35004),tI=l(24380);let tz=[1,2,3,4],tF={1:4,2:5,3:6,4:7};function tD(){return tz.map(e=>({level:e,mm:tF[e],recommended:2===e}))}var tB=l(93766),tR=l(52371);function tO(e,t){let l=[],n=[];for(let t=0;t<e.length;t++){let a=e[t];if(!a.nodes||a.nodes.length!==a.points.length||a.nodes.length<2){l.push({wayIdxs:[t],ids:[a.id],points:a.points,groupKey:a.groupKey});continue}n.push({idx:t,nodes:a.nodes,used:!1})}let a=new Map;for(let e of n)for(let t of e.nodes){let l=a.get(t);l?l.push(e.idx):a.set(t,[e.idx])}let r=new Map;for(let t of n){let l=e[t.idx].groupKey,n=r.get(l);n?n.push(t):r.set(l,[t])}for(let[n,s]of r){let r=new Map;for(let e of s)for(let[t,l]of[[e.nodes[0],0],[e.nodes[e.nodes.length-1],1]]){let n=r.get(t);n?n.push({st:e,end:l}):r.set(t,[{st:e,end:l}])}let o=e=>{var l,n;return(null!==(n=null===(l=r.get(e))||void 0===l?void 0:l.length)&&void 0!==n?n:0)===2&&!t.has(e)};for(let i of s){if(i.used)continue;i.used=!0;let s=[i.idx],c=e[i.idx].points.slice(),d=i.nodes[0],u=i.nodes[i.nodes.length-1],h=()=>{for(;;){if(!o(u))return;let t=r.get(u).find(e=>!e.st.used);if(!t)return;t.st.used=!0;let l=e[t.st.idx],n=0===t.end,a=n?l.points.slice():l.points.slice().reverse(),i=n?t.st.nodes:t.st.nodes.slice().reverse();s.push(t.st.idx),c=c.concat(a.slice(1)),u=i[i.length-1]}},m=()=>{c.reverse(),s.reverse();let e=d;d=u,u=e};h(),m(),h(),m();let p=new Set(s),x=e=>{var t;return(null!==(t=a.get(e))&&void 0!==t?t:[]).some(e=>!p.has(e))};l.push({wayIdxs:s,ids:s.map(t=>e[t].id),points:c,endNodeIds:[d,u],portalEnds:[t.has(d),t.has(u)],tunnelContinuationEnds:[x(d),x(u)],groupKey:n})}}return l}var t_=l(37150);let tG=/ãã³ãã«|é§é|æ´é/,tU=new Set(["building_passage","culvert","flooded","canal"]),tH=new Set(["avalanche_protector"]);function tK(e){let t=e.points;if(!t||t.length<2)return!1;let l=0===e.endIndex?0:1;if(e.portalEnds&&!e.portalEnds[l])return!1;if(e.bounds){let n=0===l?t[0]:t[t.length-1];if(!(0,t_.Bv)(n,e.bounds))return!1}return!0}var tY=l(32899),tV=l(51191);let tZ=[{level:"L1",label:"Lv1 é«éã»ææéè·¯",description:"é«éèªåè»å½éã»é½å¸é«éã»èªåè»å°ç¨éè·¯ï¼OSM `motorway`ï¼ã`toll=yes` / `motorroad=yes` ã®èªåè»éãåæµ",defaultColor:te.k8,defaultWidthMm:1.4,osmValues:["motorway","motorway_link"],defaultEnabled:!0},{level:"L2",label:"Lv2 å½éã»ä¸»è¦é½éåºçé",description:"ä¸è¬å½éï¼OSM `trunk`ï¼ããã³ä¸»è¦å°æ¹éï¼OSM `primary`ï¼",defaultColor:te.Nf,defaultWidthMm:1,osmValues:["trunk","trunk_link","primary","primary_link"],defaultEnabled:!0},{level:"L3",label:"Lv3 é½éåºçéã»å¸é(主è¦)",description:"ä¸è¬é½éåºçéã»å¸çºæéã®ä¸»è¦éï¼OSM `secondary` / `tertiary`ï¼",defaultColor:te.Ez,defaultWidthMm:.8,osmValues:["secondary","secondary_link","tertiary","tertiary_link"],defaultEnabled:!1},{level:"L4",label:"Lv4 ãã®ä»ä¸è¬éã»ç§é",description:"çæ´»éè·¯ã»è·¯å°ã»ãµã¼ãã¹éã»æªèè£
è»éã»ç§é",defaultColor:te.Hn,defaultWidthMm:.4,osmValues:["unclassified","residential","living_street","service","track"],defaultEnabled:!1},{level:"L5",label:"Lv5 徿©éã»å±±é",description:"ç»å±±éã»éæ©éã»ç³æ®µã»æ©è¡è
天å½ã»ä¹é¦¬éï¼OSM `path` / `footway` / `steps` / `pedestrian` / `bridleway`ï¼",defaultColor:te._h,defaultWidthMm:.3,osmValues:["path","footway","steps","pedestrian","bridleway"],defaultEnabled:!1}],tq=new Set(["footway","path","cycleway","steps","pedestrian","bridleway","corridor","elevator","via_ferrata","platform"]),tX=new Set(["motorway","motorway_link","trunk","trunk_link","primary","primary_link","secondary","secondary_link","tertiary","tertiary_link","unclassified","residential","living_street","road"]);async function t$(e,t,l,n){var a,r;if(0===t.size)return{strokes:[],overpassMeta:{totalCells:0,failedCells:0,partial:!1}};let{elements:s,meta:o}=await (0,tY.P1)(e,e=>(function(e,t){let l="".concat(e.south,",").concat(e.west,",").concat(e.north,",").concat(e.east),n=[];for(let e of tZ){if(!t.has(e.level))continue;let l=e.osmValues.join("|");n.push(' way["highway"~"^('.concat(l,')$"];'))}return(t.has("L1")?(n.push(' way["toll"="yes"]["highway"];'),n.push(' way["motorroad"="yes"]["highway"];')):t.has("L4")&&n.push(' way["toll"="yes"]["highway"];'),0===n.length)?"":"\n[out:json][timeout:".concat(tV.xN,"][bbox:").concat(l,"];\n(\n").concat(n.join("\n"),"\n);\nout body geom;\n").trim()})(e,t),{signal:l,onProgress:n,maxCellAreaKm2:(0,tV.gR)(t)}),i=[],c=[],d=new Set;for(let e of s){if("way"!==e.type)continue;let l=e.geometry;if(!l||l.length<2)continue;let n=function(e){if(!e)return null;let t=e.highway;if(!t)return null;if(tq.has(t)){if("yes"===e.toll)return"L4"}else if(("yes"===e.toll||"yes"===e.motorroad)&&tX.has(t))return"L1";
1for(let e of tZ)if(e.osmValues.includes(t))return e.level;return null}(e.tags);if(!n||!t.has(n))continue;let a=tZ.find(e=>e.level===n),r=l.map(e=>({lat:e.lat,lng:e.lon})),{tunnel:s,tunnelSource:o}=(0,tR.gm)(e.tags),i=(0,tR.W)(e.tags),u=(0,tR.Zo)(e.tags);if(!s&&e.nodes)for(let t of e.nodes)d.add(t);c.push({el:e,level:n,def:a,points:r,tunnel:s,tunnelSource:o,bridge:i,layer:u})}for(let t of c){if(t.tunnel||!(0,t_.fh)(t.points,e))continue;let l={id:"road-osm-".concat(t.el.id),points:t.points,widthMm:t.def.defaultWidthMm,color:t.def.defaultColor,lineType:"solid",...t.bridge?{bridge:!0}:{},...0!==t.layer?{layer:t.layer}:{}};i.push({level:t.level,stroke:l,sourceRef:null===(a=t.el.tags)||void 0===a?void 0:a.ref,tunnel:!1,tunnelSource:t.tunnelSource})}let u=[],h=[];for(let e=0;e<c.length;e++){let t=c[e];t.tunnel&&(u.push(e),h.push({id:t.el.id,points:t.points,nodes:t.el.nodes,groupKey:t.level}))}for(let t of tO(h,d)){if(!(0,t_.fh)(t.points,e))continue;let l=c[u[t.wayIdxs[0]]],n=function(e){var t,l,n,a,r,s,o,i;let c=e.tagsList.map(e=>{var t;return(null!==(t=null==e?void 0:e.tunnel)&&void 0!==t?t:"").toLowerCase()});if(c.length>0&&c.every(e=>tU.has(e)))return!1;if(c.some(e=>tH.has(e))||e.lengthM>=100||e.tagsList.some(e=>{var t,l;return tG.test(null!==(t=null==e?void 0:e.name)&&void 0!==t?t:"")||tG.test(null!==(l=null==e?void 0:e["tunnel:name"])&&void 0!==l?l:"")}))return!0;let d=null===(r=null===(t=e.portalEnds)||void 0===t?void 0:t[0])||void 0===r||r,u=null===(s=null===(l=e.portalEnds)||void 0===l?void 0:l[1])||void 0===s||s,h=null!==(o=null===(n=e.tunnelContinuationEnds)||void 0===n?void 0:n[0])&&void 0!==o&&o,m=null!==(i=null===(a=e.tunnelContinuationEnds)||void 0===a?void 0:a[1])&&void 0!==i&&i;return!d&&h||!u&&m}({tagsList:t.wayIdxs.map(e=>c[u[e]].el.tags),lengthM:(0,t_.bH)(t.points),portalEnds:t.portalEnds,tunnelContinuationEnds:t.tunnelContinuationEnds}),a={id:"road-osm-".concat(t.ids.join("+")),points:t.points,widthMm:l.def.defaultWidthMm,color:l.def.defaultColor,lineType:"solid",...0!==l.layer?{layer:l.layer}:{},...n?{tunnel:!0,tunnelSource:l.tunnelSource,endNodeIds:t.endNodeIds,portalEnds:t.portalEnds}:{}};i.push({level:l.level,stroke:a,sourceRef:null===(r=l.el.tags)||void 0===r?void 0:r.ref,tunnel:n,tunnelSource:n?l.tunnelSource:void 0})}return{strokes:i,overpassMeta:o}}let tJ={general:"lg-rail-general",light:"lg-rail-light",metro_light:"lg-rail-metro_light"},tQ=["cable_car","gondola","mixed_lift","chair_lift","drag_lift","t-bar","j-bar","platter","rope_tow","magic_carpet","zip_line","goods"],t0=tQ.join("|"),t1=["light_rail","tram","monorail","funicular","narrow_gauge","preserved","miniature"],t5=[{cls:"shinkansen",label:"Lv1 æ°å¹¹ç·",description:"é«éé鿬ç·ï¼`usage=high_speed` / `highspeed=yes` / åç§°ã®æ°å¹¹ç·ï¼",defaultColor:te.rA,defaultWidthMm:1.6,defaultLineType:"shinkansen",defaultEnabled:!0},{cls:"passenger",label:"Lv2 æ
客ééï¼JR/ç§éï¼",description:"æ
客卿¥ç·ï¼OSM `railway=rail`ã貨ç©ã»æ°å¹¹ç·åºåãé¤ãï¼",defaultColor:te.pk,defaultWidthMm:1.2,defaultLineType:"railway",defaultEnabled:!0},{cls:"subway",label:"Lv3 å°ä¸é",description:"å°ä¸éã®ã¿ï¼OSM `railway=subway`ï¼ã`tunnel=no` 以å¤ã¯æ¢å®ã§å°ä¸æ±ãï¼ç¹ç·ã»çãä¸ãï¼",defaultColor:te.Sb,defaultWidthMm:.6,defaultLineType:"railway",defaultEnabled:!1},{cls:"special",label:"Lv4 å°å輸éã»ç¹æ®éé",description:"ã©ã¤ãã¬ã¼ã«ã»è·¯é¢ã»ã¢ãã¬ã¼ã«ã»é¼ç´¢ã»ç´¢éã»çè»ã»ä¿åã»ããï¼OSM `light_rail` / `tram` / `monorail` / `funicular` / `aerialway=*` / `narrow_gauge` / `preserved` / `miniature`ï¼",defaultColor:te.u3,defaultWidthMm:.6,defaultLineType:"railway",defaultEnabled:!1},{cls:"lifecycle",label:"Lv5 å»ç·ã»è²¨ç©ã»å»ºè¨ä¸",description:"å»ç·ã»å»ºè¨ä¸ã»è²¨ç©å°ç¨ã»å´ç·ï¼OSM ã©ã¤ããµã¤ã¯ã«å¤åã»æ¥é è¾å / `usage=freight` / `service=yard|siding|spur`ï¼",defaultColor:te.lU,defaultWidthMm:.5,defaultLineType:"railway",defaultEnabled:!1}];async function t2(e,t,l,n){var a,r;if(0===t.size)return{strokes:[],overpassMeta:{totalCells:0,failedCells:0,partial:!1}};let{elements:s,meta:o}=await (0,tY.P1)(e,e=>(function(e,t){if(0===t.size)return"";let l="".concat(e.south,",").concat(e.west,",").concat(e.north,",").concat(e.east),n=[];return(t.has("shinkansen")||t.has("passenger"))&&n.push(' way["railway"="rail"];'),t.has("subway")&&n.push(' way["railway"="subway"];'),t.has("special")&&(n.push(' way["railway"~"^('.concat(t1.join("|"),')$"];')),n.push(' way["aerialway"~"^('.concat(t0,')$"];'))),t.has("lifecycle")&&(n.push(' way["railway"~"'.concat("^(construction|proposed|disused|abandoned)$",'"];')),n.push(' way["disused:railway"];'),n.push(' way["abandoned:railway"];'),n.push(' way["construction:railway"];'),n.push(' way["proposed:railway"];'),n.push(' way["railway"="rail"]["usage"="freight"];'),n.push(' way["railway"="rail"]["service"~"^(yard|siding|spur)$"];')),"\n[out:json][timeout:".concat(tV.xN,"][bbox:").concat(l,"];\n(\n").concat(n.join("\n"),"\n);\nout body geom;\n").trim()})(e,t),{signal:l,onProgress:n,maxCellAreaKm2:(0,tV.x0)(t)}),i=[],c=[],d=new Set;for(let e of s){if("way"!==e.type)continue;let l=e.geometry;if(!l||l.length<2)continue;let n=function(e){var t,l,n,a,r;if(!e)return null;let s=function(e){let t=e.aerialway;return t&&tQ.includes(t)?"special":null}(e);if(s&&!e.railway)return s;let o=e.railway;return o?"construction"===o||"proposed"===o||"disused"===o||"abandoned"===o||"disused:railway"in(t=e)||"abandoned:railway"in t||"construction:railway"in t||"proposed:railway"in t||"rail"===o&&("freight"===e.usage||/^(yard|siding|spur)$/.test(null!==(l=e.service)&&void 0!==l?l:""))?"lifecycle":"subway"===o?"subway":t1.includes(o)?"special":"rail"===o?"high_
1speed"===e.usage||"yes"===e.highspeed||/æ°å¹¹ç·/.test(null!==(n=e.name)&&void 0!==n?n:"")||/Shinkansen/i.test(null!==(a=e.ref)&&void 0!==a?a:"")||/Shinkansen/i.test(null!==(r=e.name)&&void 0!==r?r:"")?"shinkansen":"passenger":s:s}(e.tags);if(!n||!t.has(n))continue;let a=t5.find(e=>e.cls===n),r=l.map(e=>({lat:e.lat,lng:e.lon})),{tunnel:s,tunnelSource:o}=(0,tR.T)(e.tags),i=(0,tR.W)(e.tags),u=(0,tR.Zo)(e.tags);if(!s&&e.nodes)for(let t of e.nodes)d.add(t);c.push({el:e,cls:n,def:a,points:r,tunnel:s,tunnelSource:o,bridge:i,layer:u})}for(let t of c){if(t.tunnel||!(0,t_.fh)(t.points,e))continue;let l={id:"rail-osm-".concat(t.el.id),points:t.points,widthMm:t.def.defaultWidthMm,color:t.def.defaultColor,lineType:t.def.defaultLineType,...t.bridge?{bridge:!0}:{},...0!==t.layer?{layer:t.layer}:{}};i.push({cls:t.cls,stroke:l,sourceRef:null===(a=t.el.tags)||void 0===a?void 0:a.ref,tunnel:!1,tunnelSource:t.tunnelSource})}let u=[],h=[];for(let e=0;e<c.length;e++){let t=c[e];t.tunnel&&(u.push(e),h.push({id:t.el.id,points:t.points,nodes:t.el.nodes,groupKey:t.cls}))}for(let t of tO(h,d)){if(!(0,t_.fh)(t.points,e))continue;let l=c[u[t.wayIdxs[0]]],n={id:"rail-osm-".concat(t.ids.join("+")),points:t.points,widthMm:l.def.defaultWidthMm,color:l.def.defaultColor,lineType:l.def.defaultLineType,...0!==l.layer?{layer:l.layer}:{},tunnel:!0,tunnelSource:l.tunnelSource,endNodeIds:t.endNodeIds,portalEnds:t.portalEnds};i.push({cls:l.cls,stroke:n,sourceRef:null===(r=l.el.tags)||void 0===r?void 0:r.ref,tunnel:!0,tunnelSource:l.tunnelSource})}return{strokes:i,overpassMeta:o}}var t3=l(80442),t4=l(41448),t8=l(42132);let t6={lengthM:80,widthM:6},t9="rail|subway|light_rail|tram|monorail|funicular|narrow_gauge|preserved|miniature",t7=new RegExp("^(".concat(t9,")$"));function le(e){var t;return t7.test(null!==(t=null==e?void 0:e.railway)&&void 0!==t?t:"")}function lt(e){let t="".concat(e.south,",").concat(e.west,",").concat(e.north,",").concat(e.east);return"\n[out:json][timeout:".concat(tV.xN,'];\n(\n node["railway"~"^(station|halt)$"](').concat(t,');\n node["public_transport"="station"](').concat(t,');\n way["railway"~"^(station|halt)$"](').concat(t,');\n way["public_transport"="station"](').concat(t,');\n)->.stn;\n(\n .stn;\n way["railway"="platform"](').concat(t,');\n way["public_transport"="platform"](').concat(t,');\n way["building"="train_station"](').concat(t,');\n way["railway"~"^(').concat(t9,')$"](around.stn:').concat(100,");\n);\nout body geom;\n").trim()}function ll(e){let t=null!=e?e:{};return"station"===t.railway||"halt"===t.railway||la(t)}let ln=["train","subway","light_rail","monorail","tram"];function la(e){let t=null!=e?e:{};return ln.some(e=>"yes"===t[e])}function lr(e){var t,l;if(!e)return!1;if((0,tR.xy)(e)||"underground"===e.location)return!0;let n=Number.parseInt(null!==(t=e.layer)&&void 0!==t?t:"",10);return!!(Number.isFinite(n)&&n<0||(null!==(l=e.level)&&void 0!==l?l:"").trim().startsWith("-"))}let ls=e=>111320*Math.cos(e*Math.PI/180);function lo(e,t){return Math.hypot((e.lat-t.lat)*111320,(e.lng-t.lng)*ls((e.lat+t.lat)/2))}function li(e,t,l,n){let a=t*Math.PI/180,r=Math.sin(a),s=Math.cos(a),o=-s,i=ls(e.lat),c=(t,l)=>({lat:e.lat+(s*t+r*l)/111320,lng:e.lng+(r*t+o*l)/i}),d=l/2,u=n/2;return[c(-d,-u),c(d,-u),c(d,u),c(-d,u)]}async function lc(e,t){let l,n;try{({elements:l,meta:n}=await (0,tY.P1)(e,lt,{signal:t,maxCellAreaKm2:tV.Vo}))}catch(e){return{strokes:[],platformStrokes:[],syntheticPlatformCount:0,buildingStrokes:[],fallbackBuildingCount:0,fetchFailed:!0,overpassMeta:{totalCells:0,failedCells:0,partial:!1}}}let a=[],r=[],s=[],o=[],i=[],c=[],d=[];for(let e of l){if("way"!==e.type||!le(e.tags))continue;let t=e.geometry;t&&!(t.length<2)&&d.push(t.map(e=>({lat:e.lat,lng:e.lon})))}for(let t of l){var u,h,m;if("node"===t.type){if(null==t.lat||null==t.lon||!ll(t.tags))continue;let l={lat:t.lat,lng:t.lon};if(!(0,t_.Bv)(l,e))continue;let n=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,n=null,a=ls(e.lat);for(let r of t)for(let t=1;t<r.length;t++){let s=(r[t-1].lng-e.lng)*a,o=(r[t-1].lat-e.lat)*111320,i=(r[t].lng-e.lng)*a,c=(r[t].lat-e.lat)*111320,d=i-s,u=c-o,h=d*d+u*u;if(h<1e-6)continue;let m=Math.max(0,Math.min(1,-(s*d+o*u)/h)),p=Math.hypot(s+m*d,o+m*u);if(!(p>l)&&(!n||p<n.distanceM)){let e=180*Math.atan2(d,u)/Math.PI;n={azimuthDeg:e=(e%180+180)%180,distanceM:p}}}return n}(l,d),r=null!==(u=null==n?void 0:n.azimuthDeg)&&void 0!==u?u:90;c.push({id:t.id,center:l,azimuthDeg:r,underground:function(e){var t;if(!e)return!1;if("subway"===e.station||"yes"===e.subway||"underground"===e.location||(0,tR.xy)(e))return!0;let l=Number.parseInt(null!==(t=e.layer)&&void 0!==t?t:"",10);return!!Number.isFinite(l)&&l<0}(t.tags)});let s=(0,tR.o5)({id:"station-osm-node-".concat(t.id),ring:li(l,r,tR.SX.widthM,tR.SX.depthM)});s&&a.push(s);continue}if("way"===t.type){if(le(t.tags))continue;let l=t.geometry;if(!l||l.length<2)continue;let n=l.map(e=>({lat:e.lat,lng:e.lon}));if(!(0,t_.sB)(n,e))continue;if((null==(h=t.tags)?void 0:h.building)==="train_station"){if(lr(t.tags))continue;
1let l=(0,tR.OU)({id:"station-bldg-osm-way-".concat(t.id),ring:n,layer:(0,tR.Zo)(t.tags)});if(l){s.push(l);let t=(0,tR.h6)(n,e);t&&i.push(t.center)}continue}if((m=t.tags)&&("platform"===m.railway||"platform"===m.public_transport&&la(m))){if(lr(t.tags)){let t=(0,tR.h6)(n,e);t&&o.push(t.center);continue}let l=(0,tR.Fu)({id:"platform-osm-way-".concat(t.id),ring:n});if(l){r.push(l);let t=(0,tR.h6)(n,e);t&&o.push(t.center)}continue}if(!ll(t.tags))continue;let c=(0,tR.o5)({id:"station-osm-way-".concat(t.id),ring:n});c&&a.push(c)}}let p=0;for(let e of c){if(e.underground||o.some(t=>150>=lo(t,e.center)))continue;let t=(0,tR.Fu)({id:"platform-synth-node-".concat(e.id),ring:li(e.center,e.azimuthDeg,t6.lengthM,t6.widthM)});t&&(r.push(t),p++)}let x=0;for(let e of c){if(i.some(t=>150>=lo(t,e.center)))continue;let t=(0,tR.OU)({id:"station-bldg-synth-node-".concat(e.id),ring:li(e.center,e.azimuthDeg,tR.SX.widthM,tR.SX.depthM)});t&&(s.push(t),x++)}return{strokes:a,platformStrokes:r,syntheticPlatformCount:p,buildingStrokes:s,fallbackBuildingCount:x,fetchFailed:!1,overpassMeta:n}}var ld=l(9740),lu=l(96005),lh=l(72248);let lm=[0,.2,.4,.6,.8,1],lp=[...ti,...lm],lx=[...ti,0],lf=[...lp,1.2];function lg(e,t){if("number"==typeof e&&Number.isFinite(e)){for(let l of t)if(1e-9>Math.abs(l-e))return l}}function lb(e){return"flat"===e||"round"===e?e:void 0}function lv(e){return"boolean"==typeof e?e:void 0}let lw="snapshots",ly="latest",lj="gen-a",lk="gen-b";function lN(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&"number"==typeof e.schemaVersion&&"number"==typeof e.revision&&!!e.snapshot&&"object"==typeof e.snapshot&&!Array.isArray(e.snapshot)}function lM(e,t){return new Promise((l,n)=>{let a=e.transaction(lw,"readonly").objectStore(lw).get(t);a.onsuccess=()=>{var e;return l(null!==(e=a.result)&&void 0!==e?e:null)},a.onerror=()=>n(a.error)}).catch(e=>(console.warn("[autosave] slot read failed:",t,e),null))}function lS(){return new Promise((e,t)=>{let l=indexedDB.open("gbm-editor-v2",1);l.onupgradeneeded=()=>{let e=l.result;e.objectStoreNames.contains(lw)||e.createObjectStore(lw)},l.onsuccess=()=>e(l.result),l.onerror=()=>t(l.error)})}async function lC(e){try{let t=await lS(),l=await lM(t,lj),n=await lM(t,lk),a=lN(l)?l.revision:null,r=lN(n)?n.revision:null,s={schemaVersion:1,revision:Math.max(null!=a?a:0,null!=r?r:0)+1,savedAt:Date.now(),snapshot:e},o=t.transaction(lw,"readwrite");o.objectStore(lw).put(s,null===a?"gen-a":null===r?"gen-b":a<=r?"gen-a":"gen-b"),await new Promise((e,t)=>{o.oncomplete=()=>e(),o.onerror=()=>t(o.error)}),t.close()}catch(e){console.warn("[autosave] Failed to save:",e)}}async function lE(){try{var e,t;let l=await lS(),n=await lM(l,lj),a=await lM(l,lk),r=await lM(l,ly);l.close();let s=[];return lN(n)&&s.push({revision:n.revision,snapshot:n.snapshot}),lN(a)&&s.push({revision:a.revision,snapshot:a.snapshot}),r&&s.push({revision:0,snapshot:r}),null!==(t=null===(e=function(e){let t=null;for(let l of e)l.snapshot&&"object"==typeof l.snapshot&&(!t||l.revision>t.revision)&&(t={revision:l.revision,snapshot:l.snapshot});return t}(s))||void 0===e?void 0:e.snapshot)&&void 0!==t?t:null}catch(e){return console.warn("[autosave] Failed to load:",e),null}}async function lT(){try{let e=await lS(),t=e.transaction(lw,"readwrite"),l=t.objectStore(lw);l.delete(lj),l.delete(lk),l.delete(ly),await new Promise((e,l)=>{t.oncomplete=()=>e(),t.onerror=()=>l(t.error)}),e.close()}catch(e){console.warn("[autosave] Failed to clear:",e)}}async function lP(){try{var e;if("undefined"==typeof navigator||!(null===(e=navigator.storage)||void 0===e?void 0:e.persist))return null;let t=await navigator.storage.persist();return console.log("[autosave] persistent storage:",t?"granted":"denied"),t}catch(e){return null}}var lA=l(62859);let lW=new Set([te.Ub,te.NV,te.qH,"#464646","#6E6E6E","#969696","#C8C8C8"].map(te.Mn)),lL=new Set([te.Ub,"#464646"].map(te.Mn)),lI=new Set([te.rW,te.pZ].map(te.Mn)),lz={[tJ.general]:"passenger",[tJ.light]:"subway",[tJ.metro_light]:"subway"};function lF(e,t,l){return(0,te.Mn)(e)!==(0,te.Mn)(t)&&(!!("passenger"===l&&lL.has((0,te.Mn)(e))||"shinkansen"===l&&lI.has((0,te.Mn)(e))||lI.has((0,te.Mn)(e)))||lW.has((0,te.Mn)(e)))}function lD(e){var t,l;let{lineGroups:n,roadStrokes:a,roadLevelColors:r,railwayClassColors:s}=e,o=!1,i=function(e){let{lineGroups:t,roadStrokes:l,railwayClassColors:n}=e,a=!1;for(let[e,n]of Object.entries(lz)){let r="lg-rail-".concat(n);if(t.some(t=>t.id===e)){a=!0;let l=t.find(t=>
1t.id===e),n=t.find(e=>e.id===r);t=t.filter(t=>t.id!==e).map(e=>e.id===r&&n?{...e,color:e.color||l.color}:e),n||(t=[...t,{...l,id:r}])}l=l.map(t=>t.groupId===e?{...t,groupId:r}:t)}if(n){let e={...n};void 0!==e.general&&(void 0===e.passenger&&(e.passenger=e.general),delete e.general,a=!0),void 0!==e.light&&(void 0===e.subway&&(e.subway=e.light),delete e.light,a=!0),void 0!==e.metro_light&&(void 0===e.subway&&(e.subway=e.metro_light),delete e.metro_light,a=!0),a&&(n=e)}return{lineGroups:t,roadStrokes:l,railwayClassColors:n,didChange:a}}({lineGroups:n,roadStrokes:a,railwayClassColors:s});for(let e of(i.didChange&&(o=!0,n=i.lineGroups,a=i.roadStrokes,s=i.railwayClassColors),tZ)){let l="lg-road-".concat(e.level),s=e.defaultColor,i=n.find(e=>e.id===l);(lF(null!==(t=r[e.level])&&void 0!==t?t:s,s)||i&&lF(i.color,s))&&(o=!0,r={...r,[e.level]:s},n=n.map(e=>e.id===l?{...e,color:s,source:"infra"}:e),a=a.map(e=>e.groupId===l?{...e,color:s}:e))}for(let e of t5){let t="lg-rail-".concat(e.cls),r=e.defaultColor,i=n.find(e=>e.id===t);(lF(null!==(l=s[e.cls])&&void 0!==l?l:r,r,e.cls)||i&&lF(i.color,r,e.cls))&&(o=!0,s={...s,[e.cls]:r},n=n.map(e=>e.id===t?{...e,color:r,source:"infra"}:e),a=a.map(e=>e.groupId===t?{...e,color:r}:e))}return o?{lineGroups:n,roadStrokes:a,roadLevelColors:r,railwayClassColors:s,didChange:!0}:{...e,didChange:!1}}let lB=(0,Z.default)(()=>Promise.all([l.e(1831),l.e(9367),l.e(2274),l.e(2648),l.e(267),l.e(1015)]).then(l.bind(l,41015)),{loadableGenerated:{webpack:()=>[41015]},ssr:!1,loading:()=>(0,n.jsx)("div",{className:"w-full h-full flex items-center justify-center text-slate-500",children:(0,n.jsx)("div",{className:"w-8 h-8 border-2 border-brand-blue border-t-transparent rounded-full animate-spin"})})}),lR=(0,L.ej)(),lO={min:500,max:3e3,default:1200};function l_(){try{let e=globalThis.crypto;if(e&&"function"==typeof e.randomUUID)return e.randomUUID()}catch(e){}return"".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10))}function lG(e,t,l){return new Promise((n,a)=>{let r,s=!1,o=null,i=null,c=(0,e2.UU)(),d=e=>{if(!s){s=!0,null!==i&&clearTimeout(i),(0,e2._I)(()=>"".concat(e2.DU,"â¡ ã¨ãã£ã¿: IndexedDB ã¸ã®æ¸ãè¾¼ã¿ï¼æ§é åè¤è£½ãå«ãã»").concat(void 0!==e?"失æ":"æå","ï¼"),c);try{null==o||o.close()}catch(e){}void 0!==e?a(e):n()}};Number.isFinite(t)&&t>0&&(i=setTimeout(()=>d(Error("simulation save timed out after ".concat(t,"ms"))),t));try{r=indexedDB.open("gbm-sim",1)}catch(e){d(e);return}r.onupgradeneeded=()=>{r.result.createObjectStore("data")},r.onerror=()=>{var e;return d(null!==(e=r.error)&&void 0!==e?e:Error("indexedDB.open failed"))},r.onsuccess=()=>{if(s){try{r.result.close()}catch(e){}return}o=r.result;try{let t=o.transaction("data","readwrite");t.objectStore("data").put(e,"sim"),t.oncomplete=()=>{if(s){null==l||l();return}d()},t.onerror=()=>{var e;return d(null!==(e=t.error)&&void 0!==e?e:Error("simulation transaction failed"))},t.onabort=()=>{var e;return d(null!==(e=t.error)&&void 0!==e?e:Error("simulation transaction aborted"))}}catch(e){d(e)}}})}function lU(e){if(!e)return!1;try{let t=Date.now(),l=(0,tE.in)(window.localStorage.getItem(tE.Dy),t,tE.kl.maxRecordAgeMs);if(!l||l.token!==e)return!1;return window.localStorage.setItem(tE.Dy,(0,tE.LD)((0,tE.HD)(l,t))),!0}catch(e){return!1}}class lH extends a.Component{static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error("[PreviewPanel] 3Dãã¬ãã¥ã¼ã®èªã¿è¾¼ã¿/æç»ã«å¤±æ:",e)}render(){if(!this.state.failed)return this.props.children;let e="en"===this.props.locale?{title:"3D preview failed to load",body:"The network may be offline, or the site was updated while this page was open. Reload the page to recover â your work is auto-saved.",button:"Reload page"}:"zh-TW"===this.props.locale?{title:"3D é 覽è¼å
¥å¤±æ",body:"å¯è½æ¯ç¶²è·¯é¢ç·ï¼æé é¢éåæéç¶²ç«å·²æ´æ°ãéæ°è¼å
¥å³å¯æ¢å¾©ââ使¥å
§å®¹å·²èªåå²åã",button:"éæ°è¼å
¥é é¢"}:{title:"3Dãã¬ãã¥ã¼ãèªã¿è¾¼ãã¾ããã§ãã",body:"éä¿¡ãåãã¦ãããããã¼ã¸ãéããã¾ã¾ãµã¤ããæ´æ°ãããå¯è½æ§ãããã¾ããåèªã¿è¾¼ã¿ã§å¾©å¸°ã
1§ãã¾ãï¼ä½æ¥å
容ã¯èªåä¿åããã¦ãã¾ãï¼ã",button:"ãã¼ã¸ãåèªã¿è¾¼ã¿"};return(0,n.jsxs)("div",{className:"w-full h-full flex flex-col items-center justify-center gap-3 text-slate-400 px-6 text-center",children:[(0,n.jsx)("p",{className:"text-sm font-black text-white",children:e.title}),(0,n.jsx)("p",{className:"text-xs leading-relaxed max-w-sm",children:e.body}),(0,n.jsx)("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 rounded-xl bg-amber-500 hover:bg-amber-400 text-white text-xs font-bold",children:e.button})]})}constructor(...e){super(...e),this.state={failed:!1}}}function lK(){return"ontouchstart"in window||navigator.maxTouchPoints>0}function lY(e){let[t,l,n]=(0,te.E2)(e);return"RGB(".concat(t,", ").concat(l,", ").concat(n,")")}function lV(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function lZ(e){let{label:t,children:l}=e;return(0,n.jsxs)("details",{className:"ml-5 pr-1 group/hint",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-1 cursor-pointer select-none list-none text-[8px] text-slate-500 hover:text-slate-300",children:[(0,n.jsx)("span",{className:"inline-block text-[7px] transition-transform group-open/hint:rotate-90","aria-hidden":!0,children:"â¶"}),t]}),(0,n.jsx)("div",{className:"pt-0.5 text-[8px] text-slate-500 leading-snug",children:l})]})}function lq(e){let{value:t,onChange:l}=e,[r,s]=a.useState("none"),o=(0,D.Ym)(),i=(0,D.sC)(o).gbmEditor.editorMisc,c=(0,te.E2)(t),d=e=>l((0,te.JZ)(e)),u=(e,t)=>{let l=[c[0],c[1],c[2]];l[e]=Math.max(0,Math.min(255,Number(t)||0)),d((0,te.Ob)(l[0],l[1],l[2]))},h=e=>s(t=>t===e?"none":e);return(0,n.jsxs)("div",{className:"space-y-1 text-[9px]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded border border-white/20 shrink-0",style:{backgroundColor:t}}),(0,n.jsxs)("span",{className:"text-slate-400 truncate",children:[(0,te.T9)(t,o),(0,n.jsx)("span",{className:"font-mono text-slate-500 ml-1",children:lY(t)})]}),(0,n.jsxs)("div",{className:"flex gap-1 ml-auto shrink-0",children:[(0,n.jsx)("button",{type:"button",onClick:()=>h("preset"),className:"px-2 py-0.5 rounded text-[8px] font-bold transition-colors ".concat("preset"===r?"bg-amber-500 text-white":"bg-white/10 text-slate-300 hover:bg-white/15"),children:i.colorScheme}),(0,n.jsx)("button",{type:"button",onClick:()=>h("rgb"),className:"px-2 py-0.5 rounded text-[8px] font-bold transition-colors ".concat("rgb"===r?"bg-amber-500 text-white":"bg-white/10 text-slate-300 hover:bg-white/15"),children:"RGB"})]})]}),"preset"===r&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1 pt-0.5 pl-0.5",children:te.jI.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>d(e.hex),title:"".concat(e.name," ").concat(lY(e.hex)),className:"inline-flex items-center gap-1 rounded border px-1.5 py-0.5 font-bold transition-colors ".concat((0,te.Mn)(t)===e.hex?"border-white/70 bg-white/15 text-white":"border-white/10 bg-white/5 text-slate-300 hover:bg-white/10"),children:[(0,n.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm border border-white/20 shrink-0",style:{backgroundColor:e.hex}}),e.name]},e.name))}),"rgb"===r&&(0,n.jsxs)("div",{className:"pt-0.5 pl-0.5 space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("input",{type:"color",value:t,onChange:e=>d(e.target.value),className:"w-6 h-6 rounded border border-white/10 cursor-pointer bg-transparent shrink-0","aria-label":i.colorPickerAria}),(0,n.jsx)("span",{className:"font-mono text-slate-400",children:lY(t)})]}),(0,n.jsx)("div",{className:"grid grid-cols-3 gap-1",children:["R","G","B"].map((e,t)=>(0,n.jsxs)("label",{className:"flex items-center gap-1",children:[(0,n.jsx)("span",{className:"text-slate-500 shrink-0",children:e}),(0,n.jsx)("input",{type:"number",min:0,max:255,step:1,value:c[t],onChange:e=>u(t,e.target.value),className:"w-full min-w-0 px-1 py-0.5 bg-slate-700 rounded text-white border border-white/10 text-[9px]"})]},e))})]})]})}function lX(e){let t,{icon:l,label:a,labelShort:r,title:s,active:o,disabled:i,variant:c="default",onClick:d,className:u="",badge:h}=e;return t="danger"===c?"bg-red-500/80 text-white hover:bg-red-500":o?"bg-amber-500 text-white shadow-lg shadow-amber-500/30":i?"bg-white/3 text-slate-700 cursor-not-allowed":"active-menu"===c?"bg-white/10 text-white":"bg-white/5 text-slate-400 hover:bg-white/10 hover:text-white",(0,n.jsxs)("button",{type:"button",onClick:d,disabled:i,title:null!=s?s:a,"aria-label":a,className:"relative flex flex-col items-center justify-center gap-0.5 w-11 lg:w-[3.25rem] min-h-[2.75rem] lg:min-h-[3.25rem] py-1 rounded-xl transition-all select-none shrink-0 ".concat(t," ").concat(u),children:[(0,n.jsx)("span",{className:"shrink-0 leading-none",children:l}),(0,n.jsxs)("span",{className:"text-[8px] lg:text-[9px] font-bold leading-none text-center max-w-[2.75rem] truncate w-full px-0.5",children:[(0,n.jsx)("span",{className:"lg:hidden",children:r}),(0,n.jsx)("span",{className:"hidden lg:inline",children:a})]}),null!=h&&h>0&&(0,n.jsx)("span",{className:"absolute top-0 right-0 w-4 h-4 bg-amber-500 text-white text-[7px] font-black rounded-full flex items-center justify-center",children:h})]})}function l$(e,t){var l;let n=null!==(l=t.get(e))&&void 0!==l?l:0;return t.set(e,n+1),0===n?e:"".concat(e,"-").concat(n)}function lJ(){var e,t,z,F,R,K,Y,Z;let X;let{t:eo}=(0,D.Bd)(),ei=eo.gbmEditor.toolbar,ed=eo.gbmEditor.infraFetch,eu=eo.gbmEditor.waterLayers,eh=eo.gbmEditor.demPrecision,ep=eo.gbmEditor.coverageGate,ex=eo.gbmEditor.actionNotice,ef=(0,a.useMemo)(()=>({success:ex.copySuccess,unsupported:ex.copyUnsupported,denied:ex.copyDenied,unknown:ex.copyUnknown}),[ex]),eg=(0,a.useMemo)(()=>({fetching:ed.waterFetching,fetchingStage:ed.waterFetchingStage,fetchingCount:ed.waterFetchingCount,fetchingCached:ed.waterFetchingCached,stageOsm:ed.waterStageOsm,stageGsiWater:ed.waterStageGsiWater,stageGsiDetail:ed.waterStageGsiDetail,stageRiverWidth:ed.waterStageRiverWidth,stageAssemble:ed.waterStageAssemble}),[ed]),eb={timeout:ed.timeout,fetchFailedPrefix:ed.fetchFailedPrefix,failedPrefix:ed.heritageFetchFailedPrefix,noResults:ed.heritageNoResults}
1,ev={timeout:ed.timeout,fetchFailedPrefix:ed.fetchFailedPrefix,failedPrefix:ed.heritageSearchFailedPrefix,noResults:ed.heritageSearchNoResults},ey=eo.gbmEditor.creditRegion,[eN,eS]=(0,a.useState)(()=>{var e;return null!==(e=(0,tB._n)())&&void 0!==e?e:lR.outputSizeMm});(0,a.useEffect)(()=>{(0,tB.VZ)(eN)},[eN]);let[eI,eG]=(0,a.useState)(lR.colors.water),eH=(0,a.useMemo)(()=>{let e=eN!==lR.outputSizeMm,t=eI!==lR.colors.water;return e||t?{...lR,outputSizeMm:eN,colors:t?{...lR.colors,water:eI}:lR.colors}:lR},[eN,eI]),[eK,eY]=(0,a.useState)(!1),[eV,eZ]=(0,a.useState)(eN);(0,a.useEffect)(()=>{let e=setTimeout(()=>eZ(eN),600);return()=>clearTimeout(e)},[eN]);let eq=(0,D.Ym)(),eX="en"===eq?"en":"zh-TW"===eq?"zh-TW":"ja",[e$]=(0,a.useState)(lK),[eJ,eQ]=(0,a.useState)(!1),[e0,e8]=(0,a.useState)(!1),[tm,tv]=(0,a.useState)(0),tw=(0,a.useRef)(!1),[ty,tj]=(0,a.useState)(!1),tk=(0,a.useRef)(!1),[tN,tM]=(0,a.useState)(!1),[tz,tO]=(0,a.useState)(!1),[t_,tG]=(0,a.useState)(null),[tU,tH]=(0,a.useState)(!1),tV=(0,a.useRef)(!1),[tq,tX]=(0,a.useState)(!1),tJ=(0,a.useRef)(null),tQ=(0,a.useRef)(null),[t0,t1]=(0,a.useState)(!1),[t6,t9]=(0,a.useState)(null),t7=(0,a.useRef)(null),le=(0,a.useRef)(null),[lt,ll]=(0,a.useState)(null),[ln,la]=(0,a.useState)(null),[lr,ls]=(0,a.useState)(null),[lo,li]=(0,a.useState)(!1),lw=(0,a.useRef)(null),ly=(0,a.useCallback)(()=>{null!==lw.current&&(window.clearTimeout(lw.current),lw.current=null),ls(null)},[]),lj=(0,a.useCallback)(e=>{null!==lw.current&&window.clearTimeout(lw.current),ls(e),lw.current=window.setTimeout(()=>{lw.current=null,ls(null)},2500)},[]);(0,a.useEffect)(()=>()=>{null!==lw.current&&window.clearTimeout(lw.current)},[]),(0,a.useEffect)(()=>{!function(){try{return"completed"===window.localStorage.getItem(ej)}catch(e){return!1}}()&&(e8(!0),tv(0))},[]);let[lk,lN]=(0,a.useState)("select"),[lM,lS]=(0,a.useState)("map"),[lW,lL]=(0,a.useState)(null),[lI,lz]=(0,a.useState)(null),lF=null!==lW;(0,a.useEffect)(()=>{"3d"===lM&&(tw.current=!0,tj(!0))},[lM]);let lJ=e0&&null!==(F=ek[tm])&&void 0!==F?F:null,lQ=(0,a.useMemo)(()=>{let e=eo.gbmEditor.coachmark;return{skip:e.skip,next:e.next,done:e.done,steps:{selectBounds:e.steps.selectBounds,workflowLoop:e.steps.workflowLoop,tab3d:e.steps.tab3d,toolDraw:e.steps.toolDraw,simulate:e.steps.simulate,export:e.steps.export}}},[eo.gbmEditor.coachmark]);(0,a.useEffect)(()=>{if(e0&&lJ){var e;e={hasBounds:lF,activePanel:lM},("selectBounds"===lJ&&e.hasBounds||"tab3d"===lJ&&"3d"===e.activePanel)&&tv(e=>Math.min(e+1,ek.length-1))}},[e0,lJ,lF,lM]);let l0=(0,a.useCallback)(()=>{if(tm>=ek.length-1){eM(),e8(!1);return}tv(e=>e+1)},[tm]),l1=(0,a.useCallback)(()=>{eM(),e8(!1)},[]),l5=(0,a.useCallback)(()=>{!function(){try{window.localStorage.removeItem(ej)}catch(e){}}(),tv(0),e8(!0),eQ(!1)},[]),[l2,l3]=(0,a.useState)(lO.default),[l4,l8]=(0,a.useState)(()=>{var e;return null!==(e=(0,tB.YZ)())&&void 0!==e?e:tB.OY});(0,a.useEffect)(()=>{let e=e=>{if(e.key===tB.i3&&null!=e.newValue){let t=(0,tB.V1)(e.newValue);null!=t&&l8(t);return}if(e.key===tB.KA&&null!=e.newValue){let t=(0,tB.fk)(e.newValue);null!=t&&eS(t);return}if(e.key===tB.Vq&&null!=e.newValue){let t=(0,tB.V0)(e.newValue);null!=t&&n_(t);return}if(e.key===tB.Rh&&null!=e.newValue){let t=(0,tB.NN)(e.newValue);null!=t&&nU(t)}};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]),(0,a.useEffect)(()=>{(0,tB.Zh)(l4)},[l4]);let[l6,l9]=(0,a.useState)([{id:"lg-0",name:"LINE 1",color:"#EAB308",lineType:"solid",widthMm:1,source:"user"}]),[l7,ne]=(0,a.useState)("lg-0"),nt=l6.find(e=>e.id===l7)||l6[0],nl=nt.widthMm,nn=nt.color,[na,nr]=(0,a.useState)([]),[ns,no]=(0,a.useState)([]),[ni,nc]=(0,a.useState)("historic"),[nd,nu]=(0,a.useState)(!1),[nh,nm]=(0,a.useState)("std"),[np,nx]=(0,a.useState)(!1),[nf,ng]=(0,a.useState)(!1),[nb,nv]=(0,a.useState)(""),[nw,ny]=(0,a.useState)(0),[nj,nk]=(0,a.useState)(!1);(0,a.useEffect)(()=>{nj||ly()},[nj,ly]);let[nN,nM]=(0,a.useState)(null),[nS,nC]=(0,a.useState)(!1),[nE,nT]=(0,a.useState)(null),[nP,nA]=(0,a.useState)(null),[nW,nL]=(0,a.useState)(5),[nI,nz]=(0,a.useState)(lO.default),[nF,nD]=(0,a.useState)(null),[nB,nR]=(0,a.useState)(null),[nO,n_]=(0,a.useState)(()=>{var e;return null!==(e=(0,tB.a8)())&&void 0!==e?e:"0.4mm"}),[nG,nU]=(0,a.useState)(()=>{var e;return null!==(e=(0,tB.I1)())&&void 0!==e?e:.4});(0,a.useEffect)(()=>{(0,tB.tM)(nO)},[nO]),(0,a.useEffect)(()=>{(0,tB.dL)(nG)},[nG]),(0,a.useEffect)(()=>
1{if(!nj)return;let e=(0,tB.a8)(),t=(0,tB.I1)();null!=e&&n_(e),null!=t&&nU(t)},[nj]);let[nH,nK]=(0,a.useState)(!1),[nY,nV]=(0,a.useState)(""),[nZ,nq]=(0,a.useState)("3mf"),[nX,n$]=(0,a.useState)(!1),[nJ,nQ]=(0,a.useState)(!1),[n0,n1]=(0,a.useState)(ts.OY.flareRatio),[n5,n2]=(0,a.useState)(null),[n3,n4]=(0,a.useState)(""),[n8,n6]=(0,a.useState)(!1),n9=(0,a.useRef)(null),[n7,ae]=(0,a.useState)(!1),[at,al]=(0,a.useState)(null),[an,aa]=(0,a.useState)(!1),[ar,as]=(0,a.useState)("10m"),[ao,ai]=(0,a.useState)(!1),[ac,ad]=(0,a.useState)(!1),[au,ah]=(0,a.useState)(null),[am,ap]=(0,a.useState)(!1),[ax,af]=(0,a.useState)(null),[ag,ab]=(0,a.useState)(!1),[av,aw]=(0,a.useState)(null),[ay,aj]=(0,a.useState)(!1),[ak,aN]=(0,a.useState)(null),[aM,aS]=(0,a.useState)(!1),[aC,aE]=(0,a.useState)(null),[aT,aP]=(0,a.useState)(null),[aA,aW]=(0,a.useState)(null),[aL,aI]=(0,a.useState)(null),[az,aF]=(0,a.useState)(eA.t6),[aD,aB]=(0,a.useState)(!0),[aR,aO]=(0,a.useState)([]),[a_,aG]=(0,a.useState)({}),aU=(0,a.useMemo)(()=>{let e=e=>"mainstem"===e.role?0:1;return[...aR].sort((t,l)=>e(t)-e(l)||l.lengthKm-t.lengthKm||t.name.localeCompare(l.name))},[aR]),aH=(0,a.useCallback)((e,t)=>{aG(l=>{let n=null;for(let a of e){let e=(0,eA.tY)(a.role,a.key,void 0,a.wideEnough)===t;(e?a.key in l:l[a.key]!==t)&&(null!=n||(n={...l}),e?delete n[a.key]:n[a.key]=t)}return null!=n?n:l})},[]),[aK,aY]=(0,a.useState)(a_);(0,a.useEffect)(()=>{let e=setTimeout(()=>aY(e=>(0,eA.mJ)(e,a_)?e:a_),400);return()=>clearTimeout(e)},[a_]);let aV=(0,a.useMemo)(()=>aU.some(e=>(0,eA.tY)(e.role,e.key,a_,e.wideEnough)!==(0,eA.tY)(e.role,e.key,void 0,e.wideEnough)),[aU,a_]),[aZ,aq]=(0,a.useState)(!0),[aX,a$]=(0,a.useState)(!0),[aJ,aQ]=(0,a.useState)(!1),[a0,a1]=(0,a.useState)(!1),[a5,a2]=(0,a.useState)(eH.colors.water),[a3,a4]=(0,a.useState)(!1),[a8,a6]=(0,a.useState)(null),[a9,a7]=(0,a.useState)(null),[re,rt]=(0,a.useState)(eH.colors.water),rl=(0,a.useMemo)(()=>(0,e5.b)({sampleState:null==at?void 0:at.report.sampleState,width:1024,height:1024,waterMask:av,seaMask:a8,showSea:aZ}),[null==at?void 0:at.report.sampleState,av,a8,aZ]),rn=rl.waterMask,ra=rl.seaMask,[rr,rs]=(0,a.useState)(!1),[ro,ri]=(0,a.useState)({water:!1,roads:!1,heritage:!1,elevationZones:!1,slopeFlat:!1,slopeGentle:!1,slopeSteep:!1,slopeRock:!1,admin:!1}),[rc,rd]=(0,a.useState)(!1),[ru,rh]=(0,a.useState)(!1),[rm,rp]=(0,a.useState)(!1),[rx,rf]=(0,a.useState)(30),[rg,rb]=(0,a.useState)(2),rv=tF[rg],[rw,ry]=(0,a.useState)(()=>new Set(tZ.filter(e=>e.defaultEnabled).map(e=>e.level))),[rj,rk]=(0,a.useState)(()=>{let e={};for(let t of tZ)e[t.level]=t.defaultWidthMm;return e}),[rN,rM]=(0,a.useState)(()=>{let e={};for(let t of tZ)e[t.level]=t.defaultColor;return e}),[rS,rC]=(0,a.useState)(!1),[rE,rT]=(0,a.useState)(null),[rP,rA]=(0,a.useState)(null),[rW,rL]=(0,a.useState)(null),rI=(0,a.useRef)(null),[rz,rF]=(0,a.useState)(t3.fT.defaultEnabled),[rD,rB]=(0,a.useState)(t3.fT.defaultColor),[rR,rO]=(0,a.useState)(0),[r_,rG]=(0,a.useState)(0),[rU,rH]=(0,a.useState)(()=>new Set(t5.filter(e=>e.defaultEnabled).map(e=>e.cls))),[rK,rY]=(0,a.useState)(()=>{let e={};for(let t of t5)e[t.cls]=t.defaultWidthMm;return e}),[rV,rZ]=(0,a.useState)(()=>{let e={};for(let t of t5)e[t.cls]=t.defaultColor;return e}),[rq,rX]=(0,a.useState)(!1),[r$,rJ]=(0,a.useState)(null),[rQ,r0]=(0,a.useState)(null),[r1,r5]=(0,a.useState)(null),r2=(0,a.useRef)(null),[r3,r4]=(0,a.useState)(!1),[r8,r6]=(0,a.useState)(null),[r9,r7]=(0,a.useState)(null),se=(0,a.useRef)(null),[st,sl]=(0,a.useState)(!1),[sn,sa]=(0,a.useState)(0),[sr,ss]=(0,a.useState)(0),[so,si]=(0,a.useState)(0),[sc,sd]=(0,a.useState)(0),[su,sh]=(0,a.useState)([]),[sm,sp]=(0,a.useState)({enabled:!1,minDeg:0,maxDeg:3,color:te.Ub}),[sx,sf]=(0,a.useState)({enabled:!1,minDeg:3,maxDeg:8,color:te.NV}),[sg,sb]=(0,a.useState)({enabled:!1,minDeg:8,maxDeg:15,color:"#AAD2A0"}),[sv,sw]=(0,a.useState)({enabled:!1,minDeg:15,maxDeg:tW.NI,color:"#5A965A"}),[sy,sj]=(0,a.useState)({enabled:!1,minDeg:tW.im,maxDeg:90,color:tW.NM}),[sk,sN]=(0,a.useState)({enabled:!1,lineWidthMm:.4,color:te.Ii,includeSea:!1}),sM=sk.enabled&&!0!==sk.includeSea,sS=(0,a.useMemo)(()=>aZ?ra:a8,[aZ,ra,a8]),[sC,sE]=(0,a.useState)(!1),[sT,sP]=(0,a.useState)(!1),[sA,sW]=(0,a.useState)(!1),[sL,sI]=(0,a.useState)(!1),[sz,sF]=(0,a.useState)(0),[sD,sB]=(0,a.useState)(0),[sR,sO]=(0,a.useState)(tR.Ad),[s_,sG]=(0,a.useState)(0),[sU,sH]=(0,a.useState)(0),[sK,sY]=(0,a.useState)(0),[sV,sZ]=(0,a.useState)("flat"),[sq,sX]=(0,a.useState)("flat"),[s$,sJ]=(0,a.useState)("flat"),[sQ,s0]=(0,a.useState)("flat"),[s1,s5]=(0,a.useState)("flat"),[s2,s3]=(0,a.useState)(!1),[s4,s8]=(0,a.useState)(th.NY),[s6,s9]=(0,a.useState)(th.Jd),[s7,oe]=(0,a.useState)(th.nH),[ot,ol]=(0,a.useState)(.2),[on,oa]=(0,a.useState)(!0),or=(0,a.useMemo)(()=>(0,th.xb)(s4,s6,s7,r_),[s4,s6,s7,r_]),os=(0,a.useMemo)(()=>(0,th.Wc)(s4),[s4]),oo=os>0,oi=(0,a.useCallback)((e,t)=>{s8(l=>{let n={...l.road};return null===t?delete n[e]:n[e]=t,{road:n,rail:{...l.rail}}})},[]),oc=(0,a.useCallback)((e,t)=>{s8(l=>{let n={...l.rail};return null===t?delete n[e]:n[e]=t,{road:{...l.road},rail:n}})},[]),od=(0,a.useCallback)(()=>{s8((0,th.NY)())},[]),[ou,oh]=(0,a.useState)(()=>new Set),[om,op]=(0,a.useState)(()=>{let e={};for(let t of t4.Ks)e[t.level]=t.defaultWidthMm;return e}),[ox,of]=(0,a.useState)(()=>{let e={};for(let t of t4.Ks)e[t.level]=t.defaultColor;return e}),[og,ob]=(0,a.useState)(null),[ov,ow]=(0,a.useState)(!1),[oy,oj]=(0,a.useState)(null),[ok,oN]=(0,a.useState)({}),[oM,oS]=(0,a.useState)(null),[oC,oE]=(0,a.useState)(null),[oT,oP]=(0,a.useState)(null),[oA,oW]=(0,a.useState)(null),oL=(0,a.useRef)(null),oI=nt.lineType,oz=(0,a.useCallback)(e=>{l9(t=>t.map(t=>
1t.id===l7?{...t,...e}:t))},[l7]),oF=(0,a.useCallback)(e=>oz({widthMm:e}),[oz]),oD=(0,a.useCallback)(e=>oz({color:e}),[oz]),oB=(0,a.useCallback)(e=>oz({lineType:e}),[oz]),oR=(0,a.useMemo)(()=>l6.filter(to.fE),[l6]),oO=oR.some(to.GJ),o_=(0,a.useCallback)((e,t,l)=>{l9(n=>n.map(n=>n.id===e?{...n,extrudeOverride:{mm:t,profile:l}}:n))},[]),oG=(0,a.useCallback)(e=>{l9(t=>t.map(t=>t.id===e?{...t,extrudeOverride:void 0}:t))},[]),oU=(0,a.useCallback)(()=>{let e=l6.length+1,t=te.jI.map(e=>e.hex),l={id:"lg-".concat(Date.now()),name:"LINE ".concat(e),color:t[e%t.length],lineType:"solid",widthMm:1,source:"user"};l9(e=>[...e,l]),ne(l.id)},[l6.length]),oH=(0,a.useCallback)(e=>{ne(e)},[]),[oK,oY]=(0,a.useState)(!1),[oV,oZ]=(0,a.useState)(!1),[oq,oX]=(0,a.useState)(!1),[o$,oJ]=(0,a.useState)(!1),[oQ,o0]=(0,a.useState)(!1),[o1,o5]=(0,a.useState)(!1),[o2,o3]=(0,a.useState)(100),[o4,o8]=(0,a.useState)(200),[o6,o9]=(0,a.useState)("#facc15"),[o7,ie]=(0,a.useState)(!1),[it,il]=(0,a.useState)("#facc15"),[ia,ir]=(0,a.useState)(!1),[is,io]=(0,a.useState)([]),ii=(0,a.useMemo)(()=>{var e;return(e={bounds:lW,enabled:o7,minElevM:o2,maxElevM:o4,color:o6}).bounds&&e.enabled?{id:"draft-elevation-band",kind:"band",subBounds:{...e.bounds},minElevM:Math.min(e.minElevM,e.maxElevM),maxElevM:Math.max(e.minElevM,e.maxElevM),color:e.color,enabled:!0}:null},[lW,o7,o2,o4,o6]),ic=(0,a.useMemo)(()=>(function(e,t){let l=t&&!e.some(e=>(function(e,t){var l,n;let a=(0,el.f5)(e),r=(0,el.f5)(t);return"band"===a.kind&&"band"===r.kind&&a.enabled&&r.enabled&&a.minElevM===r.minElevM&&a.maxElevM===r.maxElevM&&a.color.toLowerCase()===r.color.toLowerCase()&&(l=a.subBounds,n=r.subBounds,l.north===n.north&&l.south===n.south&&l.east===n.east&&l.west===n.west)})(e,t))?[...e,t]:e;return(0,en.cR)(l)})(su,ii),[su,ii]),id=(0,a.useMemo)(()=>su.map(el.f5).filter(e=>"band"===e.kind),[su]),iu=(0,a.useMemo)(()=>su.map(el.f5).filter(e=>"region"===e.kind),[su]),ih=(0,a.useMemo)(()=>iu.filter(e=>(0,ea.To)(e)&&e.enabled).map(e=>({points:e.polygonPoints,color:e.color})),[iu]),im=(0,a.useCallback)(e=>{lW&&!(e.length<3)&&(sh(t=>[...t,{...(0,el.m1)(lW,e,it),enabled:ia}]),io([]),lN("view"))},[lW,it,ia]),ip=(0,a.useCallback)(()=>{io([]),lN("view")},[]),ix=(0,a.useCallback)(()=>{io([]),lN("region")},[]),ig=(0,a.useRef)(null),ib=(0,a.useRef)(null),iv=(0,a.useRef)(null),iw=(0,a.useRef)(null),iy=(0,a.useRef)(null),[ij,ik]=(0,a.useState)([]),[iN,iM]=(0,a.useState)(!1),[iS,iC]=(0,a.useState)(!1),[iE,iT]=(0,a.useState)(""),[iP,iA]=(0,a.useState)([]),[iW,iL]=(0,a.useState)(!1),iI=(0,a.useRef)(null),[iz,iF]=(0,a.useState)(null),[iD,iB]=(0,a.useState)(null),iR=()=>{let e=iE.trim();e&&(iL(!0),iB(null),_(e).then(e=>{iA(e),iB(eB({count:e.length},ev))}).catch(e=>{iB(eB({errors:[e],count:0},ev))}).finally(()=>iL(!1)))},[iO,i_]=(0,a.useState)(!1),[iG,iU]=(0,a.useState)(!1),[iH,iK]=(0,a.useState)([]),[iY,iV]=(0,a.useState)([]),[iZ,iq]=(0,a.useState)(!1),[iX,i$]=(0,a.useState)(!1),iJ=(0,a.useRef)(null),iQ=(0,a.useRef)(null),[i0,i1]=(0,a.useState)([]),i5=(0,a.useRef)([]),i2=(0,a.useRef)([]),[i3,i4]=(0,a.useState)(!1),[i8,i6]=(0,a.useState)(!1),i9=(0,a.useRef)([]),i7=(0,a.useRef)([]);(0,a.useEffect)(()=>{i9.current=na},[na]),(0,a.useEffect)(()=>{i7.current=ns},[ns]),(0,a.useEffect)(()=>{let e=new Set,t=!1;for(let l of na){if(e.has(l.id)){t=!0;break}e.add(l.id)}t&&nr(e=>(0,tR.kB)(e))},[na]);let ce=(0,a.useCallback)(e=>{i5.current.push(e),i5.current.length>50&&i5.current.shift(),i2.current=[],i4(!0),i6(!1)},[]),ct=(0,a.useCallback)(e=>{let t=i9.current;if(e.length>t.length){let l=new Set(t.map(e=>e.id)),n=e.filter(e=>!l.has(e.id));n.length>0&&ce({type:"addRoadStrokes",strokes:n})}else if(e.length<t.length){let l=new Set(e.map(e=>e.id)),n=t.filter(e=>!l.has(e.id));n.length>0&&ce({type:"removeRoadStrokes",strokes:n})}nr(e)},[ce]),cl=(0,a.useCallback)(e=>{let t=i7.current;if(e.length>t.length)for(let l of e.slice(t.length))ce({type:"addHeritageStamp",stamp:l});else if(e.length<t.length){let l=new Set(e),n=t.filter(e=>!l.has(e));n.length>0&&ce({type:"removeHeritageStamps",stamps:n})}no(e)},[ce]),[cn,ca]=(0,a.useState)(!1),cr=(0,a.useRef)(null),cs=(0,a.useRef)(null),co=(0,a.useCallback)((e,t,l,n)=>{let a=lD({lineGroups:e,roadStrokes:t,roadLevelColors:l,railwayClassColors:n});a.didChange&&(l9(a.lineGroups),nr(a.roadStrokes),rM(a.roadLevelColors),rZ(a.railwayClassColors))},[]);(0,a.useEffect)(()=>{l6.some(e=>e.id.startsWith("lg-road-")||e.id.startsWith("lg-rail-"))&&co(l6,na,rN,rV)},[l6,na,rN,rV,co]),(0,a.useEffect)(()=>{lE().then(e=>{e&&e.bounds&&Date.now()-e.timestamp<864e5&&(cr.current=e,ca(!0))})},[]),(0,a.useEffect)(()=>
1{if(lW)return cs.current&&clearTimeout(cs.current),cs.current=setTimeout(()=>{lC({bounds:lW,eraserStrokes:i0,roadStrokes:na,heritageStamps:ns,elevationZones:su,lineGroups:l6,extrude:{waterMm:sz,roadMm:s_,infraMm:sD,tunnelMm:sR,heritageMm:sU,adminMm:sK,waterStructureMm:ot,waterProfile:sV,roadProfile:s$,infraProfile:sq,heritageProfile:sQ,adminProfile:s1,heritagePeakAlign:s2,waterStructurePeakAlign:on,infraLevels:s4,platformOffsetMm:s6,stationBuildingOffsetMm:s7},timestamp:Date.now()})},800),()=>{cs.current&&clearTimeout(cs.current)}},[lW,i0,na,ns,su,l6,sz,s_,sD,sR,sU,sK,ot,sV,s$,sq,sQ,s1,s2,on,s4,s6,s7]);let ci=(0,a.useCallback)(()=>{var e;let t=cr.current;if(!t)return;lL(t.bounds),i1(t.eraserStrokes),no(t.heritageStamps),sh(t.elevationZones.map(el.f5));let l={};for(let e of tZ)l[e.level]=e.defaultColor;let n={};for(let e of t5)n[e.cls]=e.defaultColor;let a=lD({lineGroups:(null===(e=t.lineGroups)||void 0===e?void 0:e.length)?t.lineGroups:l6,roadStrokes:t.roadStrokes,roadLevelColors:l,railwayClassColors:n});l9(a.lineGroups),nr((0,tR.kB)(a.roadStrokes)),rM(a.roadLevelColors),rZ(a.railwayClassColors);let r=function(e){var t,l,n,a,r,s,o,i,c,d,u,h,m,p,x,f;let g={waterMm:0,roadMm:0,infraMm:0,tunnelMm:tR.Ad,heritageMm:0,adminMm:0,waterStructureMm:.2,waterProfile:"flat",roadProfile:"flat",infraProfile:"flat",heritageProfile:"flat",adminProfile:"flat",heritagePeakAlign:!1,waterStructurePeakAlign:!0,infraLevels:(0,th.NY)(),platformOffsetMm:th.Jd,stationBuildingOffsetMm:th.nH};if(!e||"object"!=typeof e)return g;g.waterMm=null!==(t=lg(e.waterMm,lp))&&void 0!==t?t:g.waterMm,g.roadMm=null!==(l=lg(e.roadMm,lp))&&void 0!==l?l:g.roadMm,g.infraMm=null!==(n=lg(e.infraMm,th.Cp))&&void 0!==n?n:g.infraMm,g.tunnelMm=null!==(a=lg(e.tunnelMm,lx))&&void 0!==a?a:g.tunnelMm,g.heritageMm=null!==(r=lg(e.heritageMm,lf))&&void 0!==r?r:g.heritageMm,g.adminMm=null!==(s=lg(e.adminMm,lp))&&void 0!==s?s:g.adminMm,g.waterStructureMm=null!==(o=lg(e.waterStructureMm,lm))&&void 0!==o?o:g.waterStructureMm,g.waterProfile=null!==(i=lb(e.waterProfile))&&void 0!==i?i:g.waterProfile,g.roadProfile=null!==(c=lb(e.roadProfile))&&void 0!==c?c:g.roadProfile,g.infraProfile=null!==(d=lb(e.infraProfile))&&void 0!==d?d:g.infraProfile,g.heritageProfile=null!==(u=lb(e.heritageProfile))&&void 0!==u?u:g.heritageProfile,g.adminProfile=null!==(h=lb(e.adminProfile))&&void 0!==h?h:g.adminProfile,g.heritagePeakAlign=null!==(m=lv(e.heritagePeakAlign))&&void 0!==m?m:g.heritagePeakAlign,g.waterStructurePeakAlign=null!==(p=lv(e.waterStructurePeakAlign))&&void 0!==p?p:g.waterStructurePeakAlign;let b=e.infraLevels;if(b&&"object"==typeof b){let e=b.road;if(e&&"object"==typeof e)for(let t of tR.ET){let l=lg(e[t],th.Cp);void 0!==l&&(g.infraLevels.road[t]=l)}let t=b.rail;if(t&&"object"==typeof t)for(let e of tR.TA){let l=lg(t[e],th.Cp);void 0!==l&&(g.infraLevels.rail[e]=l)}}return g.platformOffsetMm=null!==(x=lg(e.platformOffsetMm,th.wt))&&void 0!==x?x:th.Jd,g.stationBuildingOffsetMm=null!==(f=lg(e.stationBuildingOffsetMm,th.QS))&&void 0!==f?f:th.nH,g}(t.extrude);sF(r.waterMm),sG(r.roadMm),sB(r.infraMm),sO(r.tunnelMm),sH(r.heritageMm),sY(r.adminMm),ol(r.waterStructureMm),sZ(r.waterProfile),sJ(r.roadProfile),sX(r.infraProfile),s0(r.heritageProfile),s5(r.adminProfile),s3(r.heritagePeakAlign),oa(r.waterStructurePeakAlign),s8(r.infraLevels),s9(r.platformOffsetMm),oe(r.stationBuildingOffsetMm),cr.current=null,ca(!1)},[l6]),cc=(0,a.useCallback)(()=>{cr.current=null,ca(!1),lT()},[]),cd={water:null,slopeFlat:null,slopeGentle:null,slopeSteep:null,slopeRock:null,admin:null},cu=(0,a.useRef)(null),ch=(0,a.useRef)(0),[cm,cp]=(0,a.useState)(cd);(0,a.useEffect)(()=>{lP()},[]),(0,a.useEffect)(()=>(0,e2.YS)(),[]),(0,a.useEffect)(()=>{try{let e=new Worker("/workers/eraser-mask-worker.js?v=2");e.onmessage=e=>{var t,l,n,a,r,s;let o=e.data;if(o.id!==ch.current||!o.masks)return;let i=o.masks;cp({water:null!==(t=i.water)&&void 0!==t?t:null,slopeFlat:null!==(l=i.slopeFlat)&&void 0!==l?l:null,slopeGentle:null!==(n=i.slopeGentle)&&void 0!==n?n:null,slopeSteep:null!==(a=i.slopeSteep)&&void 0!==a?a:null,slopeRock:null!==(r=i.slopeRock)&&void 0!==r?r:null,admin:null!==(s=i.admin)&&void 0!==s?s:null})},cu.current=e}catch(e){console.warn("[worker] Failed to create eraser worker:",e)}return()=>{var e;null===(e=cu.current)||void 0===e||e.terminate()}},[]);let cx=(0,a.useMemo)(()=>["water","slopeFlat","slopeGentle","slopeSteep","slopeRock","admin"],[]);(0,a.useEffect)(()=>
1{if(!at||!lW||0===i0.length||!cu.current){ch.current++,cp(cd);return}let e=++ch.current,t=at.width,l=at.height,n={north:lW.north,south:lW.south,east:lW.east,west:lW.west},a=i0.map(e=>({path:e.path,brushRadius:e.brushRadius,targets:e.targets}));cu.current.postMessage({id:e,strokes:a,targetKeys:[...cx],w:t,h:l,bounds:n})},[i0,at,lW,cx]);let cf=(0,a.useMemo)(()=>{let e=new Set;for(let t of l6)("infra"===t.source||t.id.startsWith("lg-road-")||t.id.startsWith("lg-rail-"))&&e.add(t.id);return e},[l6]),{userLineStrokes:cg,infraStrokes:cb}=(0,a.useMemo)(()=>{let e=[],t=[];for(let l of na)l.groupId&&cf.has(l.groupId)?t.push(l):e.push(l);return{userLineStrokes:e,infraStrokes:t}},[na,cf]),cv=(0,a.useMemo)(()=>(0,tR.DN)([...cb].sort(lu.I4),nJ),[cb,nJ]),cw=(0,a.useMemo)(()=>(0,ld.$)(l6),[l6]),cy=(0,a.useMemo)(()=>({...ts.OY,enabled:nJ,flareRatio:n0}),[nJ,n0]),cj=(0,a.useMemo)(()=>cb.filter(e=>e.tunnel).map(e=>{var t,l;return{stroke:e,widthMm:e.groupId&&null!==(l=null===(t=cw.get(e.groupId))||void 0===t?void 0:t.widthMm)&&void 0!==l?l:e.widthMm,extrudeMm:(0,ts.so)(e.groupId,sD,sR,or)}}),[cb,cw,sD,sR,or]),ck=(0,a.useMemo)(()=>(0,ts.Ah)({strokes:cj,heightfield:at,bounds:lW,outputSizeMm:eH.outputSizeMm,verticalScale:l4,baseMm:nH?0:nW,settings:cy,inlayDepthMm:eH.inlayDepthMm}),[cj,at,lW,eH.outputSizeMm,eH.inlayDepthMm,l4,nH,nW,cy]),cN=(0,a.useMemo)(()=>{if(!lW||0===cg.length)return{mask:null,colorMap:null};let e=(0,es.EW)(cg,lW,1024,eH.outputSizeMm);return{mask:e.mask,colorMap:e.colorMap}},[cg,lW,eH.outputSizeMm]),cM=cN.mask,cS=cN.colorMap,cC=(0,a.useRef)(new globalThis.Map),cE=(0,a.useMemo)(()=>{if(!lW||0===cv.length)return{mask:null,colorMap:null};"undefined"!=typeof performance&&performance.now();let e=new Uint8Array(1048576),t=new Uint32Array(1048576),l=cC.current,n=new Set,a=new globalThis.Map,r=[];for(let e of cv){let t=e.groupId||"lg-0",l="".concat(t,"#b").concat((0,lu.PX)(e));a.has(l)||(a.set(l,{gid:t,strokes:[]}),r.push(l)),a.get(l).strokes.push(e)}let s="".concat(lW.north.toFixed(7),",").concat(lW.south.toFixed(7),",").concat(lW.east.toFixed(7),",").concat(lW.west.toFixed(7));for(let h of r){var o,i,c,d,u;let r;let{gid:m,strokes:p}=a.get(h),x=cw.get(m),f=null!==(o=null==x?void 0:x.widthMm)&&void 0!==o?o:p[0].widthMm,g=null!==(c=null!==(i=null==x?void 0:x.color)&&void 0!==i?i:p[0].color)&&void 0!==c?c:"",b=null!==(u=null!==(d=null==x?void 0:x.lineType)&&void 0!==d?d:p[0].lineType)&&void 0!==u?u:"solid",v="".concat(p.length,"|").concat(p.map(e=>"".concat(e.id,":").concat(e.tunnel?1:0,":").concat((0,lu.PX)(e))).join(",")),w=l.get(h);if(w&&w.strokesKey===v&&w.widthMm===f&&w.color===g&&w.lineType===b&&w.boundsKey===s&&w.outputSizeMm===eH.outputSizeMm&&w)r=w;else{let e=(0,e2.N9)("infraRaster åã©ã¹ã¿ã©ã¤ãº ".concat(m," (").concat(p.length,"æ¬)"),()=>(0,es.EW)(p,lW,1024,eH.outputSizeMm,cw));r={strokesKey:v,widthMm:f,color:g,lineType:b,boundsKey:s,outputSizeMm:eH.outputSizeMm,mask:e.mask,colorMap:e.colorMap},l.set(h,r)}n.add(h);let y=r.mask,j=r.colorMap;for(let l=0;l<1048576;l++)y[l]&&(e[l]=1,j[l]&&(t[l]=j[l]))}for(let e of Array.from(l.keys()))n.has(e)||l.delete(e);return{mask:e,colorMap:t}},[cv,lW,eH.outputSizeMm,cw]),cT=cE.mask,cP=cE.colorMap,cA=(0,a.useMemo)(()=>{let e={};for(let t of t4.Ks)ou.has(t.level)&&(e[t.level]={widthMm:om[t.level],color:ox[t.level]});return e},[ou,om,ox]),cW=(0,a.useMemo)(()=>{if(!lW||!og||0===ou.size)return{mask:null,colorMap:null,labelMap:null};let e=(0,t8.CA)(og,ou,lW,1024,eH.outputSizeMm,cA);return e.mask.some(e=>e>0)?{mask:e.mask,colorMap:e.colorMap,labelMap:e.labelMap}:{mask:null,colorMap:null,labelMap:null}},[lW,og,ou,eH.outputSizeMm,cA]),cL=cW.mask,cI=cW.colorMap,cz=cW.labelMap,cF=(0,a.useMemo)(()=>{if(!og||0===ou.size)return 0;let e=(0,t4.Mt)(og,ou);return e.lines.length+e.areas.length},[og,ou]),cD=(0,a.useMemo)(()=>lW&&og&&0!==ou.size?new Set((0,t8.sB)(og,ou,lW,1024,eH.outputSizeMm,cA).map(e=>e.level)):new Set,[lW,og,ou,eH.outputSizeMm,cA]),cB=(0,a.useMemo)(()=>{if(!lW||0===ns.length)return{mask:null,colorMap:null};let e=(0,es.ID)(ns,lW,1024,eH.outputSizeMm);return{mask:e.mask,colorMap:e.colorMap}},[ns,lW,eH.outputSizeMm]),cR=cB.mask,cO=cB.colorMap,c_=(0,a.useCallback)(e=>{aF(t=>{let l=new Set(t);return l.has(e)?l.delete(e):l.add(e),l})},[]);(0,a.useEffect)(()=>{lW&&"select"===lk&&lN("view")},[lW,lk]),(0,a.useEffect)(()=>{var e;if(!lW){al(null),ah(null),ap(!1),iv.current=null;return}null===(e=ig.current)||void 0===e||e.abort();let t=new AbortController;return ig.current=t,aa(!0),ah(null),ap(!1),Promise.all([l.e(1831),l.e(9367),l.e(2274),l.e(2648),l.e(267),l.e(1015)]).then(l.bind(l,41015)),(0,eP.i0)(lW,1024,t.signal,{precision:ar}).then(e=>{t.signal.aborted||(al(e),iv.current=e.report.sampleSource.length>0?{source:e.report.sampleSource,resolution:e.width}:null,ah(e.report.precision),aa(!1))}).catch(()=>{t.signal.aborted||(aa(!1),iv.current=null,ap(!0))}),()=>t.abort()},[lW,ar]),(0,a.useEffect)(()=>{var e;null===(e=ib.current)||void 0===e||e.abort(),ib.current=null,af(null);let t=iv.current;if(!lW||"5m"!==ar||!au||!(au.samplesFrom5a>0)||!t){ab(!1);return}let l=new AbortController;ib.current=l,ab(!0);let n=setTimeout(()=>{e1({bounds:lW,demPrecision:ar,sampleSource:t.source,resolution:t.resolution,samplesFrom5a:au.samplesFrom5a,signal:l.signal}).then(e=>{l.signal.aborted||(af(e),ab(!1))}).catch(()=>{l.signal.aborted||ab(!1)})},1500);return()=>{clearTimeout(n),l.abort()}},[lW,ar,au]);let cG=(0,a.useCallback)(e=>{as(e),ad(!1),ai(!1)},[]),cU=(0,a.useCallback)(e=>{if(e===ar){ai(!1);return}if("10m"===ar&&"5m"===e){ai(!1),ad(!0);return}cG(e)},[ar,cG]),cH=(0,a.useMemo)(()=>(function(e,t,l,n){let a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if("10m"===e)return{measuring:!1,lines:[n.current10m],warnings:[]};if(!l&&a)return{measuring:!1,lines:[n.fetchError],warnings:[]};if(!(!l&&t&&!0===t.requested5a&&t.samplesTotal>0))return{measuring:!0,lines:[n.measuring],warnings:[]};let r=t.tiles5aError>0,s=eO(t.coverage5aOnLand),o=[eW(r?n.coverageUnconfirmed:n.coverage,{percent:s})],i=[],c=t.samplesFrom5b+t.samplesFrom5c;c>0&&o.push(eW(n.photoSurvey,{percent:eO(t.coverage5bcOnLand)}));let d=t.seamBefore.count,u=t.coverage5aOnLand>=1;return d<=0?u?o.push(n.noHoles):0===t.samplesFrom5a&&0===c?o.push(n.noLaser):o.push(n.noSeams):(o.push(t.seamComponents>0?eW(n.seams,{count:t.seamComponents,pairs:d}):eW(n.seamsFineOnly,{pairs:d})),o.push(t.seamMatchApplied?eW(n.seamMatchApplied,{shifted:t.samplesShifted,before:e_(t.seamBefore.medianM),after:e_(t.seamAfter.medianM)}):n.seamMatchOff)),r?i.push(eW(n.fetchIncompleteWarn,{tiles:t.tiles5aError})):t.coverage5aOnLand<.9&&i.push(eW(n.lowCoverageWarn,{percent:s})),t.seamMatchLimited&&i.push(n.seamMatchLimitedWarn),{measuring:!1,lines:o,warnings:i}})(ar,au,an,{measuring:eh.measuring,fetchError:eh.fetchError,current10m:eh.current10m,coverage:eh.coverage,coverageUnconfirmed:eh.coverageUnconfirmed,noHoles:eh.noHoles,noLaser:eh.noLaser,noSeams:eh.noSeams,photoSurvey:eh.photoSurvey,seams:eh.seams,seamsFineOnly:eh.seamsFineOnly,seamMatchApplied:eh.seamMatchApplied,seamMatchOff:eh.seamMatchOff,lowCoverageWarn:eh.lowCoverageWarn,seamMatchLimitedWarn:eh.seamMatchLimitedWarn,fetchIncompleteWarn:eh.fetchIncompleteWarn},am),[ar,au,an,eh,am]),cK=(0,a.useMemo)(()=>(function(e){let{labels:t}=e,l=t.barTitle,n=eU(e);if("mode10m"===n.kind||"10m"===n.kind)return{text:t.bar10m,title:l};if("pending"===n.kind)return{text:t.bar5mPending,title:l};if("none"===n.kind)return{text:t.bar5mNoElevation,title:l};let a=[];return"laser"===n.kind&&n.year?("pending"===n.year.kind?a.push(t.bar5mPending):"single"===n.year.kind?a.push(eW(t.bar5mYear,{year:n.year.year})):"range"===n.year.kind?a.push(eW(t.bar5mYearRange,{oldest:n.year.oldest,newest:n.year.newest})):a.push(t.bar5mYearUnavailable),n.hasPhoto&&a.push(t.barPhotoAppend)):a.push(t.bar5mPhotoOnly),n.has10b&&a.push(t.bar10bAppend),{text:a.join(" "),title:l}})({mode:ar,report:au,surveyYear:ax,surveyYearPending:ag,labels:{bar10m:eh.statusBar10m,bar5mPending:eh.statusBar5mPending,bar5mYear:eh.statusBar5mYear,bar5mYearRange:eh.statusBar5mYearRange,bar5mYearUnavailable:eh.statusBar5mYearUnavailable,bar5mPhotoOnly:eh.statusBar5mPhotoOnly,barPhotoAppend:eh.statusBarPhotoAppend,bar10bAppend:eh.statusBar10bAppend,bar5mNoElevation:eh.statusBarNoElevation,barTitle:eh.statusBarTitle}}),[ar,au,ax,ag,eh]),cY=(0,a.useMemo)(()=>e6({critical:eh.confirmCritical,lead:eh.confirmLead,points:eh.confirmPoints,note:eh.confirmNote}),[eh]);(0,a.useEffect)(()=>{var e;if(!lW){aw(null),a6(null),a7(null),aj(!1),aN(null),aS(!1),aE(null),aP(null),aW(null),aO([]),(0,e3.WT)(e3.Gc),iy.current=null;return}let t=(0,e3.ii)(lW);iy.current!==t&&(iy.current=t,aw(null),a6(null),a7(null),aO([])),null===(e=iw.current)||void 0===e||e.abort();let l=new AbortController;iw.current=l,aj(!0),aN(null),aS(!1),aE(null),aP(null),aW(null);let n=null,a=(0,e2.D5)();return(0,eA.Jr)(lW,1024,l.signal,{outputSizeMm:eV,enabledLayers:az,showSea:aZ,needSeaMask:sM,showLargeStillWater:aX,showSmallStillWater:aJ,showMainRiver:aD,mainRiverSelection:aK,showGsiDetailedWater:a3,showUndergroundWater:a0,onProgress:e=>{if(iw.current===l&&!l.signal.aborted){if(n!==e.stage){n=e.stage,a=(0,e2.D5)(),aN(e);return}(!(e.total>1)||a(e.done,e.total))&&aN(e)}},sourceCache:e3.Gc}).then(e=>{if(!l.signal.aborted){var t;aw(e.data),a6(e.seaMask),a7(e.undergroundMask),aE(eF({report:e.report},ed)),aP(function(e,t){var l,n,a;if(!e||!0!==e.riverWidthFilterApplied)return null;let r=null!==(l=e.riverMinWidthM)&&void 0!==l?l:0;if(!Number.isFinite(r)||r<=0)return null;let s=Math.max(0,Math.round(null!==(n=e.hiddenMainRiverCount)&&void 0!==n?n:0))+Math.max(0,Math.round(null!==(a=e.hiddenTributaryCount)&&void 0!==a?a:0));return s<=0?null:eW(t.riverWidthFilterNote,{groove:e7(r*e9.rI),width:e7(r),times:e9.rI,count:s})}(e.report,eu)),aW(function(e,t){var l;if(!e||!0!==e.riverWidthFilterApplied)return null;let n=null!==(l=e.riverMinWidthM)&&void 0!==l?l:0;return!Number.isFinite(n)||n<=0?null:t.printWidthPolicyNote}(e.report,eu)),aO(null!==(t=e.report.mainRiverCatalog)&&void 0!==t?t:[])}}).catch(e=>{l.signal.aborted||(aE(eF({error:e,aborted:l.signal.aborted},ed)),aP(null),aW(null),aO([]))}).finally(()=>{iw.current===l&&(aj(!1),aN(null),iw.current=null)}),()=>l.abort()},[lW,az,aZ,sM,aX,aJ,aD,aK,a3,a0,eV]),(0,a.useEffect)(()=>()=>(0,e3.WT)(e3.Gc),[]);let cV=(0,a.useRef)(null);(0,a.useEffect)(()=>{var e;if(!lW||!nE){nA(null);return}null===(e=cV.current)||void 0===e||e.abort();let t=new AbortController;return cV.current=t,(0,lh.fetchMapTexture)(lW,nE,t.signal).then(e=>{!t.signal.aborted&&e&&nA(e.getContext("2d").getImageData(0,0,e.width,e.height))}).catch(()=>{}),()=>t.abort()},[lW,nE]);let[cZ,cq]=(0,a.useState)([]),[cX,c$]=(0,a.useState)([]),cJ=(0,a.useMemo)(()=>sk.enabled?!0!==sk.includeSea&&sS&&lW?(0,tL.XX)(cX,sS,lW,1024,1024):cX:[],[sk.enabled,sk.includeSea,sS,cX,lW]),[cQ,c0]=(0,a.useState)(!1),[c1,c5]=(0,a.useState)(null),c2=(0,a.useRef)(null);(0,a.useRef)(0);let c3=(0,a.useCallback)(()=>{var e;if(!lW||!sk.enabled){cq([]),c$([]),c5(null);return}null===(e=c2.current)||void 0===e||e.abort();let t=new AbortController;c2.current=t;let l=(0,tY.Nk)(lW)>15;return c0(!0),c5(l?ed.adminAreaTooWide:null),(0,tL.GZ)(lW,t.signal).then(e=>{t.signal.aborted||(cq(e),c$((0,tL.QC)(e)),c0(!1),l||c5(null))}).catch(e=>{if(!t.signal.aborted){let t=e instanceof Error?e.message:String(e);console.warn("Admin boundary fetch failed:",t),c0(!1),c5("".concat(ed.fetchFailedPrefix,": ").concat(t))}}),()=>t.abort()},[lW,sk.enabled,ed]);(0,a.useEffect)(()=>c3(),[c3]),(0,a.useEffect)(()=>{c$((0,tL.QC)(cZ))},[cZ]);let c4=(0,a.useCallback)(async()=>{var e,t;if(!lW)return;if(0===rw.size){rT(ed.selectRoadLevel);return}null===(e=rI.current)||void 0===e||e.abort();let l=new AbortController;rI.current=l,rC(!0),rT(null),rL(null);try{let e=(0,e2.D5)(),{strokes:n,overpassMeta:a}=await t$(lW,rw,l.signal,(t,n)=>{rI.current===l&&n>0&&e(t,n)&&rL({done:t,total:n})});if(l.signal.aborted)return;let r=new Set;for(let e of tZ)rw.has(e.level)&&r.add("lg-road-".concat(e.level));let s=(0,tR.MR)(r),o=new Set,i=new Set,c=[],d=[],u=new globalThis.Map;for(let e of n){let t=rj[e.level],l=rN[e.level],n=(0,tR.h5)(e.level,e.tunnel);e.tunnel&&o.add(n);let a=l$(e.stroke.id,u),r={...e.stroke,id:a,widthMm:t,color:l,groupId:n};if(c.push(r),e.tunnel&&"explicit"===e.tunnelSource)for(let e of[0,-1]){if(!tK({points:r.points,endIndex:e,portalEnds:r.portalEnds,bounds:lW}))continue;let a=(0,tR.Ry)({parentId:r.id,parentGroupId:n,points:r.points,endIndex:e,color:l,parentWidthMm:t});(null==a?void 0:a.groupId)&&(d.push(a),i.add(a.groupId))}}l9(e=>{let t=[...e],l=(e,l,n,a)=>{let r=t.find(t=>
1t.id===e);if(r){r.widthMm=a,r.color=n,r.source="infra";return}t.push({id:e,name:l,color:n,lineType:"solid",widthMm:a,source:"infra"})};for(let e of tZ){if(!rw.has(e.level))continue;let t=rj[e.level],n=rN[e.level],a="lg-road-".concat(e.level);l(a,e.label,n,t);let r=(0,tR.h5)(e.level,!0);o.has(r)&&l(r,"".concat(e.label,"ï¼ãã³ãã«ï¼"),n,t)}for(let e of i){let t=tZ.find(t=>(0,tR.Ej)(e)==="lg-road-".concat(t.level));if(!t)continue;let n=rN[t.level],a=(0,tR.$K)(rj[t.level]);l(e,"".concat(t.label,"ï¼åå£ï¼"),n,a)}return t});let h=[...c,...d],m={};for(let e of n)m[e.level]=(null!==(t=m[e.level])&&void 0!==t?t:0)+1;nr(e=>{let t=e.filter(e=>!(e.id.startsWith("road-osm-")||e.id.startsWith("portal-osm-"))||!(0,tR.gK)(e,s));return(0,tR.kB)([...t,...h])}),h.length>0&&ce({type:"addRoadStrokes",strokes:h}),rA(m),rT(a.partial?ed.partialOverpass:null)}catch(e){l.signal.aborted||(console.warn("[Roads] fetch failed:",e),rT("".concat(ed.fetchFailedPrefix,": ").concat(ez(e,ed))))}finally{rI.current===l&&(rC(!1),rL(null),rI.current=null)}},[lW,rw,rj,rN,ce,ed]),c8=(0,a.useCallback)((e,t)=>{let l=Math.max(.2,Math.min(10,Number.isFinite(t)?t:.2));rk(t=>({...t,[e]:l}));let n="lg-road-".concat(e);l9(e=>e.map(e=>e.id===n?{...e,widthMm:l}:(0,tR.Ej)(e.id)!==n?e:(0,tR.V9)(e.id)?{...e,widthMm:(0,tR.$K)(l)}:{...e,widthMm:l}))},[]),c6=(0,a.useCallback)((e,t)=>{rM(l=>({...l,[e]:t}));let l="lg-road-".concat(e);l9(e=>e.map(e=>e.id===l||(0,tR.Ej)(e.id)===l?{...e,color:t}:e))},[]),c9=(0,a.useCallback)(async()=>{var e,t;if(!lW)return;if(0===rU.size){rJ(ed.selectRailwayClass);return}null===(e=r2.current)||void 0===e||e.abort();let l=new AbortController;r2.current=l,rX(!0),rJ(null),r5(null);try{let e=(0,e2.D5)(),{strokes:n,overpassMeta:a}=await t2(lW,rU,l.signal,(t,n)=>{r2.current===l&&n>0&&e(t,n)&&r5({done:t,total:n})});if(l.signal.aborted)return;let r=new Set;for(let e of t5)rU.has(e.cls)&&r.add("lg-rail-".concat(e.cls));let s=(0,tR.MR)(r),o=new Set,i=new Set,c=[],d=[],u=new globalThis.Map;for(let e of n){let t=rK[e.cls],l=rV[e.cls],n=(0,tR.zT)(e.cls,e.tunnel);e.tunnel&&o.add(n);let a=l$(e.stroke.id,u),r={...e.stroke,id:a,widthMm:t,color:l,groupId:n};if(c.push(r),e.tunnel&&"explicit"===e.tunnelSource)for(let e of[0,-1]){if(!tK({points:r.points,endIndex:e,portalEnds:r.portalEnds,bounds:lW}))continue;let a=(0,tR.Ry)({parentId:r.id,parentGroupId:n,points:r.points,endIndex:e,color:l,parentWidthMm:t});(null==a?void 0:a.groupId)&&(d.push(a),i.add(a.groupId))}}let{strokes:h,platformStrokes:m,syntheticPlatformCount:p,buildingStrokes:x,fallbackBuildingCount:f,fetchFailed:g,overpassMeta:b}=await lc(lW,l.signal);g&&console.warn("[Railways] station fetch failed");let v=st?m:[];ss(v.length),sa(st?p:0);let w=st?x:[];si(w.length),sd(st?f:0),l9(e=>{let t=[...e],l=(e,l,n,a,r)=>{let s=t.find(t=>t.id===e);if(s){s.widthMm=r,s.color=n,s.lineType=null!=a?a:s.lineType,s.source="infra";return}t.push({id:e,name:l,color:n,lineType:null!=a?a:"railway",widthMm:r,source:"infra"})};for(let e of t5){if(!rU.has(e.cls))continue;let t=rK[e.cls],n=rV[e.cls],a="lg-rail-".concat(e.cls);l(a,e.label,n,e.defaultLineType,t);let r=(0,tR.zT)(e.cls,!0);o.has(r)&&l(r,"".concat(e.label,"ï¼ãã³ãã«ï¼"),n,e.defaultLineType,t)}for(let e of i){var n;let t=null===(n=t5.find(t=>(0,tR.Ej)(e)==="lg-rail-".concat(t.cls)))||void 0===n?void 0:n.cls;if(!t)continue;let a=t5.find(e=>e.cls===t);l(e,"".concat(a.label,"ï¼åå£ï¼"),rV[t],"solid",(0,tR.$K)(rK[t]))}return h.length>0&&l(tR.X9,tR.KT,te.h6,"solid",h[0].widthMm),v.length>0&&l(tR.qN,tR.x3,te.h6,"solid",tR.vi),w.length>0&&l(tR.Om,tR.bX,te.h6,"solid",tR.Bs),t});let y=[...c,...d,...h,...v,...w],j={};for(let e of n)j[e.cls]=(null!==(t=j[e.cls])&&void 0!==t?t:0)+1;nr(e=>{let t=e.filter(e=>!(e.id.startsWith("platform-")||e.id.startsWith("station-bldg-"))&&(!(e.id.startsWith("rail-osm-")||e.id.startsWith("portal-osm-")||e.id.startsWith("station-osm-"))||!(0,tR.gK)(e,s)));return(0,tR.kB)([...t,...y])}),y.length>0&&ce({type:"addRoadStrokes",strokes:y}),r0(j);let k=null;a.partial||b.partial?k=ed.partialOverpass:g&&(k=ed.stationsFailed),rJ(k)}catch(e){l.signal.aborted||(console.warn("[Railways] fetch failed:",e),rJ("".concat(ed.fetchFailedPrefix,": ").concat(ez(e,ed))))}finally{r2.current===l&&(rX(!1),r5(null),r2.current=null)}},[lW,rU,rK,rV,st,ce,ed]),c7=(0,a.useCallback)((e,t)=>{let l=Math.max(.2,Math.min(10,Number.isFinite(t)?t:.2));rY(t=>({...t,[e]:l}));let n="lg-rail-".concat(e);l9(e=>e.map(e=>e.id===n?{...e,widthMm:l}:(0,tR.Ej)(e.id)!==n?e:(0,tR.V9)(e.id)?{...e,widthMm:(0,tR.$K)(l)}:{...e,widthMm:l}))},[]),de=(0,a.useCallback)((e,t)=>{rZ(l=>({...l,[e]:t}));let l="lg-rail-".concat(e);l9(e=>e.map(e=>e.id===l||(0,tR.Ej)(e.id)===l?{...e,color:t}:e))},[]),dt=(0,a.useCallback)(e=>{rB(e),l9(t=>t.map(t=>
1t.id===tR.QO||(0,tR.Ej)(t.id)===tR.QO?{...t,color:e}:t)),nr(t=>t.map(t=>t.groupId===tR.QO?{...t,color:e}:t))},[]),dl=(0,a.useCallback)(async()=>{var e;if(!lW)return;if(!rz){r6(ed.selectFerry);return}null===(e=se.current)||void 0===e||e.abort();let t=new AbortController;se.current=t,r4(!0),r6(null),r7(null);try{let e=(0,e2.D5)(),{strokes:l,overpassMeta:n}=await (0,t3.bS)(lW,!0,t.signal,(l,n)=>{se.current===t&&n>0&&e(l,n)&&r7({done:l,total:n})});if(t.signal.aborted)return;let a=l.map(e=>({...e.stroke,color:rD,groupId:tR.QO}));rO(a.length),l9(e=>{let t=e.filter(e=>!(0,tR.HA)(e.id));return 0===a.length?t:[...t,{id:tR.QO,name:t3.fT.label,color:rD,lineType:t3.fT.defaultLineType,widthMm:t3.fT.defaultWidthMm,source:"infra"}]}),nr(e=>{let t=e.filter(e=>!e.id.startsWith("ferry-"));return(0,tR.kB)([...t,...a])}),a.length>0&&ce({type:"addRoadStrokes",strokes:a}),r6(n.partial?ed.partialOverpassFerry:null)}catch(e){t.signal.aborted||(console.warn("[Ferry] fetch failed:",e),r6("".concat(ed.fetchFailedPrefix,": ").concat(ez(e,ed))))}finally{se.current===t&&(r4(!1),r7(null),se.current=null)}},[lW,rz,rD,ce,ed]),dn=(0,a.useCallback)(async()=>{var e;if(!lW)return;if(0===ou.size){oj(ed.selectWaterStructureLevel);return}null===(e=oL.current)||void 0===e||e.abort();let t=new AbortController;oL.current=t,ow(!0),oj(null),oE(null),oS(null);let l=(0,e2.D5)();try{let e=await (0,t4.W0)(lW,ou,t.signal,e=>{oL.current===t&&e.totalTiles>0&&l(e.doneTiles,e.totalTiles)&&oS({done:e.doneTiles,total:e.totalTiles,batch:e.doneBatches,batches:e.totalBatches})});if(t.signal.aborted)return;let{lines:n,areas:a,meta:r}=e;ob({lines:n,areas:a}),oP(new Set(ou)),oW(Object.keys(r.unknownVtCodes).length>0?r.unknownVtCodes:null);let s=(0,t4.Mt)({lines:n,areas:a},ou);oN((0,t4.Op)(s));let o=s.lines.length+s.areas.length;r.partial?(oj(ed.partialWaterTiles),oE(null)):0===o?(oj(null),oE(ed.waterStructuresNoDataInRange)):(oj(null),oE(null))}catch(e){t.signal.aborted||(console.warn("[WaterStructures] fetch failed:",e),e instanceof t4.UI?oj(ed.allWaterTilesFailed):oj("".concat(ed.fetchFailedPrefix,": ").concat(ez(e,ed))))}finally{oL.current===t&&(ow(!1),oS(null),oL.current=null)}},[lW,ou,ed]),da=(0,a.useCallback)((e,t)=>{let l=Math.max(.2,Math.min(10,Number.isFinite(t)?t:.2));op(t=>({...t,[e]:l}))},[]),dr=(0,a.useCallback)((e,t)=>{of(l=>({...l,[e]:t}))},[]);(0,a.useEffect)(()=>{var e;null===(e=oL.current)||void 0===e||e.abort(),ob(null),oN({}),oj(null),oP(null),oW(null),oE(lW?ed.waterStructuresBoundsChanged:null)},[lW,ed.waterStructuresBoundsChanged]),(0,a.useEffect)(()=>{if(0===ou.size){ob(null),oN({}),oj(null),oE(null),oP(null),oW(null);return}if(!og)return;let e=(0,t4.Mt)(og,ou);oN((0,t4.Op)(e))},[ou,og]);let ds=(0,a.useMemo)(()=>{if(!og||!oT)return!1;if(ou.size!==oT.size)return!0;for(let e of ou)if(!oT.has(e))return!0;return!1},[og,oT,ou]);(0,a.useEffect)(()=>()=>{var e,t,l,n;null===(e=oL.current)||void 0===e||e.abort(),null===(t=rI.current)||void 0===t||t.abort(),null===(l=r2.current)||void 0===l||l.abort(),null===(n=se.current)||void 0===n||n.abort()},[]),(0,a.useEffect)(()=>{let e=e=>{if(e===tR.X9||e===tR.qN||e===tR.Om)return null;let t=(0,tR.Ej)(e);if(!t.startsWith("lg-rail-"))return null;let l=t.replace("lg-rail-","");return t5.some(e=>e.cls===l)?l:null};nr(t=>{let l=!1,n=t.filter(t=>{if(t.id.startsWith("station-osm-")||t.id.startsWith("platform-")||t.id.startsWith("station-bldg-")){let e=rU.size>0;return e||(l=!0),e}if(!t.id.startsWith("rail-osm-")&&!t.id.startsWith("portal-osm-")||!t.groupId||!t.groupId.startsWith("lg-rail-"))return!0;let n=e(t.groupId);if(!n)return!0;let a=rU.has(n);return a||(l=!0),a});return l?n:t}),l9(t=>{let l=!1,n=t.filter(t=>{if(t.id===tR.X9||t.id===tR.qN||t.id===tR.Om){let e=rU.size>0;return e||(l=!0),e}if(!t.id.startsWith("lg-rail-"))return!0;let n=e(t.id);if(!n)return!0;let a=rU.has(n);return a||(l=!0),a});return l?n:t}),r0(e=>{if(!e)return e;let t={},l=0;for(let n of Object.keys(e))rU.has(n)&&(t[n]=e[n],l++);return l===Object.keys(e).length?e:t})},[rU]),(0,a.useEffect)(()=>{st||(nr(e=>{let t=e.filter(e=>!e.id.startsWith("platform-")&&!e.id.startsWith("station-bldg-"));return t.length===e.length?e:t}),l9(e=>{let t=e.filter(e=>e.id!==tR.qN&&e.id!==tR.Om);return t.length===e.length?e:t}),ss(0),sa(0),si(0),sd(0))},[st]),(0,a.useEffect)(()=>{var e;rz||(null===(e=se.current)||void 0===e||e.abort(),nr(e=>{let t=e.filter(e=>!e.id.startsWith("ferry-"));return t.length===e.length?e:t}),l9(e=>{let t=e.filter(e=>!(0,tR.HA)(e.id));return t.length===e.length?e:t}),rO(0),r6(null))},[rz]),(0,a.useEffect)(()=>{let e=e=>{let t=(0,tR.Ej)(e);if(!t.startsWith("lg-road-"))return null;let l=t.replace("lg-road-","");return tZ.some(e=>e.level===l)?l:null};nr(t=>{let l=!1,n=t.filter(t=>{if(!t.id.startsWith("road-osm-")&&!t.id.startsWith("portal-osm-")||!t.groupId||!t.groupId.startsWith("lg-road-"))return!0;let n=e(t.groupId);if(!n)return!0;let a=rw.has(n);return a||(l=!0),a});return l?n:t}),l9(t=>{let l=!1,n=t.filter(t=>{if(!t.id.startsWith("lg-road-"))return!0;let n=e(t.id);if(!n)return!0;let a=rw.has(n);return a||(l=!0),a});return l?n:t}),rA(e=>{if(!e)return e;let t={},l=0;
1for(let n of Object.keys(e))rw.has(n)&&(t[n]=e[n],l++);return l===Object.keys(e).length?e:t})},[rw]);let di=cm.water,dc=cm.slopeFlat,dd=cm.slopeGentle,du=cm.slopeSteep,dh=cm.slopeRock,dm=cm.admin,dp=(0,a.useMemo)(()=>{if(!at||!lW||!(sm.enabled||sx.enabled||sg.enabled||sv.enabled||sy.enabled))return null;let e=(lW.north-lW.south)*111320/at.height;return(0,tW.ps)(at,e)},[at,lW,sm.enabled,sx.enabled,sg.enabled,sv.enabled,sy.enabled]),dx=(0,a.useMemo)(()=>{var e,t,l;if(!at||!lW)return[];let n=[],a=at.width,r=at.height,s=(0,en.hS)({heightfield:at,bounds:lW,elevationZones:su,flatZone:sm,gentleZone:sx,inclineZone:sg,steepZone:sv,rockZone:sy,draftBand:ii?{enabled:null===(e=ii.enabled)||void 0===e||e,minElevM:null!==(t=ii.minElevM)&&void 0!==t?t:0,maxElevM:null!==(l=ii.maxElevM)&&void 0!==l?l:0,color:ii.color,bounds:ii.subBounds}:void 0});for(let e of((0,en.AG)(s,{flat:dc,gentle:dd,steep:du,rock:dh}),s))n.push({data:e.data,color:e.color,priority:"low"});if(sk.enabled&&cX.length>0){let e=Math.max(1,sk.lineWidthMm/eH.outputSizeMm*a),t=!0===sk.includeSea?cX:(0,tL.XX)(cX,sS,lW,a,r),l=(0,tL.j0)(t,lW,a,r,e,eH.outputSizeMm);if(!0!==sk.includeSea&&(0,tL.lH)(l,sS),dm)for(let e=0;e<l.length;e++)dm[e]&&(l[e]=0);n.push({data:l,color:sk.color,priority:"high"})}return n},[at,lW,dp,sm,sx,sg,sv,sy,su,ii,sk,cX,sS,dc,dd,du,dh,dm,eH.outputSizeMm]),df=(0,a.useMemo)(()=>{if(!rn)return null;if(!di)return rn;let e=new Uint8Array(rn.length);for(let t=0;t<e.length;t++)e[t]=rn[t]&&!di[t]?1:0;return e},[rn,di]),dg=(0,a.useMemo)(()=>{if(!ra)return null;if(!di)return ra;let e=new Uint8Array(ra.length);for(let t=0;t<e.length;t++)e[t]=ra[t]&&!di[t]?1:0;return e},[ra,di]),db=(0,a.useMemo)(()=>{if(!a9)return null;if(!di)return a9;let e=new Uint8Array(a9.length);for(let t=0;t<e.length;t++)e[t]=a9[t]&&!di[t]?1:0;return e},[a9,di]),dv=(0,a.useCallback)(()=>{lW?lz({bounds:{...lW},strokes:na.map(e=>({...e,points:e.points.map(e=>({lat:e.lat,lng:e.lng}))}))}):lz(null),lL(null),al(null),aw(null),a6(null),nr([]),no([]),sh([]),i1([]),cp(cd),lT(),lN("select"),tw.current=!1,tj(!1),tk.current=!1,tM(!1)},[lW,na]);(0,a.useEffect)(()=>{lW&&lz(null)},[lW]);let dw=(0,a.useCallback)(()=>{let e=i5.current.pop();if(e){switch(e.type){case"addRoadStrokes":{let t=new Set(e.strokes.map(e=>e.id));nr(e=>e.filter(e=>!t.has(e.id)));break}case"removeRoadStrokes":nr(t=>[...t,...e.strokes]);break;case"addHeritageStamp":no(t=>{let l=e.stamp,n=t.lastIndexOf(l);if(n>=0)return[...t.slice(0,n),...t.slice(n+1)];let a=[...t].reverse().findIndex(e=>e.lat===l.lat&&e.lng===l.lng&&e.symbolType===l.symbolType);if(a>=0){let e=t.length-1-a;return[...t.slice(0,e),...t.slice(e+1)]}return t});break;case"removeHeritageStamps":no(t=>[...t,...e.stamps]);break;case"eraserStroke":i1(e=>{var t;if(0===e.length)return e;let l=e[e.length-1];return(null===(t=l.deletedElevationZones)||void 0===t?void 0:t.length)&&sh(e=>[...e,...l.deletedElevationZones]),e.slice(0,-1)});break;case"addElevationZone":sh(t=>t.filter(t=>t.id!==e.zone.id));break;case"removeElevationZone":sh(t=>[...t,e.zone]);break;case"removeLineGroup":l9(t=>[...t,e.group]),nr(t=>[...t,...e.strokes])}i2.current.push(e),i4(i5.current.length>0),i6(!0)}},[]),dy=(0,a.useCallback)(()=>{let e=i2.current.pop();if(e){switch(e.type){case"addRoadStrokes":nr(t=>[...t,...e.strokes]);break;case"removeRoadStrokes":{let t=new Set(e.strokes.map(e=>e.id));nr(e=>e.filter(e=>!t.has(e.id)));break}case"addHeritageStamp":no(t=>[...t,e.stamp]);break;case"removeHeritageStamps":{let t=new Set(e.stamps);no(e=>e.filter(e=>!t.has(e)));break}case"eraserStroke":break;case"addElevationZone":sh(t=>[...t,e.zone]);break;case"removeElevationZone":sh(t=>t.filter(t=>t.id!==e.zone.id));break;case"removeLineGroup":{l9(t=>t.filter(t=>t.id!==e.group.id));let t=new Set(e.strokes.map(e=>e.id));nr(e=>e.filter(e=>!t.has(e.id)))}}i5.current.push(e),i4(!0),i6(i2.current.length>0)}},[]);(0,a.useEffect)(()=>{let e=e=>{let t=function(e){if(function(e){if(!e||"object"!=typeof e)return!1;if(!0===e.isContentEditable)return!0;let t=e.tagName;if("string"!=typeof t)return!1;let l=t.toLowerCase();return"textarea"===l||"input"===l&&(null==e.type||""===e.type||"string"==typeof e.type&&eR.has(e.type.toLowerCase()))}(e.target)||!(e.ctrlKey||e.metaKey))return null;let t=e.key.toLowerCase();return"z"===t?e.shiftKey?"redo":"undo":"y"===t?"redo":null}(e);t&&("redo"===t?dy():dw(),e.preventDefault())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[dw,dy]);let dj=(0,a.useCallback)(e=>
1{if(at&&lW&&0!==e.length)try{let t=at.width,l=Math.max(2,Math.round(.01*t));if(aL){let e=aL.getContainer().clientWidth,n=aL.getBounds(),a=(n.getEast()-n.getWest())/e*rx,r=lW.east-lW.west;l=Math.max(1,Math.round(t/r*a/2))}let n={path:[...e],brushRadius:l,targets:{...ro}};ro.elevationZones&&su.length>0&&(n.deletedElevationZones=[...su],sh([])),i1(e=>[...e,n]),ce({type:"eraserStroke"})}catch(e){console.error("Eraser stroke failed:",e)}},[ro,at,lW,su,aL,rx,ce]),dk=(0,a.useCallback)(()=>{},[]),dN=(0,a.useMemo)(()=>{let e=(e,t)=>e?"ready":t?"empty":ay?"fetching":aM?"cancelled":aC?"failed":"none",t=null!==df,l=0!==rw.size||0!==rU.size||rz||0!==rR?l6.some(e=>"infra"===e.source||e.id.startsWith("lg-road-")||e.id.startsWith("lg-rail-")||(0,tR.HA)(e.id))?"ready":rS||rq||r3?"fetching":rE||r$||r8?"failed":"none":"off",n=0===ou.size?"off":cL?"ready":ov?"fetching":oy?"failed":og?"empty":"none",a=sk.enabled?cQ?"fetching":c1?"failed":"ready":"off";return{water:e(df,!1),sea:aZ?e(dg,t):"off",underground:a0?e(db,t):"off",waterStructure:n,infra:l,admin:a}},[ay,aM,aC,df,aZ,dg,a0,db,rw,rU,rz,rR,rS,rq,r3,rE,r$,r8,l6,ou,ov,oy,og,cL,sk.enabled,cQ,c1]),dM=(0,a.useCallback)(e=>{if(!at||!lW)throw Error("simulation payload requires heightfield and bounds");return(0,e2.Sg)(()=>"".concat(e2.DU,"â ã¨ãã£ã¿: å¼ãç¶ããã¼ã¿ã®çµã¿ç«ã¦"),()=>({[tE.Kf]:e,inventory:dN,heightfieldData:(0,tE.N$)(at.data),heightfieldWidth:at.width,heightfieldHeight:at.height,minElev:at.minElev,maxElev:at.maxElev,waterMask:df?(0,tE.N$)(df):null,seaMask:dg?(0,tE.N$)(dg):null,seaColor:re,undergroundMask:db?(0,tE.N$)(db):null,undergroundColor:a5,bounds:lW,verticalScale:l4,colors:eH.colors,outputSizeMm:eH.outputSizeMm,roadStrokes:(0,tR.DN)(na,nJ),lineGroups:JSON.parse(JSON.stringify(l6)),heritageStamps:ns,adminLines:sk.enabled?cX:[],adminBoundaryConfig:sk,adminClipSeaMask:sS?(0,tE.N$)(sS):null,flatZone:sm,gentleZone:sx,inclineZone:sg,steepZone:sv,rockZone:sy,elevationZones:ic.map(e=>{var t;let l=(0,el.f5)(e);return{...l,subBounds:null!==(t=l.subBounds)&&void 0!==t?t:{...lW},polygonPoints:l.polygonPoints?l.polygonPoints.map(e=>({...e})):void 0}}),waterStructureMask:cL?(0,tE.N$)(cL):null,waterStructureColorMap:cI?(0,tE.N$)(cI):null,waterStructureLabelMap:cz?(0,tE.N$)(cz):null,extrudeSettings:{waterMm:sz,roadMm:s_,infraMm:sD,tunnelMm:sR,heritageMm:sU,adminMm:sK,waterStructureMm:ot,waterProfile:sV,roadProfile:s$,infraProfile:sq,heritageProfile:sQ,adminProfile:s1,heritagePeakAlign:s2,waterStructurePeakAlign:on,infraLevels:or}}))},[at,lW,dN,df,dg,db,a5,re,l4,eH.colors,eH.outputSizeMm,na,nJ,l6,ns,sk,cX,sS,sm,sx,sg,sv,sy,ic,sz,s_,sD,sR,sU,sK,sV,s$,sq,sQ,s1,s2,ot,on,or,cL,cI,cz]),dS=(0,a.useMemo)(()=>(0,tE.dW)((0,H.qx)(eX),tE.rY),[eX]),dC=(0,a.useCallback)(async()=>{if(!at||!lW||tV.current)return;tV.current=!0,tX(!0);let e=tk.current,t=null,l=(0,H.qx)(eX),n=await (0,tE.sw)({newToken:l_,now:()=>Date.now(),writeRecord:e=>{null!==e&&(t=e.token),null===e?window.localStorage.removeItem(tE.Dy):window.localStorage.setItem(tE.Dy,(0,tE.LD)(e))},buildUrl:e=>(0,tE.dW)(l,e),openWindow:e=>window.open(e,"_blank"),onWindowOpened:()=>{tk.current=!0,tM(!0)},onWindowBlocked:e=>{tG(e)},buildSimData:dM,saveSimData:(e,l)=>lG(e,l,()=>{lU(t)&&tH(!1)})},tE.kl).finally(()=>{tV.current=!1,tX(!1)});if("failed"===n.save){console.error("Simulation data save failed:",n.saveError),tG(null),tH(!0),e||(tk.current=!1,tM(!1));return}},[eX,at,lW,dM]),dE=(0,a.useCallback)(async(e,t)=>{await new Promise(e=>{window.setTimeout(e,0)});let l=e.record?e.token:null,n=await (0,tE.X9)(e,{now:()=>Date.now(),writeRecord:e=>{null===e?window.localStorage.removeItem(tE.Dy):window.localStorage.setItem(tE.Dy,(0,tE.LD)(e))},buildSimData:dM,saveSimData:(e,t)=>lG(e,t,()=>{lU(l)&&tH(!1)})},tE.kl).finally(()=>{tV.current=!1,tX(!1),tJ.current&&(tJ.current.href=dS),tQ.current&&(tQ.current.href=dS)});if("failed"===n.save){console.error("Simulation data save failed:",n.saveError),t1(!1),tH(!0),t||(tk.current=!1,tM(!1));return}null!==le.current&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>t1(!1),8e3)},[dM,dS]),dT=(0,a.useCallback)(e=>{if(!at||!lW)return;if(tV.current){let t=t7.current;t&&(e.currentTarget.href=t);return}tV.current=!0,tX(!0);let t=tk.current,l=(0,H.qx)(eX),n=(0,tE.LC)({newToken:l_,now:()=>Date.now(),writeRecord:e=>{null===e?window.localStorage.removeItem(tE.Dy):window.localStorage.setItem(tE.Dy,(0,tE.LD)(e))},buildUrl:e=>(0,tE.dW)(l,e)});e.currentTarget.href=n.url,t7.current=n.url,t9(n.url),t1(!0),tk.current=!0,tM(!0),dE(n,t)},[at,lW,eX,dE]);(0,a.useEffect)(()=>()=>{null!==le.current&&window.clearTimeout(le.current)},[]),(0,a.useEffect)(()=>
1{if(!lW||!n8)return;let e="".concat(lW.north.toFixed(7),",").concat(lW.south.toFixed(7),",").concat(lW.east.toFixed(7),",").concat(lW.west.toFixed(7));n9.current&&n9.current!==e&&(n6(!1),n9.current=null)},[lW,n8]);let dP=(0,a.useCallback)(async()=>{if(nz(l2),nk(!0),fetch("/api/download-stats",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>{e&&nM(e)}).catch(()=>{}),!lW)return;let e="".concat(lW.north.toFixed(7),",").concat(lW.south.toFixed(7),",").concat(lW.east.toFixed(7),",").concat(lW.west.toFixed(7));if(n8&&n9.current===e&&n3.trim().length>0)return;ae(!0);let t=await tb(lW,eq),l=0,n=0;for(let e of t){let t=e.charCodeAt(0)>127?2:1;if(l+t>16)break;l+=t,n+=e.length}n4(t=t.slice(0,n)),n6(!1),n9.current=null,ae(!1)},[l2,lW,eq,n8,n3]),dA=(0,a.useCallback)(()=>{if(at&&lW){if(!tk.current){tO(!0);return}dP()}},[at,lW,dP]),dW=(0,a.useCallback)(async()=>{if(!lW||!at)return;(0,ld.$)(l6),nk(!1),ng(!0),nv(d0.preparing),ny(0);let e=()=>new Promise(e=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(()=>setTimeout(e,0)):setTimeout(e,0)});await e();try{var t,n,a,r,s;let o;let{runModelExportJob:i,runImageExportJob:c}=await Promise.all([l.e(3054),l.e(5946)]).then(l.bind(l,15946)),d="3mf"===nZ||"glb"===nZ||"stl"===nZ||"obj"===nZ,u=dL(),h=[],m=null;if(d){console.log("[Export] Step 0: Generating credit plateâ¦"),nv(d0.creditPlate),ny(.02),await e();let l=await tS({regionName:tf(n3),locale:eq,scale:null!==(t=null==u?void 0:u.scale)&&void 0!==t?t:0,verticalScale:l4,outputSizeMm:eN,bounds:lW,distEWkm:(null!==(n=null==u?void 0:u.distEW)&&void 0!==n?n:0)/1e3,distNSkm:(null!==(a=null==u?void 0:u.distNS)&&void 0!==a?a:0)/1e3});h=l.meshes,m=l.plateBounds}let p=new Date().toISOString().slice(0,10),x=(0,H.Gh)({locale:eX,mapLayer:nh,preview3dMapLayer:nE,bounds:lW,showSea:aZ,showStillWater:aX||aJ,showMainRiver:aD,showGsiDetailedWater:a3,showUndergroundWater:a0,enabledWaterLayerCount:az.size,lineGroups:l6,adminEnabled:sk.enabled,adminLinesCount:cX.length,heritageStampCount:ns.length,culturalProperties:ij,exportFormat:nZ,demPrecisionMode:ar,demSeamMatchApplied:"5m"===ar&&(null==au?void 0:au.seamMatchApplied)===!0,demFetchIncomplete:"5m"===ar&&(null!==(r=null==au?void 0:au.tiles5aError)&&void 0!==r?r:0)>0}),f=(0,H.Ws)(x,p),g=nY.trim().replace(/[\\/:*?"<>|]/g,"_")||"create-gbm-v2-".concat(new Date().toISOString().slice(0,10)),b={format:d?nZ:"3mf",bounds:lW,res:nI,sizeMm:eN,baseMm:nW,skipBaseCorrection:nH,verticalScale:l4,exportRiverWidthMm:nG,editorGridWidth:at.width,demPrecision:ar,demSurveyYear:ax?{oldest:ax.oldest,newest:ax.newest}:void 0,water:{enabledLayers:az,showSea:aZ,showLargeStillWater:aX,showSmallStillWater:aJ,showMainRiver:aD,mainRiverSelection:a_,showGsiDetailedWater:a3,showUndergroundWater:a0},waterSource:e3.Gc.lastSource?(0,e4.QM)(e3.Gc.lastSource):void 0,demfailSimulation:!1,waterEraseMask:null!=di?di:null,adminEraseMask:null!=dm?dm:null,flatEraseMask:null!=dc?dc:null,gentleEraseMask:null!=dd?dd:null,steepEraseMask:null!=du?du:null,rockEraseMask:null!=dh?dh:null,roadStrokes:na,lineGroups:l6,heritageStamps:ns,adminBoundary:sk,adminLines:cX,fetchedWaterStructures:null!=og?og:null,waterStructureFetchLevels:ou,waterStructureStyleOverrides:cA,zones:{flat:sm,gentle:sx,incline:sg,steep:sv,rock:sy},elevationZones:ic,extrude:{waterMm:sz,roadMm:s_,infraMm:sD,tunnelMm:sR,heritageMm:sU,adminMm:sK,waterStructureMm:ot,waterProfile:sV,roadProfile:s$,infraProfile:sq,heritageProfile:sQ,adminProfile:s1,heritagePeakAlign:s2,waterStructurePeakAlign:on,infraLevels:or},tunnelBoreSettings:cy,plan:eH,seaColor:re,undergroundColor:a5,includeColors:nX,locale:eX,creditsTxt:f,creditsCtx:x,creditsGeneratedDate:p,creditMeshes:h,creditPlateBounds:m,scale:null!==(s=null==u?void 0:u.scale)&&void 0!==s?s:0,phaseLabels:{fetchDem:d0.fetchDem,checkDemGaps:d0.checkDemGaps,rasterizeInfra:d0.rasterizeInfra,computeZones:d0.computeZones,carveTunnels:ed.tunnelBoreCarvingPhase,generateMesh:d0.generateMesh,exportMapImage:d0.exportMapImage,exportPng:d0.exportPng,writeFile:eW(d0.writeFile,{format:nZ.toUpperCase()}),compress3mf:d0.compress3mf},imageFormat:d?void 0:nZ,mapLayer:nh,preview3dMapLayer:nE,adminColor:sk.color},v={onPhase:async(t,l)=>{nv(t),ny(l),await e()},confirmCoverage:async e=>{let t=await new Promise(t=>nD({summary:e,resolve:t}));return nD(null),t}},w=e=>{let t=function(e,t){var l,n;if(!e)return null;let a="TimeoutError"===e.errorName||"AbortError"===e.errorName||e.errorMessage?Object.assign(Error(null!==(l=e.errorMessage)&&void 0!==l?l:""),{name:null!==(n=e.errorName)&&void 0!==n?n:"Error"}):void 0;return eF({report:{attempted:!0,failed:e.failed,partial:e.partial,failedCells:e.failedCells,totalCells:e.totalCells,error:a}},t)}(e,ed);t&&(console.warn("[Export] æ¸ãåºãæã®æ°´ç³»åå¾ã«åé¡:",e),aE(t))};if(d){let e;try{e=await tA(b,v,e=>{nR(()=>e)},"model")}finally{nR(null)}"fallback"in e&&(console.warn("[Export] Worker ã使ããªãç°å¢ã®ãããã¡ã¤ã³ã¹ã¬ããã§æ¸ãåºãã¾ã"),e=await i(b,v));let t=e;if(t.cancelled){console.warn("[Export] æ¨é«æ¬ æã²ã¼ãã§ä¸æ¢ã鏿");return}(e=>{var t,l,n,a;if(!cy.enabled||!e){n2(null);return}e.applied&&0===e.failedIds.length?(n2(null),console.log("[TunnelBore] carved",e.appliedCount,"tunnel cavity/cavities through",e.carvedMeshCount,"object(s);",e.skippedMeshCount,"skipped by bounds",e.failedMeshNames.length>0?"; left solid: ".concat(e.failedMeshNames.join(", ")):"")):e.applied?(n2(eW(null!==(t=ed.tunnelBoreCsgPartial)&&void 0!==t?t:"",{applied:e.appliedCount,requested:e.requested})),console.warn("[TunnelBore] partial carve:",e)):(n2(eW(null!==(l=ed.tunnelBoreCsgFailed)&&void 0!==l?l:"",{reason:null!==(a=null!==(n=e.error)&&void 0!==n?n:e.stage)&&void 0!==a?a:""})),console.warn("[TunnelBore] CSG failed; exported terrain without tunnel cavity:",e))})(t.csg),w(t.waterReport),tC(t.blob,"".concat(g,".").concat(nZ)),nv(d0.done),ny(1);try{fetch("/api/download-count",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:nZ}),keepalive:!0}
1).catch(()=>{})}catch(e){}return}let y=nY.trim().replace(/[\\/:*?"<>|]/g,"_")||"create-gbm-v2-".concat(new Date().toISOString().slice(0,10));try{o=await tA(b,v,e=>{nR(()=>e)},"image")}finally{nR(null)}if("fallback"in o){console.warn("[Export] Worker ã使ããªãç°å¢ã®ãããã¡ã¤ã³ã¹ã¬ããã§ç»åãæ¸ãåºãã¾ã");let e=await c(b,v);o={cancelled:e.cancelled,blob:e.blob,pngInputs:e.pngInputs,stats:e.stats,waterReport:e.waterReport}}if(o.cancelled){console.warn("[Export] æ¨é«æ¬ æã²ã¼ãã§ä¸æ¢ã鏿");return}w(o.waterReport);let j=o.blob;if(!j&&o.pngInputs){nv(d0.exportPng),ny(.85),await e();let t=o.pngInputs,{exportPreviewTopDownPng:n}=await Promise.all([l.e(1831),l.e(9367),l.e(267),l.e(6661)]).then(l.bind(l,26661));j=await n({heightfield:t.heightfield,verticalScale:l4,bounds:lW,waterMask:t.waterMask,roadMask:t.roadMask,infraMask:t.infraMask,waterStructureMask:t.waterStructureMask,waterStructureColorMap:t.waterStructureColorMap,heritageMask:t.heritageMask,roadColorMap:t.roadColorMap,infraColorMap:t.infraColorMap,heritageColorMap:t.heritageColorMap,overlays:t.overlays,colors:eH.colors,inlayDepthMm:eH.inlayDepthMm,outputSizeMm:eN,outputSize:t.outputSize,mapTextureData:t.mapTextureData,preview3dMapLayer:null})}if(!j)throw Error(d_.imageGenFailed);tC(j,"".concat(y,".").concat(nZ)),nv(d0.done),ny(1);try{fetch("/api/download-count",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({format:nZ}),keepalive:!0}).catch(()=>{})}catch(e){}return}catch(e){if(e instanceof Error&&e.message===tP){console.warn("[Export] ã¦ã¼ã¶ã¼ã䏿¢ï¼Worker terminate æ¸ã¿ã»ã¡ã¢ãªå³æè§£æ¾ï¼");return}console.error("Export error:",e),ll(e instanceof Error?e.message:String(e))}finally{nR(null),nD(null),ng(!1),nv(""),ny(0)}},[lW,at,nI,eN,nW,l4,n3,az,aZ,aX,aJ,aD,a_,a3,a0,nG,re,a5,nH,nY,nZ,di,dm,dc,dd,du,dh,i0,na,ns,sk,cX,eH,sz,sD,sR,s_,sU,sK,ot,on,og,ou,cA,sV,sq,s$,sQ,s1,s2,or,eX,nh,nE,l6,ij,sm,sx,sg,sv,sy,ic,cy,nX,ed,ar,au,ax]),dL=(0,a.useCallback)(()=>{if(!lW)return null;let e=(lW.north+lW.south)/2,t=lW.north-lW.south,l=lW.east-lW.west,n=111320*t,a=111320*Math.cos(e*Math.PI/180)*l,r=Math.round((n+a)/2/(eH.outputSizeMm/1e3));return{distNS:Math.round(n),distEW:Math.round(a),scale:r}},[lW,eH.outputSizeMm]),dI=[{id:"view",icon:(0,n.jsx)(s.A,{className:"w-4 h-4"}),label:ei.view.full,labelShort:ei.view.short,disabled:!lF},{id:"road",icon:(0,n.jsx)(o.A,{className:"w-4 h-4"}),label:ei.road.full,labelShort:ei.road.short,disabled:!lF},{id:"heritage",icon:(0,n.jsx)(i.A,{className:"w-4 h-4"}),label:ei.heritage.full,labelShort:ei.heritage.short,disabled:!lF},{id:"eraser",icon:(0,n.jsx)(c.A,{className:"w-4 h-4"}),label:ei.eraser.full,labelShort:ei.eraser.short,disabled:!lF}],dz=(0,a.useCallback)(e=>{nx(!1),lN(t=>{let l=t===e?"view":e;return"region"===t&&"region"!==l&&io([]),"eraser"===l&&rd(!0),"road"===l&&rh(!0),"heritage"===l&&rp(!0),l})},[]),dF=(0,a.useCallback)(()=>{nx(e=>{let t=!e;return t&&(lS("map"),nu(!1)),t})},[]),dD=eo.gbmEditor.extrudeOptions,dB=(0,a.useMemo)(()=>ti.map(e=>({value:e,label:tu(dD.recess,e)})),[dD]),dR=(0,a.useMemo)(()=>tc.map(e=>({value:e,label:0===e?dD.raiseNone:tu(dD.raise,e)})),[dD]),dO=(0,a.useMemo)(()=>td.map(e=>({value:e,label:0===e?dD.carveNone:tu(dD.carve,e)})),[dD]),d_=eo.gbmEditor.editorMisc,dG=eo.gbmEditor.heritagePanel,dU=eo.gbmEditor.infraPanel,dH=eo.gbmEditor.viewerPanel,dK=eo.gbmEditor.extrudePanel,dY=eo.gbmEditor.eraserPanel,dV=eo.gbmEditor.panels,dZ=[{key:"roads",label:dY.itemRoads,info:eW(dY.countStrokes,{n:na.length})},{key:"heritage",label:dY.itemHeritage,info:eW(dY.countStamps,{n:ns.length})},{key:"water",label:dY.itemWater,info:az.size>0?eW(dY.countLayers,{n:az.size}):dY.none},{key:"elevationZones",label:dY.itemElevationZones,info:eW(dY.countZones,{n:su.length})},{key:"slopeFlat",label:dV.zoneFlat,info:sm.enabled?"ON":"OFF"},{key:"slopeGentle",label:dV.zoneGentle,info:sx.enabled?"ON":"OFF"},{key:"slopeSteep",label:dV.zoneSteep,info:sv.enabled?"ON":"OFF"},{key:"slopeRock",label:dV.zoneRock,info:sy.enabled?"ON":"OFF"},{key:"admin",label:dY.itemAdmin,info:sk.enabled?"ON":"OFF"}],dq=(0,a.useMemo)(()=>{let e=[];for(let t of(e.push({name:"terrain_base",color:eH.colors.terrain_base,noteKind:"terrain"}),(rn||at&&az.size>0)&&e.push({name:"water",color:eH.colors.water,noteKind:"water"}),ra&&e.push({name:"sea",color:re,noteKind:"sea"}),a9&&e.push({name:"underground_water",color:a5,noteKind:"underground"}),l6.filter(e=>"infra"!==e.source&&!e.id.startsWith("lg-road-")&&!e.id.startsWith("lg-rail-"))))na.some(e=>{var l;return(null!==(l=e.groupId)&&void 0!==l?l:"lg-0")===t.id})&&e.push({name:t.name,color:t.color,noteKind:"userLine"});for(let t of l6.filter(e=>"infra"===e.source||e.id.startsWith("lg-road-")||e.id.startsWith("lg-rail-")).sort((e,t)=>
1(0,lu.s8)(e.id,t.id)))na.some(e=>e.groupId===t.id)&&e.push({name:t.name,color:t.color,noteKind:(0,tR.HA)(t.id)?"ferryRoute":"infra"});if(og&&ou.size>0)for(let l of t4.Ks){var t;cD.has(l.level)&&e.push({name:"ç é²ã»æ²»æ°´ ".concat(l.label),color:null!==(t=ox[l.level])&&void 0!==t?t:t4.OL,noteKind:"waterStructure"})}for(let{cfg:t,label:l}of(ns.length>0&&e.push({name:"heritage",color:eH.colors.heritage,noteKind:"heritage"}),sk.enabled&&cX.length>0&&e.push({name:"admin",color:sk.color,noteKind:"admin"}),[{cfg:sm,label:"SLOPE-å¹³å°"},{cfg:sx,label:"SLOPE-ç·©å¾æ"},{cfg:sg,label:"SLOPE-徿"},{cfg:sv,label:"SLOPE-æ¥å¾æ"},{cfg:sy,label:"SLOPE-å²©ç¤æ§æ¥æé¢"}]))t.enabled&&e.push({name:l,color:t.color,noteKind:"slopeZone"});for(let t of ic){let l=(0,el.f5)(t);l.enabled&&e.push({name:(0,el.r0)(l),color:l.color,noteKind:"region"===l.kind?"regionColor":"elevZone"})}return e.push({name:"credit-plate",color:eH.colors.credit_plate,noteKind:"creditPlate"}),e.push({name:"credit-icon",color:eH.colors.credit_icon,noteKind:"creditIcon"}),e},[sk,cX.length,ic,az.size,sm,sx,at,ns.length,sg,l6,na,sv,sy,rn,ra,re,a9,a5,og,ou,cD,ox,eH.colors.terrain_base,eH.colors.water,eH.colors.heritage,eH.colors.credit_plate,eH.colors.credit_icon]),dX=(0,a.useMemo)(()=>{let e=[];for(let t of l6.filter(e=>"infra"!==e.source&&!e.id.startsWith("lg-road-")&&!e.id.startsWith("lg-rail-")))na.some(e=>{var l;return(null!==(l=e.groupId)&&void 0!==l?l:"lg-0")===t.id})&&e.push({name:t.name,widthMm:t.widthMm});for(let t of l6.filter(e=>"infra"===e.source||e.id.startsWith("lg-road-")||e.id.startsWith("lg-rail-")).sort((e,t)=>(0,lu.s8)(e.id,t.id))){if(!na.some(e=>e.groupId===t.id))continue;let l=(0,tR.ZT)(t.id)?(0,tR.iQ)(t.widthMm,!0,t.lineType):{widthMm:t.widthMm,strands:1};e.push({name:t.name,widthMm:l.widthMm,strands:l.strands})}if(og&&ou.size>0)for(let l of t4.Ks){var t;cD.has(l.level)&&e.push({name:"ç é²ã»æ²»æ°´ ".concat(l.label),widthMm:null!==(t=om[l.level])&&void 0!==t?t:l.defaultWidthMm})}return e},[l6,na,og,ou,cD,om]),d$=eo.gbmEditor.outputSheet,dJ=eo.gbmEditor.exportDialog,dQ=eo.gbmEditor.restorePrompt,d0=eo.gbmEditor.exportProgress,d1=(0,a.useMemo)(()=>({title:d$.title,sectionBasic:d$.sectionBasic,sectionTerrain:d$.sectionTerrain,sectionWidths:d$.sectionWidths,sectionObjects:d$.sectionObjects,slicerNoticeLine1:d$.slicerNoticeLine1,slicerNoticeLine2:d$.slicerNoticeLine2,regionUnset:d$.regionUnset,regionInput:d$.regionInput,regionNamePrefixNote:d$.regionNamePrefixNote,centerCoord:d$.centerCoord,outputSize:d$.outputSize,outputSizeValue:d$.outputSizeValue,resolution:d$.resolution,resolutionValue:d$.resolutionValue,baseThickness:d$.baseThickness,baseThicknessValue:d$.baseThicknessValue,baseThicknessNone:d$.baseThicknessNone,verticalScale:d$.verticalScale,verticalScaleValue:d$.verticalScaleValue,waterBoost:d$.waterBoost,waterBoostValue:d$.waterBoostValue,waterBoostOff:d$.waterBoostOff,regionName:d$.regionName,extentEW:d$.extentEW,extentNS:d$.extentNS,extentValue:d$.extentValue,scale:d$.scale,scaleValue:d$.scaleValue,elevMax:d$.elevMax,elevMin:d$.elevMin,elevValue:d$.elevValue,cornerNW:d$.cornerNW,cornerSE:d$.cornerSE,coordValue:d$.coordValue,widthValue:d$.widthValue,widthStrands:d$.widthStrands,footer:d$.footer,terrainKind:d$.terrainKind,terrainKind10m:d$.terrainKind10m,terrainKindLaser:d$.terrainKindLaser,terrainKindPhotoOnly:d$.terrainKindPhotoOnly,terrainKindPhotoAppend:d$.terrainKindPhotoAppend,terrainKind10bAppend:d$.terrainKind10bAppend,terrainSurveyYear:d$.terrainSurveyYear,terrainYearSingle:d$.terrainYearSingle,terrainYearRange:d$.terrainYearRange,terrainYearPending:d$.terrainYearPending,terrainYearUnavailable:d$.terrainYearUnavailable,terrainCoverLaser:d$.terrainCoverLaser,terrainCoverLaserUnconfirmed:d$.terrainCoverLaserUnconfirmed,terrainCoverPhoto:d$.terrainCoverPhoto,terrainCover10b:d$.terrainCover10b,terrainPercentValue:d$.terrainPercentValue,terrainNotePreview:d$.terrainNotePreview,terrainNoteFetchIncomplete:d$.terrainNoteFetchIncomplete,terrainNoteSurveyYear:d$.terrainNoteSurveyYear,noteTerrain:d$.noteTerrain,noteWater:d$.noteWater,noteSea:d$.noteSea,noteUnderground:d$.noteUnderground,noteUserLine:d$.noteUserLine,noteInfra:d$.noteInfra,noteFerryRoute:d$.noteFerryRoute,noteWaterStructure:d$.noteWaterStructure,noteHeritage:d$.noteHeritage,noteAdmin:d$.noteAdmin,noteSlopeZone:d$.noteSlopeZone,noteRegionColor:d$.noteRegionColor,noteElevZone:d$.noteElevZone,noteCreditPlate:d$.noteCreditPlate,noteCreditIcon:d$.noteCreditIcon}
1),[d$]),d5=(0,a.useCallback)(()=>{let e=dL();return function(e,t){let{locale:l,bounds:n,boundsInfo:a,elevation:r}=e,s="en"===l?{sectionOpen:"[",sectionClose:"]",parenOpen:"(",parenClose:")",noteMark:"*",colon:": ",inlineGap:" "}:{sectionOpen:"ã",sectionClose:"ã",parenOpen:"ï¼",parenClose:"ï¼",noteMark:"â»",colon:"zh-TW"===l?"ï¼":": ",inlineGap:""},o=[{label:t.outputSize,value:eW(t.outputSizeValue,{mm:e.exportSizeMm})},{label:t.resolution,value:eW(t.resolutionValue,{n:e.exportResolution})},{label:t.baseThickness,value:e.skipBaseCorrection?t.baseThicknessNone:eW(t.baseThicknessValue,{mm:e.exportBaseMm})},{label:t.verticalScale,value:eW(t.verticalScaleValue,{n:e.verticalScale.toFixed(1)})},{label:t.waterBoost,value:e.riverWidthMm>0?eW(t.waterBoostValue,{mm:e.riverWidthMm,nozzle:e.nozzle}):t.waterBoostOff},{label:t.regionName,value:"".concat(e.engravedRegionName||t.regionUnset).concat(e.regionOverPlate?" ".concat(t.regionNamePrefixNote):"")}];a&&n&&o.push({label:t.extentEW,value:eW(t.extentValue,{km:(a.distEW/1e3).toFixed(2),m:tt(a.distEW)})},{label:t.extentNS,value:eW(t.extentValue,{km:(a.distNS/1e3).toFixed(2),m:tt(a.distNS)})},{label:t.scale,value:eW(t.scaleValue,{n:tt(a.scale)})}),r&&o.push({label:t.elevMax,value:eW(t.elevValue,{m:r.maxElev.toFixed(1)})},{label:t.elevMin,value:eW(t.elevValue,{m:r.minElev.toFixed(1)})}),n&&o.push({label:t.cornerNW,value:eW(t.coordValue,{lat:n.north.toFixed(6),lon:n.west.toFixed(6)})},{label:t.cornerSE,value:eW(t.coordValue,{lat:n.south.toFixed(6),lon:n.east.toFixed(6)})});let i=[{key:"basic",title:t.sectionBasic,layout:"pairs",rows:o,notes:[]}],c=function(e,t){let l;let n=eU({mode:e.precision,report:e.report,surveyYear:e.surveyYear,surveyYearPending:e.surveyYearPending});if("mode10m"===n.kind||"pending"===n.kind||"none"===n.kind)return null;let a=n.report,r=[];if("10m"===n.kind)l=t.terrainKind10m;else{let e=["laser"===n.kind?t.terrainKindLaser:t.terrainKindPhotoOnly];"laser"===n.kind&&n.hasPhoto&&e.push(t.terrainKindPhotoAppend),n.has10b&&e.push(t.terrainKind10bAppend),l=e.join(" ")}r.push({label:t.terrainKind,value:l});let s=!1;if(n.year){let e;"pending"===n.year.kind?e=t.terrainYearPending:"single"===n.year.kind?(e=eW(t.terrainYearSingle,{year:n.year.year}),s=!0):"range"===n.year.kind?(e=eW(t.terrainYearRange,{oldest:n.year.oldest,newest:n.year.newest}),s=!0):e=t.terrainYearUnavailable,r.push({label:t.terrainSurveyYear,value:e})}let o=e=>eW(t.terrainPercentValue,{percent:eO(e)});r.push({label:n.fetchIncomplete?t.terrainCoverLaserUnconfirmed:t.terrainCoverLaser,value:o(a.coverage5aOnLand)}),n.hasPhoto&&r.push({label:t.terrainCoverPhoto,value:o(a.coverage5bcOnLand)});let i=a.samplesTotal-a.samplesNone;r.push({label:t.terrainCover10b,value:o(i>0?a.samplesFrom10b/i:0)});let c=[t.terrainNotePreview];return s&&c.push(t.terrainNoteSurveyYear),n.fetchIncomplete&&c.push(eW(t.terrainNoteFetchIncomplete,{tiles:a.tiles5aError})),{key:"terrain",title:t.sectionTerrain,layout:"pairs",rows:r,notes:c}}(e.terrain,t);c&&i.push(c),e.widths.length>0&&i.push({key:"widths",title:t.sectionWidths,layout:"grid",rows:e.widths.map(e=>{var l;return{label:e.name,value:"".concat(eW(t.widthValue,{mm:e.widthMm.toFixed(2)})).concat((null!==(l=e.strands)&&void 0!==l?l:1)>1?" ".concat(eW(t.widthStrands,{n:e.strands})):"")}}),notes:[]});let d=n?((n.north+n.south)/2).toFixed(6):"---",u=n?((n.east+n.west)/2).toFixed(6):"---";return{title:t.title,lang:"en"===l?"en":"zh-TW"===l?"zh-Hant-TW":"ja",url:"https://creategbm.com",punctuation:s,regionName:e.engravedRegionName||t.regionUnset,regionInputNote:e.regionOverPlate?"".concat(s.inlineGap)+"".concat(eW(t.regionInput,{name:e.rawRegionName})):"",centerCoord:{label:t.centerCoord,value:eW(t.coordValue,{lat:d,lon:u})},sections:i,objectsTitle:t.sectionObjects,objects:e.objects.map((e,n)=>({index:n+1,name:e.name,color:e.color,colorName:(0,te.T9)(e.color,l),rgb:function(e){let[t,l,n]=(0,te.E2)(e);return"RGB(".concat(t,", ").concat(l,", ").concat(n,")")}(e.color),note:t[tn[e.noteKind]]})),objectsNotes:[t.slicerNoticeLine1,t.slicerNoticeLine2],footer:eW(t.footer,{date:function(e,t){let l=e.getFullYear(),n=e.getMonth()+1,a=e.getDate();return"en"===t?"".concat(a," ").concat(tl[e.getMonth()]," ").concat(l):"".concat(l,"/").concat(n,"/").concat(a)}(e.generatedAt,l)})}}({locale:eX,exportSizeMm:eN,exportResolution:nI,exportBaseMm:nW,skipBaseCorrection:nH,verticalScale:l4,riverWidthMm:nG,nozzle:nO,engravedRegionName:tf(n3),rawRegionName:n3,regionOverPlate:tg(n3),bounds:lW?{north:lW.north,south:lW.s
1outh,east:lW.east,west:lW.west}:null,boundsInfo:e,elevation:at?{maxElev:at.maxElev,minElev:at.minElev}:null,objects:dq,widths:dX,terrain:{precision:ar,report:au,surveyYear:ax?{oldest:ax.oldest,newest:ax.newest}:null,surveyYearPending:ag},generatedAt:new Date},d1)},[eX,eN,nI,nW,nH,l4,nG,nO,n3,lW,dL,at,dq,dX,ar,au,ax,ag,d1]),d2=(0,a.useMemo)(()=>{var e,t,l,n,a;return(0,H.Gh)({locale:eX,mapLayer:nh,preview3dMapLayer:nE,bounds:lW,showSea:aZ,showStillWater:aX||aJ,showMainRiver:aD,showGsiDetailedWater:a3,showUndergroundWater:a0,enabledWaterLayerCount:az.size,lineGroups:l6,adminEnabled:sk.enabled,adminLinesCount:cX.length,heritageStampCount:ns.length,culturalProperties:ij,exportFormat:nZ,demPrecisionMode:ar,demSeamMatchApplied:"5m"===ar&&(null==au?void 0:au.seamMatchApplied)===!0,demFetchIncomplete:"5m"===ar&&(null!==(e=null==au?void 0:au.tiles5aError)&&void 0!==e?e:0)>0,demUsesPhotoSurvey:"5m"===ar&&(null!==(t=null==au?void 0:au.samplesFrom5b)&&void 0!==t?t:0)+(null!==(l=null==au?void 0:au.samplesFrom5c)&&void 0!==l?l:0)>0,demSurveyYearOldest:"5m"===ar&&ax&&(null!==(n=null==au?void 0:au.samplesFrom5a)&&void 0!==n?n:0)>0?ax.oldest:void 0,demSurveyYearNewest:"5m"===ar&&ax&&(null!==(a=null==au?void 0:au.samplesFrom5a)&&void 0!==a?a:0)>0?ax.newest:void 0})},[eX,nh,nE,lW,ar,au,ax,aZ,aX,aJ,aD,a3,a0,az.size,l6,sk.enabled,cX.length,ns.length,ij,nZ]),d3=(0,a.useMemo)(()=>(0,H.Nf)(d2),[d2]),d4=(0,a.useMemo)(()=>(0,H.x)(d2),[d2]),d8=eo.gbmEditor.status,d6=(0,a.useMemo)(()=>{var e;return(e={hasBounds:lF,activePanel:lM,showExportDialog:nj}).hasBounds?e.showExportDialog?"export":"3d"===e.activePanel?"preview3d":"edit":"select"},[lF,lM,nj]),d9=(0,a.useMemo)(()=>{var e,t,l,n,a,r,s,o,i,c,d,u,h,m,p,x,f,g,b,v,w,y,j,k,N;return"3d"===(e={hasBounds:lF,mode:lk,isTouch:e$,activePanel:"map"}).activePanel?d8.panel3d:e.hasBounds?"select"===e.mode?(a=e.isTouch,r=d8.selectWithBounds,s=d8.selectWithBoundsTouch,a?s:r):"view"===e.mode?(o=e.isTouch,i=d8.view,c=d8.viewTouch,o?c:i):"road"===e.mode?(d=e.isTouch,u=d8.road,h=d8.roadTouch,d?h:u):"heritage"===e.mode?(m=e.isTouch,p=d8.heritage,x=d8.heritageTouch,m?x:p):"eraser"===e.mode?(f=e.isTouch,g=d8.eraser,b=d8.eraserTouch,f?b:g):"region"===e.mode?(v=e.isTouch,w=d8.region,y=d8.regionTouch,v?y:w):(j=e.isTouch,k=d8.view,N=d8.viewTouch,j?N:k):(t=e.isTouch,l=d8.selectNoBounds,n=d8.selectNoBoundsTouch,t?n:l)},[d8,lF,lk,e$]),d7=(0,a.useMemo)(()=>{var e;return d9?(e=d8.touchPanSuffix,e$&&("road"===lk||"heritage"===lk||"eraser"===lk||"region"===lk)?"".concat(d9.body," ").concat(e):d9.body):""},[d9,d8.touchPanSuffix,lk,e$]),ue=(0,a.useMemo)(()=>lF?d8.panel3d:null,[lF,d8.panel3d]),ut=(0,a.useMemo)(()=>{let e=eo.gbmEditor.workflow,t=!!(at&&lW);return[{id:"select",label:e.select.full,shortLabel:e.select.short,done:lF,disabled:!1,stepNumber:1},{id:"edit",label:e.edit.full,shortLabel:e.edit.short,done:!1,disabled:!lF,stepNumber:2},{id:"preview3d",label:e.preview3d.full,shortLabel:e.preview3d.short,done:!1,disabled:!lF,stepNumber:3},{id:"simulate",label:e.simulate.full,shortLabel:e.simulate.short,done:tN,disabled:!t,stepNumber:4,href:dS,onLinkClick:dT,linkRef:tQ},{id:"export",label:e.export.full,shortLabel:e.export.short,done:!1,disabled:!t,muted:lF&&!ty&&!nj,stepNumber:5}]},[eo.gbmEditor.workflow,lF,ty,tN,at,lW,nj,dS,dT]),ul=(0,a.useCallback)(e=>{switch(e){case"select":lN("select"),lS("map");break;case"edit":if(!lF)return;lS("map");break;case"preview3d":if(!lF)return;lS("3d");break;case"simulate":at&&lW&&dC();break;case"export":dA()}},[lF,at,lW,dC,dA]),[un,ua]=(0,a.useState)(!e$),ur=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=document.body.style.overflow;document.body.style.overflow="hidden";let t=ur.current,l=e=>{let t=e.target;!(!t||"function"!=typeof t.closest||t.closest("[data-scrollable]")||t.closest('button, input, select, textarea, a, label, [role="button"]'))&&(e.touches.length>=2||e.preventDefault())};return null==t||t.addEventListener("touchmove",l,{passive:!1}),()=>{document.body.style.overflow=e,null==t||t.removeEventListener("touchmove",l)}},[]),(0,n.jsxs)("div",{ref:ur,className:"bg-brand-navy h-screen text-white flex flex-col overflow-hidden",style:{touchAction:"pan-x pan-y"},children:[(0,n.jsx)(r.default,{}),(0,n.jsx)("header",{className:"pt-[120px] lg:pt-[120px] pb-2 lg:pb-3 px-4 lg:px-6",children:(0,n.jsxs)("div",{className:"max-w-[1920px] mx-auto flex flex-wrap items-center justify-between gap-3 lg:gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 lg:gap-3 min-w-0 flex-1",children:[(0,n.jsx)("div",{className:"inline-flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-500/10 border border-emerald-500/20 rounded-full text-[8px] font-black tracking-widest text-emerald-300 uppercase shrink-0",children:"FREE"}),(0,n.jsx)("h1",{className:"text-base md:text-lg lg:text-xl font-black italic tracking-tighter leading-none whitespace-nowrap",children:eo.home.createGbm.gbmEditorTitle}),(0,n.jsx)("span",{className:"text-[9px] text-slate-500 font-mono hidden md:inline shrink-0",children:eW(d_.statusSizeWater,{mm:eH.outputSizeMm})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,n.jsxs)("div",{className:"relative hidden md:block",children:[(0,n.jsxs)("button",{onClick:()=>eY(e=>!e),className:"flex items-center gap-1.5 px-2.5 py-1.5 bg-white/5 hover:bg-white/10 rounded-lg transition-all",title:d_.outputSizeTitle,children:[(0,n.jsx)(d.A,{className:"w-3.5 h-3.5 text-slate-400"}),(0,n.jsxs)("span",{className:"text-[10px] font-mono text-slate-200",children:[eN,"mm"]})]}),eK&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[1999]",onClick:()=>eY(!1)}),(0,n.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-64 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-300",children:d_.outputSizeSide}),(0,n.jsxs)("span",{className:"text-xs font-mono text-amber-400",children:[eN,"mm"]})]}),(0,n.jsx)("input",{type:"range",min:tB.yR,max:tB.GC,step:10,value:eN,onChange:e=>eS(Number(e.target.value)),className:"w-full accent-amber-500 h-3",style:{touchAction:"none"}}),(0,n.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,n.jsxs)("span",{className:"text-[8px] text-slate-500",children:[tB.yR,"mm"]}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"150mm"}),(0,n.jsxs)("span",{className:"text-[8px] text-slate-500",children:[tB.GC,"mm"]})]}),(0,n.jsx)("div",{className:"text-[8px] text-slate-500 mt-2 leading-snug",children:d_.outputSizeHint})]})]})]}),(0,n.jsxs)("div",{className:"relative hidden md:block",children:[(0,n.jsxs)("button",{onClick:()=>sW(e=>!e),className:"flex items-center gap-1.5 px-2.5 py-1.5 bg-white/5 hover:bg-white/10 rounded-lg transition-all",title:d_.verticalScaleTitle,children:[(0,n.jsx)(u.A,{className:"w-3.5 h-3.5 text-slate-400"}),(0,n.jsxs)("span",{className:"text-[10px] font-mono text-slate-200",children:[l4.toFixed(1),"\xd7"]})]}),sA&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[1999]",onClick:()=>sW(!1)}),(0,n.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-64 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-300",children:dH.verticalScale}),(0,n.jsxs)("span",{className:"text-xs font-mono text-amber-400",children:[l4.toFixed(1),"\xd7"]})]}),(0,n.jsx)("input",{type:"range",min:tB.FC,max:tB.LE,step:"0.1",value:l4,onChange:e=>l8(parseFloat(e.target.value)),className:"w-full accent-amber-500 h-3",style:{touchAction:"none"}}),(0,n.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"1.0\xd7"}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"5.0\xd7"}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"10.0\xd7"})]})]})]})]}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("button",{onClick:()=>ai(e=>!e),title:eh.chipTitle,"aria-label":eh.chipTitle,className:"flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg transition-all ".concat("5m"===ar?"bg-violet-500/20 hover:bg-violet-500/30 border border-violet-400/50":"bg-white/5 hover:bg-white/10 border border-transparent"),children:["5m"===ar?(0,n.jsx)(h.A,{className:"w-3.5 h-3.5 text-violet-300"}):(0,n.jsx)(m.A,{className:"w-3.5 h-3.5 text-slate-400"}),(0,n.jsx)("span",{className:"text-[10px] font-mono ".concat("5m"===ar?"text-violet-200 font-bold":"text-slate-200"),children:"5m"===ar?eh.label5m:eh.label10m})]}),ao&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[1999]",onClick:()=>ai(!1)}),(0,n.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-72 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] p-4","data-scrollable":!0,children:[(0,n.jsx)("div",{className:"text-[11px] font-bold text-slate-300 mb-2.5",children:eh.menuTitle}),(0,n.jsx)("div",{className:"flex flex-col gap-1.5",children:[{mode:"10m",icon:(0,n.jsx)(m.A,{className:"w-3.5 h-3.5"}),name:eh.option10mName,desc:eh.option10mDesc},{mode:"5m",icon:(0,n.jsx)(h.A,{className:"w-3.5 h-3.5"}),name:eh.option5mName,desc:eh.option5mDesc}].map(e=>(0,n.jsxs)("button",{onClick:()=>cU(e.mode),className:"text-left px-3 py-2 rounded-lg border transition-all ".concat(ar===e.mode?"bg-violet-500/15 border-violet-400/50":"bg-white/5 border-transparent hover:bg-white/10"),children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] font-bold ".concat(ar===e.mode?"text-violet-200":"text-slate-200"),children:[e.icon,e.name]}),(0,n.jsx)("span",{className:"block text-[9px] text-slate-400 leading-snug mt-1",children:e.desc})]},e.mode))}),(0,n.jsxs)("div",{className:"mt-3 pt-3 border-t border-white/10 flex flex-col gap-1",children:[cH.lines.map((e,t)=>(0,n.jsx)("p",{className:"text-[9px] text-slate-400 leading-snug",children:e},"dem-precision-line-".concat(t))),cH.warnings.map((e,t)=>(0,n.jsxs)("p",{className:"text-[9px] text-amber-300 leading-snug",children:["â ",e]},"dem-precision-warn-".concat(t)))]})]})]})]}),(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-0.5",children:[(0,n.jsx)("button",{onClick:dw,disabled:!i3,title:d_.undo,className:"p-2 rounded-lg transition-all ".concat(i3?"text-slate-300 hover:bg-white/10":"text-slate-700 cursor-not-allowed"),children:(0,n.jsx)(p.A,{className:"w-4 h-4"})}),(0,n.jsx)("button",{onClick:dy,disabled:!i8,title:d_.redo,className:"p-2 rounded-lg transition-all ".concat(i8?"text-slate-300 hover:bg-white/10":"text-slate-700 cursor-not-allowed"),children:(0,n.jsx)(p.A,{className:"w-4 h-4 -scale-x-100"})})]})]})]})}),(0,n.jsx)(ew,{currentStep:d6,steps:ut,onStepClick:ul,cycleAriaLabel:eo.gbmEditor.workflow.cycleAria,cycleCaption:eo.gbmEditor.workflow.cycleCaption,cycleVisitedHint:ty?eo.gbmEditor.workflow.cycleVisited:void 0}),(0,n.jsxs)("div",{className:"mx-2 mb-1 flex gap-2 md:hidden lg:mx-4",style:{paddingRight:em},children:[at&&lW?(0,n.jsxs)("a",{ref:tJ,"data-coachmark":"editor-action-simulate",href:dS,target:"_blank",rel:"noopener","aria-disabled":!!tq||void 0,onClick:dT,className:"flex flex-1 items-center justify-center gap-1.5 rounded-xl px-2 py-2 text-[10px] font-bold transition-all ".concat(at&&lW&&!tq?"border border-green-500/30 bg-green-600/25 text-green-200 hover:bg-green-600/40":"cursor-not-allowed bg-white/5 text-slate-600"),children:[(0,n.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:eo.gbmEditor.workflow.simulate.short})]}):(0,n.jsxs)("button",{type:"button","data-coachmark":"editor-action-simulate",disabled:!0,className:"flex flex-1 items-center justify-center gap-1.5 rounded-xl px-2 py-2 text-[10px] font-bold transition-all ".concat(at&&lW&&!tq?"border border-green-500/30 bg-green-600/25 text-green-200 hover:bg-green-600/40":"cursor-not-allowed bg-white/5 text-slate-600"),children:[(0,n.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:eo.gbmEditor.workflow.simulate.short})]}),(0,n.jsxs)("button",{type:"button","data-coachmark":"editor-action-export",disabled:!lF||nf||!at,onClick:dA,className:"flex flex-1 items-center justify-center gap-1.5 rounded-xl px-2 py-2 text-[10px] font-black transition-all ".concat(lF&&!nf&&at?"bg-amber-500 text-white shadow-md shadow-amber-500/25 hover:bg-amber-400":"cursor-not-allowed bg-white/5 text-slate-600"),children:[(0,n.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:nf?"...":eo.gbmEditor.workflow.export.short})]})]}),t0&&(0,n.jsx)("div",{className:"pointer-events-none fixed inset-x-0 bottom-3 z-[8400] flex justify-center px-3",children:(0,n.jsxs)("div",{role:"status",className:"pointer-events-auto w-[min(24rem,100%)] rounded-lg border border-emerald-400/25 bg-slate-900/95 px-4 py-3 shadow-xl",children:[(0,n.jsx)("p",{className:"text-[11px] font-bold text-emerald-200",children:eo.gbmEditor.simOpening.body}),(0,n.jsx)("p",{className:"mt-1 text-[10px] leading-relaxed text-slate-400",children:eo.gbmEditor.simOpening.notOpened}),(0,n.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>t1(!1),className:"flex-1 rounded-lg bg-white/10 px-2 py-1.5 text-[10px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.simOpening.close}),(0,n.jsx)("button",{type:"button",disabled:tq,onClick:()=>{t1(!1),t6&&window.location.assign(t6)},className:"flex-1 rounded-lg px-2 py-1.5 text-[10px] font-black text-white ".concat(tq?"cursor-not-allowed bg-white/10 text-slate-500":"bg-green-600 hover:bg-green-500"),children:tq?eo.gbmEditor.simOpening.saving:eo.gbmEditor.simOpening.openHere})]})]})}),tz&&(0,n.jsx)("div",{className:"fixed inset-0 z-[8600] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"export-skip-sim-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"export-skip-sim-title",className:"text-sm font-black text-white",children:eo.gbmEditor.exportConfirmSkipSim.title}),(0,n.jsx)("p",{className:"mt-2 text-[11px] leading-relaxed text-slate-400",children:eo.gbmEditor.exportConfirmSkipSim.body}),(0,n.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>tO(!1),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.exportConfirmSkipSim.no}),(0,n.jsx)("button",{type:"button",onClick:()=>{tO(!1),dP()},className:"flex-1 rounded-xl bg-amber-500 px-3 py-2 text-[11px] font-black text-white hover:bg-amber-400",children:eo.gbmEditor.exportConfirmSkipSim.yes})]})]})}),t_&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"sim-popup-blocked-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"sim-popup-blocked-title",className:"text-sm font-black text-white",children:eo.gbmEditor.simPo
1pupBlocked.title}),(0,n.jsx)("p",{className:"mt-2 whitespace-pre-line text-[11px] leading-relaxed text-slate-400",children:eo.gbmEditor.simPopupBlocked.body}),(0,n.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:()=>tG(null),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.simPopupBlocked.cancel}),(0,n.jsx)("button",{type:"button",disabled:tq,onClick:()=>{tG(null),t_&&window.location.assign(t_)},className:"flex-1 rounded-xl px-3 py-2 text-[11px] font-black text-white ".concat(tq?"cursor-not-allowed bg-white/10 text-slate-500":"bg-green-600 hover:bg-green-500"),children:tq?eo.gbmEditor.simPopupBlocked.saving:eo.gbmEditor.simPopupBlocked.openHere})]})]})}),tU&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"sim-save-failed-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"sim-save-failed-title",className:"text-sm font-black text-red-300",children:eo.gbmEditor.simSaveFailed.title}),(0,n.jsx)("p",{className:"mt-2 text-[11px] leading-relaxed text-slate-400",children:eo.gbmEditor.simSaveFailed.body}),(0,n.jsx)("div",{className:"mt-4 flex gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>tH(!1),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.simSaveFailed.close})})]})}),lo&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"print-blocked-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"print-blocked-title",className:"text-sm font-black text-white",children:eo.gbmEditor.actionNotice.printBlockedTitle}),(0,n.jsx)("p",{className:"mt-2 text-[11px] leading-relaxed text-slate-400",children:eo.gbmEditor.actionNotice.printBlockedBody}),(0,n.jsx)("div",{className:"mt-4 flex gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>li(!1),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.actionNotice.close})})]})}),null!==ln&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"copy-fallback-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"copy-fallback-title",className:"text-sm font-black text-white",children:ex.copyFailedTitle}),(0,n.jsx)("p",{className:"mt-2 text-[11px] leading-relaxed text-slate-400",children:ln.message}),(0,n.jsx)("p",{className:"mt-1 text-[11px] leading-relaxed text-slate-400",children:ex.copyManualBody}),(0,n.jsx)("textarea",{readOnly:!0,value:ln.text,"data-scrollable":!0,onFocus:e=>e.currentTarget.select(),className:"mt-3 h-40 w-full resize-none rounded-xl border border-white/10 bg-slate-950 p-2 font-mono text-[10px] leading-relaxed text-slate-200"}),(0,n.jsx)("div",{className:"mt-4 flex gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>la(null),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.actionNotice.close})})]})}),null!==lt&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10001] flex items-center justify-center bg-black/60 p-4 backdrop-blur-sm",children:(0,n.jsxs)("div",{role:"dialog","aria-labelledby":"export-failed-title",className:"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-900 p-5 shadow-2xl",children:[(0,n.jsx)("h2",{id:"export-failed-title",className:"text-sm font-black text-red-300",children:eo.gbmEditor.exportFailed.title}),(0,n.jsx)("p",{className:"mt-2 text-[11px] leading-relaxed text-slate-400",children:eo.gbmEditor.exportFailed.body}),(0,n.jsx)("p",{"data-scrollable":!0,className:"mt-3 max-h-32 overflow-y-auto rounded-xl border border-white/10 bg-slate-950 p-2 font-mono text-[10px] leading-relaxed text-slate-300",children:lt}),(0,n.jsx)("div",{className:"mt-4 flex gap-2",children:(0,n.jsx)("button",{type:"button",onClick:()=>ll(null),className:"flex-1 rounded-xl bg-white/10 px-3 py-2 text-[11px] font-bold text-slate-300 hover:bg-white/15",children:eo.gbmEditor.exportFailed.close})})]})}),e0&&lJ&&(0,n.jsx)(eC,{stepId:lJ,copy:lQ,onNext:l0,onSkip:l1,isLastStep:tm>=ek.length-1}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col lg:flex-row px-2 lg:px-4 pb-0 lg:pb-1 gap-2 overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex shrink-0 flex-row items-start gap-1 overflow-x-auto pb-1 lg:w-[3.5rem] lg:flex-col lg:gap-1.5 lg:overflow-visible lg:pb-0 md:overflow-visible",children:[(0,n.jsx)(eE,{label:eo.gbmEditor.groups.select,children:lF?(0,n.jsx)(lX,{icon:(0,n.jsx)(g.A,{className:"w-4 h-4"}),label:ei.clearBounds.full,labelShort:ei.clearBounds.short,title:"en"===eX?"Clear area (discards data)":"zh-TW"===eX?"è§£é¤ç¯åï¼å°æ¨æ£è³æï¼":"ç¯å²è§£é¤ï¼ãã¼ã¿ãç ´æ£ï¼",variant:"danger",onClick:()=>sE(!0)}):(0,n.jsx)(lX,{icon:(0,n.jsx)(s.A,{className:"w-4 h-4"}),label:ei.select.full,labelShort:ei.select.short,active:"select"===lk,onClick:()=>lN("select")})}),(0,n.jsx)("div",{className:"mx-0.5 h-8 w-px shrink-0 self-center bg-white/10 lg:mx-0 lg:my-0.5 lg:h-px lg:w-full","aria-hidden":!0}),(0,n.jsx)(eE,{label:eo.gbmEditor.groups.draw,coachMarkId:"tool-draw",children:dI.map(e=>(0,n.jsx)(lX,{icon:e.icon,label:e.label,labelShort:e.labelShort,active:lk===e.id,disabled:e.disabled,onClick:()=>!e.disabled&&dz(e.id)},e.id))}),(0,n.jsx)("div",{className:"mx-0.5 h-8 w-px shrink-0 self-center bg-white/10 lg:mx-0 lg:my-0.5 lg:h-px lg:w-full","aria-hidden":!0}),(0,n.jsx)(eE,{label:eo.gbmEditor.groups.view,children:(0,n.jsx)("div",{className:"relative shrink-0",children:(0,n.jsx)(lX,{icon:(0,n.jsx)(b.A,{className:"w-4 h-4"}),label:ei.mapLayer.full,labelShort:ei.mapLayer.short,title:"en"===eX?"Change map appearance":"zh-TW"===eX?"è®æ´å°å樣å¼":"å°å³è¡¨ç¾ã®å¤æ´",variant:np?"active-menu":"default",onClick:dF})})}),(0,n.jsx)("div",{className:"mx-0.5 h-8 w-px shrink-0 self-center bg-white/10 lg:mx-0 lg:my-0.5 lg:h-px lg:w-full","aria-hidden":!0}),(0,n.jsxs)(eE,{label:eo.gbmEditor.groups.settings,className:"lg:mt-auto",children:[(0,n.jsx)(lX,{icon:(0,n.jsx)(p.A,{className:"w-4 h-4"}),label:ei.undo.full,labelShort:ei.undo.short,title:"en"===eX?"Undo (".concat(i5.current.length,")"):"zh-TW"===eX?"復åï¼".concat(i5.current.length,"ï¼"):"å
ã«æ»ã (".concat(i5.current.length,")"),disabled:!i3,onClick:dw,badge:i3?i5.current.length:void 0}),(0,n.jsx)(lX,{icon:(0,n.jsx)(v.A,{className:"w-4 h-4"}),label:ei.help.full,labelShort:ei.help.short,title:"en"===eX?"How to use the editor":"zh-TW"===eX?"æä½æå":"æä½ã¬ã¤ã",onClick:()=>eQ(!0)}),(0,n.jsx)(lX,{icon:(0,n.jsx)(w.A,{className:"w-4 h-4"}),label:ei.settings.full,labelShort:ei.settings.short,title:"en"===eX?"Settings panel":"zh-TW"===eX?"è¨å®é¢æ¿":"è¨å®ããã«",variant:un?"active-menu":"default",onClick:()=>ua(e=>!e)})]})]}),(0,n.jsxs)("div",{className:"flex-grow flex flex-col lg:flex-row gap-2 min-w-0 min-h-0",children:[(0,n.jsxs)("div",{className:"flex lg:hidden bg-white/5 rounded-xl p-0.5 gap-0.5 shrink-0",children:[(0,n.jsxs)("button",{onClick:()=>lS("map"),className:"flex-1 flex items-center justify-center gap-1.5 py-2 rounded-lg text-[11px] font-bold transition-all ".concat("map"===lM?"bg-amber-500 text-white shadow":"text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)(y.A,{className:"w-3.5 h-3.5"})," ",d_.map]}),(0,n.jsxs)("button",{"data-coachmark":"tab-3d",onClick:()=>
1lS("3d"),className:"flex-1 flex items-center justify-center gap-1.5 py-2 rounded-lg text-[11px] font-bold transition-all ".concat("3d"===lM?"bg-amber-500 text-white shadow":"text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)(j.A,{className:"w-3.5 h-3.5"})," 3D"]}),(0,n.jsx)("button",{onClick:()=>ua(e=>!e),className:"flex items-center justify-center gap-1.5 px-3 py-2 rounded-lg text-[11px] font-bold transition-all ".concat(un?"bg-white/10 text-white":"text-slate-400 hover:bg-white/10"),children:(0,n.jsx)(w.A,{className:"w-3.5 h-3.5"})})]}),(0,n.jsxs)("div",{className:"flex-1 flex flex-col min-w-0 min-h-0 ".concat("map"!==lM?"hidden lg:flex":""),children:[np&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-3 py-1.5 bg-slate-800/80 border border-white/5 rounded-t-xl shrink-0",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold text-cyan-400",children:"en"===eX?"Map style":"zh-TW"===eX?"å°å樣å¼":"å°å³è¡¨ç¾"}),L.e1.map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>{nm(e.id),nx(!1)},className:"rounded-lg px-2.5 py-1 text-[9px] font-bold transition-all ".concat(nh===e.id?"bg-cyan-500/25 text-cyan-200 ring-1 ring-cyan-500/40":"bg-white/5 text-slate-400 hover:bg-white/10"),children:e.label},e.id)),(0,n.jsx)("button",{type:"button",onClick:()=>nx(!1),className:"ml-auto p-1.5 rounded text-slate-400 hover:bg-white/10","aria-label":"en"===eX?"Close":"zh-TW"===eX?"éé":"éãã",children:(0,n.jsx)(g.A,{className:"w-3.5 h-3.5"})})]}),lF&&"road"===lk&&(0,n.jsxs)("div",{className:"bg-slate-800/80 border border-white/5 rounded-t-xl shrink-0 space-y-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 px-2 pt-1.5 pb-0.5 overflow-x-auto",children:[l6.filter(e=>"infra"!==e.source&&!e.id.startsWith("lg-road-")&&!e.id.startsWith("lg-rail-")).map(e=>{let t=na.filter(t=>(t.groupId||"lg-0")===e.id).length;return(0,n.jsxs)("button",{onClick:()=>oH(e.id),className:"flex items-center gap-1 px-2 py-1 rounded-lg text-[8px] font-bold transition-all shrink-0 ".concat(l7===e.id?"bg-amber-500/20 text-amber-300 border border-amber-500/30":"bg-white/5 text-slate-400 hover:bg-white/10 border border-transparent"),children:[(0,n.jsx)("span",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:e.color}}),e.name,t>0&&(0,n.jsxs)("span",{className:"text-[7px] text-slate-500",children:["(",t,")"]})]},e.id)}),(0,n.jsx)("button",{onClick:oU,title:d_.newLineGroup,className:"flex items-center justify-center w-7 h-7 rounded-lg bg-white/5 text-slate-400 hover:bg-white/10 hover:text-white transition-all shrink-0",children:(0,n.jsx)(k.A,{className:"w-3.5 h-3.5"})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 flex-wrap",children:[(0,n.jsx)("div",{className:"flex gap-0.5",children:[{type:"solid",label:d_.lineTypeSolid},{type:"dashed",label:d_.lineTypeDashed},{type:"dotted",label:d_.lineTypeDotted},{type:"dashdot",label:d_.lineTypeDashDot},{type:"railway",label:d_.lineTypeRailway},{type:"shinkansen",label:d_.lineTypeShinkansen},{type:"road",label:d_.lineTypeRoad}].map(e=>(0,n.jsx)("button",{onClick:()=>{oB(e.type),"railway"===e.type?oD(te.Ii):"shinkansen"===e.type?oD(te.Ii):"road"===e.type&&oD(te.Ii)},className:"px-2 py-1 rounded text-[8px] font-bold transition-all ".concat(oI===e.type?"bg-amber-500 text-white":"bg-white/5 text-slate-400 hover:bg-white/10"),children:e.label},e.type))}),(0,n.jsx)("div",{className:"w-px h-4 bg-white/10"}),(0,n.jsx)("div",{className:"min-w-[180px]",children:(0,n.jsx)(lq,{value:nn,onChange:oD})}),(0,n.jsx)("div",{className:"w-px h-4 bg-white/10"}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("button",{onClick:()=>sP(e=>!e),className:"flex items-center gap-1 px-2 py-1.5 bg-white/5 hover:bg-white/10 rounded-lg text-[10px] font-bold text-slate-300 transition-all",title:d_.thicknessTitle,children:[(0,n.jsx)("span",{children:d_.thicknessShort}),(0,n.jsxs)("span",{className:"font-mono text-slate-400",children:[nl.toFixed(2),"mm"]})]}),sT&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[1999]",onClick:()=>sP(!1)}),(0,n.jsxs)("div",{className:"absolute left-0 top-full mt-2 w-64 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-300",children:d_.thickness}),(0,n.jsxs)("span",{className:"text-xs font-mono text-amber-400",children:[nl.toFixed(2),"mm"]})]}),(0,n.jsx)("input",{type:"range",min:"0.42",max:"4.0",step:"0.01",value:nl,onChange:e=>oF(parseFloat(e.target.value)),className:"w-full accent-amber-400 h-3",style:{touchAction:"none"}}),(0,n.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"0.42mm"}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"2mm"}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"4mm"})]})]})]})]}),na.filter(e=>(e.groupId||"lg-0")===l7).length>0&&(0,n.jsx)("button",{onClick:()=>{let e=na.filter(e=>(e.groupId||"lg-0")===l7);e.length>0&&ce({type:"removeRoadStrokes",strokes:e}),nr(e=>e.filter(e=>(e.groupId||"lg-0")!==l7))},className:"p-1.5 rounded text-red-400 hover:bg-red-500/10",title:eW(d_.clearGroup,{name:nt.name}),children:(0,n.jsx)(N.A,{className:"w-3.5 h-3.5"})})]})]}),lF&&"heritage"===lk&&(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-slate-800/80 border border-white/5 rounded-t-xl shrink-0 flex-wrap",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold text-red-400",children:d_.symbol}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("button",{onClick:()=>nu(e=>!e),className:"flex items-center gap-1 px-2 py-1 bg-red-500/10 border border-red-500/20 rounded-lg text-[10px] font-bold text-red-300 hover:bg-red-500/20 transition-all",children:[(0,n.jsx)("span",{className:"text-sm leading-none",children:null===(e=I.r.find(e=>e.type===ni))||void 0===e?void 0:e.icon}),(0,n.jsx)("span",{children:null===(t=I.r.find(e=>e.type===ni))||void 0===t?void 0:t.label}),(0,n.jsx)(M.A,{className:"w-3 h-3 transition-transform ".concat(nd?"rotate-180":"")})]}),nd&&(0,n.jsx)("div",{"data-scrollable":!0,className:"absolute top-full left-0 mt-1 w-40 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] py-1 max-h-[min(60vh,20rem)] overflow-y-auto overscroll-contain",style:{WebkitOverflowScrolling:"touch"},children:I.r.map(e=>(0,n.jsxs)("button",{onClick:()=>{nc(e.type),nu(!1)},className:"w-full text-left px-3 py-2 text-[10px] font-bold flex items-center gap-2 transition-all ".concat(ni===e.type?"text-red-400 bg-white/5":"text-slate-400 hover:bg-white/5"),children:[(0,n.jsx)("span",{className:"text-sm w-4 text-center",children:e.icon}),(0,n.jsx)("span",{children:e.label})]},e.type))})]}),(0,n.jsx)("div",{className:"w-px h-4 bg-white/10"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-red-400",children:d_.size}),(0,n.jsx)("div",{className:"flex gap-0.5",role:"radiogroup","aria-label":d_.symbolSizeAria,children:tD().map(e=>{let{level:t,mm:l,recommended:a}=e,r=a?d_.sizeLv2:"Lv".concat(t);return(0,n.jsx)("button",{role:"radio","aria-checked":rg===t,onClick:()=>rb(t),title:eW(d_.sizeTitle,{label:r,mm:l}),className:"px-2 py-1 rounded text-[8px] font-bold transition-all ".concat(rg===t?"bg-red-500 text-white":"bg-white/5 text-slate-400 hover:bg-white/10"),children:r},t)})}),(0,n.jsx)("span",{className:"text-[9px] font-mono text-slate-400",children:eW(d_.widthApprox,{mm:rv})}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:d_.clickToPlace}),ns.length>0&&(0,n.jsx)("button",{onClick:()=>{ns.length>0&&ce({type:"removeHeritageStamps",stamps:[...ns]}),no([])},className:"p-1.5 rounded text-red-400 hover:bg-red-500/10 ml-auto",title:d_.clearAllShort,children:(0,n.jsx)(N.A,{className:"w-3.5 h-3.5"})})]}),lF&&"region"===lk&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-3 py-1.5 bg-slate-800/80 border border-yellow-500/20 rounded-t-xl shrink-0",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold text-yellow-300",children:d_.regionColorDraw}),(0,n.jsx)("span",{className:"text-[8px] text-slate-400",children:eW(d_.regionVertices,{n:is.length})}),(0,n.jsx)("button",{type:"button",disabled:!(is.length>=3),onClick:()=>im(is),className:"px-2.5 py-1 rounded-lg bg-yellow-500/90 text-[9px] font-black text-white hover:bg-yellow-500 disabled:opacity-40",children:d_.regionFinish}),(0,n.jsx)("button",{type:"button",disabled:0===is.length,onClick:()=>io(e=>e.slice(0,-1)),className:"px-2 py-1 rounded-lg bg-white/5 text-[9px] font-bold text-slate-300 hover:bg-white/10 disabled:opacity-40",children:d_.regionUndoPoint}),(0,n.jsx)("button",{type:"button",onClick:ip,className:"px-2 py-1 rounded-lg bg-white/5 text-[9px] font-bold text-slate-400 hover:bg-white/10 ml-auto",children:d_.cancel})]}),lF&&"eraser"===lk&&(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-slate-800/80 border border-white/5 rounded-t-xl shrink-0",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold text-red-400",children:eo.gbmEditor.toolbar.eraser.full}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("button",{onClick:()=>sI(e=>!e),className:"flex items-center gap-1 px-2 py-1 bg-white/5 hover:bg-white/10 rounded-lg text-[10px] font-bold text-slate-300 transition-all",title:dY.brushSizeTitle,children:[(0,n.jsx)("span",{children:dY.brushSizeShort}),(0,n.jsxs)("span",{className:"font-mono text-slate-400",children:[rx,"px"]})]}),sL&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[1999]",onClick:()=>sI(!1)}),(0,n.jsxs)("div",{className:"absolute left-0 top-full mt-2 w-64 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-300",children:dY.brushSize}),(0,n.jsxs)("span",{className:"text-xs font-mono text-red-400",children:[rx,"px"]})]}),(0,n.jsx)("input",{type:"range",min:"5",max:"100",step:"5",value:rx,onChange:e=>rf(parseInt(e.target.value)),className:"w-full accent-red-400 h-3",style:{touchAction:"none"}})]})]})]}),(0,n.jsx)("div",{className:"w-px h-4 bg-white/10"}),(0,n.jsxs)("button",{onClick:()=>rd(!0),className:"flex items-center gap-1 px-2 py-1 bg-red-500/10 border border-red-500/20 rounded-lg text-[9px] font-bold text-red-300 hover:bg-red-500/20 transition-all",children:[(0,n.jsx)(S.A,{className:"w-3 h-3"}),dY.targetsPrefix,": ",dZ.filter(e=>!!ro[e.key]).length>0?dZ.filter(e=>!!ro[e.key]).map(e=>e.label).join(dY.targetSeparator):dY.targetsNone]}),dZ.every(e=>!ro[e.key])&&(0,n.jsx)("span",{className:"text-[8px] text-amber-400 font-bold animate-pulse",children:dY.targetsPrompt}),i3&&(0,n.jsx)("button",{onClick:dw,className:"ml-auto p-2 rounded text-slate-400 hover:bg-white/10",title:d_.undo,children:(0,n.jsx)(p.A,{className:"w-4 h-4"})})]}),(0,n.jsxs)("div",{"data-coachmark":"map-panel",className:"flex-grow relative bg-slate-900 ".concat(lF&&("road"===lk||"heritage"===lk||"eraser"===lk||"region"===lk)?"rounded-b-2xl":"rounded-2xl"," overflow-hidden border border-white/5"),children:[(0,n.jsx)(V,{mapLayer:nh,locale:eX,bounds:lW,onBoundsChange:lL,selectionEnabled:"select"===lk&&!lW,onMapReady:aI,adminLine
1s:sk.enabled?cJ:void 0,adminColor:sk.color,waterMask:df,waterMaskWidth:null==at?void 0:at.width,waterMaskHeight:null==at?void 0:at.height,waterColor:eH.colors.water,culturalProperties:ij,selectionGhost:lI}),lI&&!lF&&(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-3 left-1/2 z-[500] -translate-x-1/2 rounded-full bg-amber-950/85 px-3 py-1.5 text-[10px] font-bold text-amber-100 ring-1 ring-amber-400/50 backdrop-blur-sm",children:eo.gbmEditor.selectionGhostHint}),lF&&lW&&aL&&(0,n.jsx)(ec,{mode:lk,bounds:lW,leafletMap:aL,roadWidthMm:nl,roadColor:nn,outputSizeMm:eH.outputSizeMm,roadStrokes:na,heritageStamps:ns,onRoadStrokesChange:ct,onHeritageStampsChange:cl,eraserTargets:ro,eraserWidthPx:rx,activeSymbolType:ni,symbolSizeMm:rv,onEraserStroke:dj,onBeforeErase:dk,onBeforeDraw:dk,lineType:oI,activeGroupId:l7}),lF&&lW&&aL&&(0,n.jsx)(er,{active:"region"===lk,bounds:lW,leafletMap:aL,draftPoints:is,strokeColor:it,savedOutlines:ih,onDraftPointsChange:io,onPolygonComplete:im}),d9&&(0,n.jsx)(eT,{line:d9,body:d7}),lF&&(0,n.jsxs)("div",{className:"absolute top-4 left-4 bg-black/60 backdrop-blur-sm rounded-xl px-3 py-2 text-[9px] space-y-0.5 z-[1000]",children:[(0,n.jsx)("div",{className:"font-bold text-amber-400",children:dH.selection}),dL()&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{children:["~",dL().distEW,"m \xd7 ",dL().distNS,"m"]}),(0,n.jsxs)("div",{children:["1/",dL().scale.toLocaleString()]})]}),(0,n.jsxs)("div",{className:"border-t border-white/10 pt-1 mt-1 flex items-center gap-1",children:[(0,n.jsx)("span",{className:"font-bold text-slate-300 text-[8px]",children:dH.resolution}),(0,n.jsx)("button",{onClick:()=>l3(e=>Math.max(lO.min,e-100)),className:"px-0.5 rounded hover:bg-white/20 text-slate-300",children:(0,n.jsx)(C.A,{className:"w-3 h-3"})}),(0,n.jsx)("span",{className:"font-mono w-8 text-center text-slate-200",children:l2}),(0,n.jsx)("button",{onClick:()=>l3(e=>Math.min(lO.max,e+100)),className:"px-0.5 rounded hover:bg-white/20 text-slate-300",children:(0,n.jsx)(k.A,{className:"w-3 h-3"})})]})]})]})]}),(0,n.jsx)("div",{className:"flex-1 flex flex-col min-w-0 min-h-0 ".concat("3d"!==lM?"hidden lg:flex":""),children:(0,n.jsxs)("div",{className:"relative flex-grow overflow-hidden rounded-2xl border border-white/5 bg-slate-900",children:[ue&&(0,n.jsx)(eT,{line:ue,body:ue.body}),(0,n.jsx)("div",{className:"absolute top-3 left-3 z-[1000]",children:(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsxs)("button",{onClick:()=>nC(e=>!e),className:"flex items-center gap-1 px-2 py-1 rounded-lg text-[9px] font-bold transition-all backdrop-blur-sm ".concat(nE?"bg-amber-500/20 text-amber-300 border border-amber-500/30":"bg-black/50 text-slate-300 hover:bg-black/70 border border-white/10"),children:[(0,n.jsx)(y.A,{className:"w-3 h-3"}),nE?null!==(R=null===(z=L.e1.find(e=>e.id===nE))||void 0===z?void 0:z.label)&&void 0!==R?R:dH.mapFallback:dH.mapOverlay,(0,n.jsx)(M.A,{className:"w-2.5 h-2.5"})]}),nS&&(0,n.jsxs)("div",{className:"absolute top-full left-0 mt-1 w-36 bg-slate-800 border border-white/10 rounded-xl shadow-2xl z-[2000] py-1",children:[(0,n.jsx)("button",{onClick:()=>{nT(null),nC(!1)},className:"w-full text-left px-3 py-1 text-[9px] font-bold transition-all ".concat(nE?"text-slate-400 hover:bg-white/5":"text-amber-400 bg-white/5"),children:dH.none}),L.e1.map(e=>(0,n.jsx)("button",{onClick:()=>{nT(e.id),nC(!1)},className:"w-full text-left px-3 py-1 text-[9px] font-bold transition-all ".concat(nE===e.id?"text-amber-400 bg-white/5":"text-slate-400 hover:bg-white/5"),children:e.label},e.id))]})]})}),at||an?(0,n.jsx)(lH,{locale:eq,children:(0,n.jsx)(lB,{heightfield:at,verticalScale:l4,bounds:lW,waterMask:df,seaMask:dg,seaColor:re,undergroundMask:db,undergroundColorHex:a5,roadMask:cM,infraMask:cT,waterStructureMask:cL,waterStructureColorMap:cI,heritageMask:cR,roadColorMap:cS,infraColorMap:cP,heritageColorMap:cO,overlays:dx,colors:eH.colors,isLoading:an,mapTextureData:nP,inlayDepthMm:eH.inlayDepthMm,outputSizeMm:eH.outputSizeMm,tunnelBorePaths:nJ?ck.paths:[],tunnelBoreBaseMm:nH?0:nW})}):(0,n.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-slate-500",children:[(0,n.jsx)(j.A,{className:"w-12 h-12 mb-3 opacity-30"}),(0,n.jsx)("p",{className:"text-sm font-bold",children:dH.previewTitle}),(0,n.jsx)("p",{className:"text-[10px] mt-1 opacity-60",children:dH.previewEmpty})]}),ay&&(0,n.jsx)("div",{className:"absolute inset-0 z-20 flex items-center justify-center pointer-events-none",children:(0,n.jsxs)("button",{type:"button",onClick:()=>{var e;aS(!0),null===(e=iw.current)||void 0===e||e.abort()},className:"pointer-events-auto max-w-[85%] bg-black/70 hover:bg-black/80 backdrop-blur-sm rounded-2xl px-5 py-3 flex items-center gap-3 cursor-pointer",children:[(0,n.jsx)("div",{className:"w-4 h-4 border-2 border-blue-400 border-t-transparent roun
1ded-full animate-spin shrink-0"}),(0,n.jsx)("span",{className:"text-[11px] font-bold text-blue-300 text-left",children:function(e,t){if(!e)return t.fetching;let l=function(e,t){switch(e){case"osm":return t.stageOsm;case"gsiWater":return t.stageGsiWater;case"gsiDetail":return t.stageGsiDetail;case"riverWidth":return t.stageRiverWidth;case"assemble":return t.stageAssemble;default:return null}}(e.stage,t);if(!l)return t.fetching;if(e.cached)return eW(t.fetchingCached,{stage:l});if(Number.isFinite(e.total)&&e.total>1){let n=Math.min(Math.max(0,Math.floor(e.done)),Math.floor(e.total));return eW(t.fetchingCount,{stage:l,done:eD(n),total:eD(e.total)})}return eW(t.fetchingStage,{stage:l})}(ak,eg)})]})}),cQ&&(0,n.jsx)("div",{className:"absolute inset-0 z-20 flex items-center justify-center pointer-events-none",children:(0,n.jsxs)("div",{className:"bg-black/70 backdrop-blur-sm rounded-2xl px-5 py-3 flex items-center gap-3",children:[(0,n.jsx)("div",{className:"w-4 h-4 border-2 border-purple-400 border-t-transparent rounded-full animate-spin"}),(0,n.jsx)("span",{className:"text-[11px] font-bold text-purple-300",children:dH.adminLoading})]})}),(0,n.jsx)("div",{className:"absolute bottom-3 right-3 bg-black/50 backdrop-blur-sm rounded-lg px-2 py-1.5 text-[8px] space-y-0.5 z-10 pointer-events-none hidden lg:block",children:(0,n.jsx)("div",{className:"text-slate-400",children:dH.orbitHint})}),at&&(0,n.jsxs)("div",{className:"absolute bottom-3 left-3 bg-black/60 backdrop-blur-sm rounded-lg px-2.5 py-1.5 text-[8px] space-y-0.5 z-10 pointer-events-none",children:[(0,n.jsx)("div",{className:"font-bold text-slate-300",children:dH.elevation}),(0,n.jsxs)("div",{className:"text-slate-400",children:[at.minElev.toFixed(0),"m â ",at.maxElev.toFixed(0),"m (å·®",(at.maxElev-at.minElev).toFixed(0),"m)"]})]})]})})]}),un&&(0,n.jsxs)("div",{className:"fixed lg:relative inset-0 lg:inset-auto z-[1500] lg:z-auto flex justify-end lg:block lg:self-stretch",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/40 lg:hidden",onClick:()=>ua(!1)}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"relative w-72 shrink-0 bg-slate-900 lg:bg-slate-900/50 border-l lg:border border-white/5 lg:rounded-2xl overflow-y-auto h-full max-h-screen lg:max-h-[calc(100vh-8rem)] space-y-1 p-2 pb-16",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-2 pt-1",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-500 uppercase tracking-wider",children:dH.settingsPanel}),(0,n.jsx)("button",{onClick:()=>ua(!1),className:"lg:hidden text-slate-500 hover:text-white",children:(0,n.jsx)(g.A,{className:"w-4 h-4"})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 px-2.5 py-2 lg:hidden",children:[(0,n.jsx)(u.A,{className:"w-3.5 h-3.5 text-slate-400"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-400",children:dH.verticalScale}),(0,n.jsx)("input",{type:"range",min:tB.FC,max:tB.LE,step:"0.1",value:l4,onChange:e=>l8(parseFloat(e.target.value)),className:"flex-1 accent-amber-500"}),(0,n.jsxs)("span",{className:"text-[9px] font-mono text-slate-300",children:[l4.toFixed(1),"\xd7"]})]}),(0,n.jsxs)("details",{className:"group",open:!0,children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-amber-300",children:[(0,n.jsx)(o.A,{className:"w-3.5 h-3.5"})," ",dH.lineManager,(0,n.jsx)("span",{className:"text-[7px] bg-amber-500/30 px-1 rounded",children:eW(dH.countLines,{n:cg.length})}),(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-1",children:[l6.filter(e=>"infra"!==e.source&&!e.id.startsWith("lg-road-")&&!e.id.startsWith("lg-rail-")).map(e=>{let t=na.filter(t=>(t.groupId||"lg-0")===e.id).length;return(0,n.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded-lg cursor-pointer transition-all ".concat(l7===e.id?"bg-amber-500/10 border border-amber-500/20":"hover:bg-white/5 border border-transparent"),onClick:()=>{oH(e.id),lF&&lN("road")},children:[(0,n.jsx)("span",{className:"w-3 h-3 rounded-full shrink-0 border border-white/20",style:{backgroundColor:e.color}}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200 flex-1",children:e.name}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:e.lineType}),(0,n.jsxs)("span",{className:"text-[7px] text-slate-500",children:[e.widthMm,"mm"]}),(0,n.jsx)("span",{className:"text-[8px] text-slate-400 font-mono",children:eW(dH.countLines,{n:t})}),l6.length>1&&(0,n.jsx)("button",{onClick:t=>{t.stopPropagation();let l=na.filter(t=>(t.groupId||"lg-0")===e.id);ce({type:"removeLineGroup",group:e,strokes:l}),l9(t=>t.filter(t=>t.id!==e.id)),nr(t=>t.filter(t=>(t.groupId||"lg-0")!==e.id)),l7===e.id&&ne(l6[0].id)},className:"text-red-400/60 hover:text-red-400 p-0.5",title:dH.delete,children:(0,n.jsx)(g.A,{className:"w-2.5 h-2.5"})})]},e.id)}),(0,n.jsxs)("button",{onClick:oU,className:"w-full flex items-center justify-center gap-1 py-1.5 rounded-lg bg-white/5 text-slate-400 hover:bg-white/10 hover:text-white text-[9px] font-bold transition-all",children:[(0,n.jsx)(k.A,{className:"w-3 h-3"})," ",dH.addLineGroup]})]})]}),(0,n.jsxs)("details",{className:"group",open:!0,children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-blue-300",children:[(0,n.jsx)(E.A,{className:"w-3.5 h-3.5"})," ",dH.waterTitle,(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-0.5",children:[aC&&!ay&&(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",aC]}),aM&&!ay&&(0,n.jsx)("div",{className:"text-[8px] text-slate-400 font-bold",children:ed.waterFetchCancelled}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:aZ,onChange:()=>aq(e=>
1!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:dH.sea})]}),aZ&&(0,n.jsx)("div",{className:"ml-5 pr-1",children:(0,n.jsx)(lq,{value:re,onChange:rt,compact:!0})}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:aX,onChange:()=>a$(e=>!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:dH.largeStillWater})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:aJ,onChange:()=>aQ(e=>!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:dH.smallStillWater})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:aD,onChange:()=>aB(e=>
1!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:eu.mainRiverLabel})]}),(0,n.jsx)(lZ,{label:dV.hintMore,children:eu.mainRiverHint}),aD&&aU.length>0&&(0,n.jsxs)("div",{className:"ml-5 border-t border-white/5 pt-1.5 space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1 min-w-0 text-[8px] text-slate-400 font-bold",children:[(0,n.jsx)("span",{className:"truncate min-w-0",children:eu.riverListTitle}),(0,n.jsxs)("span",{className:"text-[7px] bg-blue-500/30 px-1 rounded shrink-0",children:[aU.filter(e=>(0,eA.tY)(e.role,e.key,a_,e.wideEnough)).length,"/",aU.length]})]}),(0,n.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,n.jsx)("button",{onClick:()=>aH(aU,!0),className:"text-[8px] px-1.5 py-0.5 rounded text-blue-300 hover:text-blue-200 hover:bg-blue-500/10",children:d_.allOn}),(0,n.jsx)("span",{className:"text-[7px] text-slate-600",children:"|"}),(0,n.jsx)("button",{onClick:()=>aH(aU,!1),className:"text-[8px] px-1.5 py-0.5 rounded text-slate-400 hover:text-slate-300 hover:bg-white/5",children:d_.allOff}),(0,n.jsx)("span",{className:"text-[7px] text-slate-600",children:"|"}),(0,n.jsx)("button",{onClick:()=>aG(e=>{if(!aV)return e;let t={...e};for(let e of aU)delete t[e.key];return t}),disabled:!aV,className:"text-[8px] px-1.5 py-0.5 rounded text-slate-400 hover:text-slate-300 hover:bg-white/5 disabled:opacity-40 disabled:hover:bg-transparent",children:eu.riverListReset})]})]}),(0,n.jsx)("div",{className:"text-[8px] text-slate-500 leading-snug",children:eu.riverListNote}),(0,n.jsx)("div",{className:"max-h-40 overflow-y-auto space-y-0.5 pr-1",children:aU.map(e=>{let t=(0,eA.tY)(e.role,e.key,a_,e.wideEnough);return(0,n.jsxs)("label",{className:"flex items-center gap-1.5 py-0.5 px-1 rounded hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:t,onChange:()=>
1aH([e],!t),className:"accent-blue-500 w-3 h-3 shrink-0"}),(0,n.jsx)("span",{className:"text-[8px] truncate min-w-0 ".concat(t?"text-slate-200":"text-slate-500"),children:e.name}),e.receiver&&(0,n.jsxs)("span",{className:"text-[7px] text-slate-500 truncate min-w-0",children:["â ",e.receiver]}),e.wideEnough&&(0,n.jsxs)("span",{className:"text-[7px] text-blue-300/80 shrink-0",children:[Math.round(e.widthM),"m"]}),(0,n.jsx)("span",{className:"text-[7px] text-slate-600 ml-auto shrink-0",children:t&&e.hiddenByWidth?eu.riverListHiddenByWidth:"".concat(Math.round(e.lengthKm)," km")})]},e.key)})})]}),aT&&!ay&&(0,n.jsxs)("div",{className:"px-1.5 text-[8px] text-slate-400 font-bold leading-snug",children:["â¹ ",aT]}),aA&&!ay&&(0,n.jsxs)("div",{className:"px-1.5 text-[8px] text-slate-400 font-bold leading-snug",children:["â¹ ",aA]}),eA.aP.map(e=>{var t;let l={river:{label:eu.tributaryRiverLabel,hint:eu.tributaryRiverHint},canal:{label:eu.canalLabel,hint:eu.canalHint},stream:{label:eu.streamLabel,hint:eu.streamHint},drain:{label:eu.drainLabel,hint:eu.drainHint}}[e.kind];return(0,n.jsxs)(a.Fragment,{children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:az.has(e.kind),onChange:()=>
1c_(e.kind),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:null!==(t=null==l?void 0:l.label)&&void 0!==t?t:e.label})]}),l&&(0,n.jsx)(lZ,{label:dV.hintMore,children:l.hint})]},e.kind)}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:a0,onChange:()=>a1(e=>!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:dH.undergroundWater})]}),a0&&(0,n.jsx)("div",{className:"ml-5 pr-1",children:(0,n.jsx)(lq,{value:a5,onChange:a2,compact:!0})}),(0,n.jsx)(lZ,{label:dV.hintMore,children:dH.undergroundWaterHint}),(0,n.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1 rounded-lg hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:a3,onChange:()=>a4(e=>!e),className:"accent-blue-500 w-3 h-3"}),(0,n.jsx)("span",{className:"text-[9px] font-bold text-slate-200",children:dH.gsiDetailedWater})]}),(0,n.jsx)(lZ,{label:dV.hintMore,children:dH.gsiDetailedWaterHint}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-1.5 mt-1",children:[(0,n.jsx)("div",{className:"px-1.5 pb-0.5 text-[9px] font-bold text-slate-200",children:dH.waterColorTitle}),(0,n.jsx)("div",{className:"ml-1 pr-1",children:(0,n.jsx)(lq,{value:eI,onChange:eG,compact:!0})})]})]})]}),(0,n.jsxs)("details",{className:"group",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-amber-300",children:[(0,n.jsx)(T.A,{className:"w-3.5 h-3.5"})," ",dU.title,(()=>{let e=rP?Object.values(rP).reduce((e,t)=>(null!=e?e:0)+(null!=t?t:0),0):0,t=rQ?Object.values(rQ).reduce((e,t)=>(null!=e?e:0)+(null!=t?t:0),0):0,l=(null!=e?e:0)+(null!=t?t:0)+cF,a=cF>0?dU.countItems:dU.countLines;return l>0?(0,n.jsxs)("span",{className:"text-[7px] bg-amber-500/30 px-1 rounded",children:[l,a]}):null})(),(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-3",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-500 leading-snug",children:dU.lead}),(0,n.jsxs)("div",{className:"rounded-lg border border-white/5 bg-white/[0.015]",children:[(0,n.jsxs)("div",{className:"px-2 py-1.5 border-b border-white/5 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-black text-amber-200",children:dU.road}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"OSM `highway`"}),rP&&Object.keys(rP).length>0&&(0,n.jsx)("span",{className:"ml-auto text-[7px] text-amber-300",children:eW(dU.countLines,{n:Object.values(rP).reduce((e,t)=>(null!=e?e:0)+(null!=t?t:0),0)})})]}),(0,n.jsxs)("div",{className:"p-2 space-y-1.5",children:[tZ.map(e=>{var t,l;e.level;let a=null!==(t=rN[e.level])&&void 0!==t?t:e.defaultColor,r=rj[e.level],s=null!==(l=null==rP?void 0:rP[e.level])&&void 0!==l?l:0,o=rw.has(e.level);return(0,n.jsxs)("div",{className:"rounded-lg border transition-all ".concat(o?"border-amber-500/30 bg-amber-500/5":"border-white/5"),children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 cursor-pointer ".concat(o?"":"hover:bg-white/5"),children:[(0,n.jsx)("input",{type:"checkbox",checked:o,onChange:t=>{ry(l=>{let n=new Set(l);return t.target.checked?n.add(e.level):n.delete(e.level),n})},className:"accent-amber-500 w-3.5 h-3.5 shrink-0"}),(0,n.jsx)("span",{className:"w-3 h-3 rounded-full shrink-0",style:{backgroundColor:a}}),(0,n.jsx)("span",{className:"text-[9px] font-bold ".concat(o?"text-amber-100":"text-slate-400"),children:e.label}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500 ml-auto",children:s>0&&(0,n.jsxs)("span",{className:"text-amber-300",children:["\xb7",eW(dU.countLines,{n:s})]})})]}),(0,n.jsxs)("div",{className:"px-2.5 pb-2 space-y-1.5 ".concat(o?"":"opacity-60"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-400",children:dU.printWidth}),(0,n.jsx)(q,{value:r,min:.2,max:10,step:.1,onCommit:t=>c8(e.level,t),ariaLabel:eW(dU.printWidthAria,{label:e.label}),className:"w-14 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"mm"}),(0,n.jsxs)("div",{className:"ml-auto flex gap-0.5",children:[(0,n.jsx)("button",{onClick:()=>c8(e.level,Math.max(.2,Number((r-.1).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thinner,children:"â"}),(0,n.jsx)("button",{onClick:()=>c8(e.level,Math.min(10,Number((r+.1).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thicker,children:"ï¼"})]})]}),(0,n.jsx)(lq,{value:a,onChange:t=>c6(e.level,t),compact:!0})]})]},e.level)}),(0,n.jsx)("button",{disabled:!lW||0===rw.size,onClick:()=>
1{if(rS){var e;null===(e=rI.current)||void 0===e||e.abort()}else c4()},className:"w-full py-2 text-[10px] font-black rounded-lg ".concat(lW&&0!==rw.size?rS?"bg-amber-500/50 text-white animate-pulse":"bg-amber-500/90 text-white hover:bg-amber-500":"bg-white/5 text-slate-600"),children:rS?rW?ed.roadsFetching.replace("{done}",String(rW.done)).replace("{total}",String(rW.total)):ed.roadsFetchingShort:dU.fetchRoads}),rE&&!rS&&(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",rE]})]})]}),(0,n.jsxs)("div",{className:"rounded-lg border border-white/5 bg-white/[0.015]",children:[(0,n.jsxs)("div",{className:"px-2 py-1.5 border-b border-white/5 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-black text-sky-200",children:dU.rail}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"OSM `railway`"}),rQ&&Object.keys(rQ).length>0&&(0,n.jsx)("span",{className:"ml-auto text-[7px] text-sky-300",children:eW(dU.countLines,{n:Object.values(rQ).reduce((e,t)=>(null!=e?e:0)+(null!=t?t:0),0)})})]}),(0,n.jsxs)("div",{className:"p-2 space-y-1.5",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-500 leading-snug",children:ed.railwayEmbossHint}),t5.map(e=>{var t,l;e.cls;let a=null!==(t=rV[e.cls])&&void 0!==t?t:e.defaultColor,r=rK[e.cls],s=null!==(l=null==rQ?void 0:rQ[e.cls])&&void 0!==l?l:0,o=rU.has(e.cls);return(0,n.jsxs)("div",{className:"rounded-lg border transition-all ".concat(o?"border-sky-500/30 bg-sky-500/5":"border-white/5"),children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 cursor-pointer ".concat(o?"":"hover:bg-white/5"),children:[(0,n.jsx)("input",{type:"checkbox",checked:o,onChange:t=>{rH(l=>{let n=new Set(l);return t.target.checked?n.add(e.cls):n.delete(e.cls),n})},className:"accent-sky-500 w-3.5 h-3.5 shrink-0"}),(0,n.jsx)("span",{className:"w-3 h-3 rounded-full shrink-0",style:{backgroundColor:a}}),(0,n.jsx)("span",{className:"text-[9px] font-bold ".concat(o?"text-sky-100":"text-slate-400"),children:e.label}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500 ml-auto",children:s>0&&(0,n.jsxs)("span",{className:"text-sky-300",children:["\xb7",eW(dU.countLines,{n:s})]})})]}),(0,n.jsxs)("div",{className:"px-2.5 pb-2 space-y-1.5 ".concat(o?"":"opacity-60"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-400",children:dU.printWidth}),(0,n.jsx)(q,{value:r,min:.2,max:10,step:.1,onCommit:t=>c7(e.cls,t),ariaLabel:eW(dU.printWidthAria,{label:e.label}),className:"w-14 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"mm"}),(0,n.jsxs)("div",{className:"ml-auto flex gap-0.5",children:[(0,n.jsx)("button",{onClick:()=>c7(e.cls,Math.max(.2,Number((r-.1).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thinner,children:"â"}),(0,n.jsx)("button",{onClick:()=>c7(e.cls,Math.min(10,Number((r+.1).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thicker,children:"ï¼"})]})]}),(0,n.jsx)(lq,{value:a,onChange:t=>de(e.cls,t),compact:!0})]})]},e.cls)}),(0,n.jsxs)("div",{className:"rounded-lg border transition-all ".concat(st?"border-sky-500/30 bg-sky-500/5":"border-white/5"),children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:st,onChange:e=>sl(e.target.checked),className:"accent-sky-500 w-3 h-3 shrink-0"}),(0,n.jsx)("span",{className:"text-[9px] font-bold ".concat(st?"text-sky-200":"text-slate-400"),children:dU.platformToggle}),(sr>0||so>0)&&(0,n.jsx)("span",{className:"ml-auto text-[7px] text-slate-300",children:eW(dU.platformCounts,{platform:sr,building:so})})]}),(0,n.jsxs)("div",{className:"px-2.5 pb-2 space-y-1",children:[(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eL(dU.platformHint,{tagPlatform:"railway=platform",offset:String(s6),minMm:String(tR.F3)}).map((e,t)=>"tagPlatform"===e.key?(0,n.jsx)("code",{children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))}),(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eL(dU.stationBuildingHint,{tagBuilding:"building=train_station",offset:String(s7),hidden:dU.stationBuildingHidden}).map((e,t)=>"tagBuilding"===e.key?(0,n.jsx)("code",{children:e.text},t):"hidden"===e.key?(0,n.jsx)("strong",{className:"text-slate-400",children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))}),st&&sn>0&&(0,n.jsx)("div",{className:"text-[7px] text-amber-300/90 leading-snug",children:eW(dU.platformSynthetic,{n:sn})}),st&&sc>0&&(0,n.jsx)("div",{className:"text-[7px] text-amber-300/90 leading-snug",children:eW(dU.stationBuildingFallback,{n:sc})})]})]}),(0,n.jsx)("button",{disabled:!lW||0===rU.size,onClick:()=>
1{if(rq){var e;null===(e=r2.current)||void 0===e||e.abort()}else c9()},className:"w-full py-2 text-[10px] font-black rounded-lg ".concat(lW&&0!==rU.size?rq?"bg-sky-500/50 text-white animate-pulse":"bg-sky-500/90 text-white hover:bg-sky-500":"bg-white/5 text-slate-600"),children:rq?r1?ed.railwaysFetching.replace("{done}",String(r1.done)).replace("{total}",String(r1.total)):ed.railwaysFetchingShort:dU.fetchRails}),r$&&!rq&&(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",r$]})]})]}),(0,n.jsxs)("div",{className:"rounded-lg border border-white/5 bg-white/[0.015]",children:[(0,n.jsxs)("div",{className:"px-2 py-1.5 border-b border-white/5 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-black text-sky-200",children:dU.ferry}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"OSM `route=ferry`"}),rR>0&&(0,n.jsx)("span",{className:"ml-auto text-[7px] text-sky-300",children:eW(dU.countLines,{n:rR})})]}),(0,n.jsxs)("div",{className:"p-2 space-y-1.5",children:[(0,n.jsxs)("div",{className:"rounded-lg border transition-all ".concat(rz?"border-sky-500/30 bg-sky-500/5":"border-white/5"),children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:rz,onChange:e=>rF(e.target.checked),className:"accent-sky-500 w-3 h-3 shrink-0"}),(0,n.jsx)("span",{className:"inline-block w-3 h-3 rounded-sm border border-white/20 shrink-0",style:{backgroundColor:rD},"aria-hidden":!0}),(0,n.jsx)("span",{className:"text-[9px] font-bold ".concat(rz?"text-sky-200":"text-slate-400"),children:t3.fT.label})]}),(0,n.jsxs)("div",{className:"px-2.5 pb-2 space-y-1",children:[(0,n.jsx)("div",{className:"text-[7px] text-amber-300/90 leading-snug",children:eL(dU.ferryWarn,{tag:"route=ferry",approx:dU.ferryApprox}).map((e,t)=>"tag"===e.key?(0,n.jsx)("code",{children:e.text},t):"approx"===e.key?(0,n.jsx)("strong",{className:"text-amber-200",children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))}),(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eW(dU.ferryShapeHint,{mm:t3.fT.defaultWidthMm,diff:(t3.G6-t3.Pb).toFixed(1)})}),(0,n.jsx)(lq,{value:rD,onChange:dt,compact:!0})]})]}),(0,n.jsx)("button",{disabled:!lW||!rz,onClick:()=>{if(r3){var e;null===(e=se.current)||void 0===e||e.abort()}else dl()},className:"w-full py-2 text-[10px] font-black rounded-lg ".concat(lW&&rz?r3?"bg-sky-500/50 text-white animate-pulse":"bg-sky-500/90 text-white hover:bg-sky-500":"bg-white/5 text-slate-600"),children:r3?r9?ed.ferriesFetching.replace("{done}",String(r9.done)).replace("{total}",String(r9.total)):ed.ferriesFetchingShort:dU.fetchFerries}),r8&&!r3&&(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",r8]})]})]}),(0,n.jsxs)("div",{className:"rounded-lg border border-white/5 bg-white/[0.015]",children:[(0,n.jsxs)("div",{className:"px-2 py-1.5 border-b border-white/5 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-black text-slate-200",children:dU.waterStructure}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"GSI WStrL / WStrA"}),cF>0&&(0,n.jsx)("span",{className:"ml-auto text-[7px] text-slate-300",children:eW(dU.countItems,{n:cF})})]}),(0,n.jsxs)("div",{className:"p-2 space-y-1.5",children:[(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:ed.waterStructuresEmbossHint}),(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eW(dU.waterStructureMinHint,{minMm:t8.T0})}),t4.Ks.map(e=>{var t,l;let a=null!==(t=ox[e.level])&&void 0!==t?t:e.defaultColor,r=om[e.level],s=null!==(l=ok[e.level])&&void 0!==l?l:0,o=ou.has(e.level);return(0,n.jsxs)("div",{className:"rounded-lg border transition-all ".concat(o?"border-teal-500/30 bg-teal-500/5":"border-white/5"),children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 cursor-pointer ".concat(o?"":"hover:bg-white/5"),children:[(0,n.jsx)("input",{type:"checkbox",checked:o,onChange:t=>{oh(l=>{let n=new Set(l);return t.target.checked?n.add(e.level):n.delete(e.level),n})},className:"accent-teal-400 w-3.5 h-3.5 shrink-0"}),(0,n.jsx)("span",{className:"w-3 h-3 rounded-full shrink-0",style:{backgroundColor:a}}),(0,n.jsx)("span",{className:"text-[9px] font-bold ".concat(o?"text-teal-100":"text-slate-400"),children:e.label}),(0,n.jsxs)("span",{className:"text-[7px] text-slate-500 ml-auto",children:[s>0&&(0,n.jsxs)("span",{className:"text-teal-300",children:["\xb7",eW(dU.countItems,{n:s})]}),og&&o&&0===s&&(0,n.jsxs)("span",{className:"text-slate-500",children:["\xb7",eW(dU.countItems,{n:0})]})]})]}),(0,n.jsxs)("div",{className:"px-2.5 pb-2 space-y-1.5 ".concat(o?"":"opacity-60"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-400",children:dU.printWidth}
1),(0,n.jsx)(q,{value:r,min:.2,max:10,step:.01,onCommit:t=>da(e.level,t),ariaLabel:eW(dU.printWidthAria,{label:e.label}),className:"w-14 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"mm"}),(0,n.jsxs)("div",{className:"ml-auto flex gap-0.5",children:[(0,n.jsx)("button",{type:"button",onClick:()=>da(e.level,Math.max(.2,Number((r-.01).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thinner,children:"â"}),(0,n.jsx)("button",{type:"button",onClick:()=>da(e.level,Math.min(10,Number((r+.01).toFixed(2)))),className:"w-5 h-5 rounded bg-white/5 hover:bg-white/10 text-slate-300 text-[10px] font-bold",title:d_.thicker,children:"ï¼"})]})]}),(0,n.jsx)(lq,{value:a,onChange:t=>dr(e.level,t),compact:!0})]})]},e.level)}),(0,n.jsx)("button",{disabled:!lW||0===ou.size,onClick:()=>{if(ov){var e;null===(e=oL.current)||void 0===e||e.abort()}else dn()},className:"w-full py-2 text-[10px] font-black rounded-lg ".concat(lW&&0!==ou.size?ov?"bg-teal-500/50 text-white animate-pulse":"bg-teal-600/90 text-white hover:bg-teal-500":"bg-white/5 text-slate-600"),children:ov?oM?(oM.batches>1?ed.waterStructuresFetchingBatch:ed.waterStructuresFetching).replace("{done}",String(oM.done)).replace("{total}",String(oM.total)).replace("{batch}",String(Math.min(oM.batch+1,oM.batches))).replace("{batches}",String(oM.batches)):ed.waterStructuresFetchingShort:og?ed.refetchWaterStructures:ed.fetchWaterStructures}),oC&&!ov&&!oy&&(0,n.jsxs)("div",{className:"text-[8px] text-slate-400 font-bold",children:["â¹ ",oC]}),oy&&!ov&&(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",oy]}),ds&&!ov&&(0,n.jsxs)("div",{className:"text-[8px] text-amber-300/90 font-bold",children:["â ",ed.waterStructuresLevelsChanged]}),oA&&!ov&&(0,n.jsxs)("div",{className:"text-[8px] text-amber-300/90 font-bold",children:["â ",ed.waterStructuresUnknownCodes.replace("{codes}",Object.entries(oA).map(e=>{let[t,l]=e;return"".concat(t,"\xd7").concat(l)}).join(", "))]})]})]}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-1 text-[7px] text-slate-500 space-y-0.5",children:[(0,n.jsxs)("div",{className:"font-bold text-slate-400",children:["\uD83D\uDCD6 ",dU.dataSource]}),(0,n.jsxs)("div",{children:["OpenStreetMap via ",(0,n.jsx)("a",{href:"https://overpass-api.de/",target:"_blank",rel:"noopener",className:"text-blue-400",children:"Overpass API"}),d_.sourceRoadsRail]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("a",{href:"https://github.com/gsi-cyberjapan/optimal_bvmap",target:"_blank",rel:"noopener",className:"text-blue-400",children:d_.gsiVectorOptimized}),d_.sourceWaterStructure]})]})]})]}),(0,n.jsxs)("details",{className:"group",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-green-300",children:[(0,n.jsx)(P.A,{className:"w-3.5 h-3.5"})," ",d_.zoneTitle,(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-2",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-[8px] font-bold text-slate-400 tracking-wide",children:d_.slopeZoneTitle}),(0,n.jsx)("p",{className:"text-[7px] text-slate-500 leading-snug -mt-1",children:d_.slopeZoneHint}),(0,n.jsxs)($,{label:eW(d_.zoneFlatLabel,{max:sm.maxDeg}),accent:"green",enabled:sm.enabled,onToggleEnabled:()=>sp(e=>({...e,enabled:!e.enabled})),color:sm.color,children:[(0,n.jsxs)(J,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(Q,{type:"number",value:sm.maxDeg,min:0,max:15,step:.5,onChange:e=>{let t=Number(e.target.value);sp(e=>({...e,maxDeg:t})),sf(e=>({...e,minDeg:t}))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"\xb0"})]}),(0,n.jsx)(lq,{value:sm.color,onChange:e=>sp(t=>({...t,color:e})),compact:!0})]}),(0,n.jsxs)($,{label:eW(d_.zoneGentleLabel,{min:sx.minDeg,max:sx.maxDeg}),accent:"amber",enabled:sx.enabled,onToggleEnabled:()=>sf(e=>({...e,enabled:!e.enabled})),color:sx.color,children:[(0,n.jsxs)(J,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(Q,{type:"number",value:sx.minDeg,min:0,max:45,step:.5,onChange:e=>{let t=Number(e.target.value);
1sf(e=>({...e,minDeg:t})),sp(e=>({...e,maxDeg:t}))}}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"â"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(Q,{type:"number",value:sx.maxDeg,min:1,max:80,step:1,onChange:e=>{let t=Number(e.target.value);sf(e=>({...e,maxDeg:t})),sb(e=>({...e,minDeg:t}))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"\xb0"})]}),(0,n.jsx)(lq,{value:sx.color,onChange:e=>sf(t=>({...t,color:e})),compact:!0})]}),(0,n.jsxs)($,{label:eW(d_.zoneInclineLabel,{min:sg.minDeg,max:sg.maxDeg}),accent:"orange",enabled:sg.enabled,onToggleEnabled:()=>sb(e=>({...e,enabled:!e.enabled})),color:sg.color,children:[(0,n.jsxs)(J,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(Q,{type:"number",value:sg.minDeg,min:0,max:45,step:.5,onChange:e=>{let t=Number(e.target.value);sb(e=>({...e,minDeg:t})),sf(e=>({...e,maxDeg:t}))}}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"â"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(Q,{type:"number",value:sg.maxDeg,min:1,max:80,step:1,onChange:e=>{let t=Number(e.target.value);sb(e=>({...e,maxDeg:t})),sw(e=>({...e,minDeg:t}))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"\xb0"})]}),(0,n.jsx)(lq,{value:sg.color,onChange:e=>sb(t=>({...t,color:e})),compact:!0})]}),(0,n.jsxs)($,{label:eW(d_.zoneSteepLabel,{min:sv.minDeg,max:sv.maxDeg}),accent:"red",enabled:sv.enabled,onToggleEnabled:()=>sw(e=>({...e,enabled:!e.enabled})),color:sv.color,children:[(0,n.jsxs)(J,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(Q,{type:"number",value:sv.minDeg,min:5,max:80,step:1,onChange:e=>{let t=Number(e.target.value);sw(e=>({...e,minDeg:t})),sb(e=>({...e,maxDeg:t}))}}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"â"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(Q,{type:"number",value:sv.maxDeg,min:16,max:89,step:1,onChange:e=>{let t=Number(e.target.value);sw(e=>({...e,maxDeg:t})),sj(e=>({...e,minDeg:t}))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"\xb0"})]}),(0,n.jsx)(lq,{value:sv.color,onChange:e=>sw(t=>({...t,color:e})),compact:!0})]}),(0,n.jsxs)($,{label:eW(d_.zoneRockLabel,{min:sy.minDeg}),accent:"slate",enabled:sy.enabled,onToggleEnabled:()=>sj(e=>({...e,enabled:!e.enabled})),color:sy.color,children:[(0,n.jsxs)(J,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(Q,{type:"number",value:sy.minDeg,min:16,max:89,step:1,onChange:e=>{let t=Number(e.target.value);sj(e=>({...e,minDeg:t})),sw(e=>({...e,maxDeg:t}))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"\xb0"})]}),(0,n.jsx)(lq,{value:sy.color,onChange:e=>sj(t=>({...t,color:e})),compact:!0})]})]}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-3 space-y-2",children:[(0,n.jsx)("div",{className:"text-[8px] font-bold text-slate-400 tracking-wide",children:d_.elevZoneTitle}),(0,n.jsx)("p",{className:"text-[7px] text-slate-500 leading-snug -mt-1",children:d_.elevZoneHint}),(0,n.jsxs)($,{label:eW(d_.elevBandLabel,{min:Math.min(o2,o4),max:Math.max(o2,o4)}),accent:"orange",enabled:o7,onToggleEnabled:()=>ie(e=>!e),color:o6,children:[(0,n.jsxs)(ee,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(et,{type:"number",value:o2,onChange:e=>o3(Number(e.target.value))}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"â"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(et,{type:"number",value:o4,onChange:e=>o8(Number(e.target.value))}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"m"})]}),(0,n.jsx)(lq,{value:o6,onChange:o9,compact:!0}),(0,n.jsx)("button",{type:"button",disabled:!lW,onClick:()=>{if(!lW)return;let e=Math.min(o2,o4),t=Math.max(o2,o4);sh(l=>[...l,{...(0,el.Xi)(lW,e,t,o6),enabled:o7}])},className:"w-full py-1.5 rounded-lg bg-orange-500/80 text-white text-[8px] font-black hover:bg-orange-500 disabled:opacity-40",children:d_.addElevBand})]}),id.map(e=>(0,n.jsxs)($,{label:(0,el.m6)(e.minElevM,e.maxElevM),accent:"orange",enabled:e.enabled,onToggleEnabled:()=>sh(t=>t.map(t=>
1t.id===e.id?{...(0,el.f5)(t),enabled:!e.enabled}:t)),color:e.color,onDelete:()=>sh(t=>t.filter(t=>t.id!==e.id)),children:[(0,n.jsxs)(ee,{children:[(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.lowerBound}),(0,n.jsx)(et,{type:"number",value:e.minElevM,onChange:t=>{let l=Number(t.target.value);sh(t=>t.map(t=>t.id===e.id?{...(0,el.f5)(t),minElevM:l}:t))}}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:"â"}),(0,n.jsx)("span",{className:"text-[7px] text-slate-500",children:d_.upperBound}),(0,n.jsx)(et,{type:"number",value:e.maxElevM,onChange:t=>{let l=Number(t.target.value);sh(t=>t.map(t=>t.id===e.id?{...(0,el.f5)(t),maxElevM:l}:t))}}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"m"})]}),(0,n.jsx)(lq,{value:e.color,onChange:t=>sh(l=>l.map(l=>l.id===e.id?{...l,color:t}:l)),compact:!0})]},e.id))]}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-3 space-y-2",children:[(0,n.jsx)("div",{className:"text-[8px] font-bold text-slate-400 tracking-wide",children:d_.regionColor}),(0,n.jsx)("p",{className:"text-[7px] text-slate-500 leading-snug -mt-1",children:d_.regionColorHint}),(0,n.jsxs)($,{label:d_.regionEnclose,accent:"yellow",enabled:ia,onToggleEnabled:()=>ir(e=>!e),color:it,children:[(0,n.jsx)(lq,{value:it,onChange:il,compact:!0}),(0,n.jsx)("button",{type:"button",disabled:!lW,onClick:ix,className:"w-full py-1.5 rounded-lg text-[8px] font-black disabled:opacity-40 ".concat("region"===lk?"bg-yellow-400 text-slate-900 ring-2 ring-yellow-300":"bg-yellow-500/80 text-white hover:bg-yellow-500"),children:"region"===lk?d_.regionDrawing:d_.regionDraw})]}),(X=0,iu.map(e=>{let t=(0,ea.To)(e)?(0,ea.V9)(e,X++):(0,ea.V9)(e,0);return(0,n.jsx)($,{label:t,accent:"yellow",enabled:e.enabled,onToggleEnabled:()=>sh(t=>t.map(t=>t.id===e.id?{...(0,el.f5)(t),enabled:!e.enabled}:t)),color:e.color,onDelete:()=>sh(t=>t.filter(t=>t.id!==e.id)),children:(0,n.jsx)(lq,{value:e.color,onChange:t=>sh(l=>l.map(l=>l.id===e.id?{...l,color:t}:l)),compact:!0})},e.id)})),(0,n.jsxs)("details",{className:"rounded-lg border border-white/5 bg-white/[0.02] px-2 py-1.5",children:[(0,n.jsx)("summary",{className:"text-[8px] font-bold text-slate-500 cursor-pointer select-none",children:d_.wholeMapOneColor}),(0,n.jsx)("div",{className:"pt-2 space-y-1.5",children:(0,n.jsx)("button",{type:"button",disabled:!lW,onClick:()=>{lW&&sh(e=>[...e,{...(0,el.MF)(lW,it),enabled:ia}])},className:"w-full py-1 rounded-lg bg-white/10 text-[8px] font-bold text-slate-300 hover:bg-white/15 disabled:opacity-40",children:d_.applyWhole})})]})]})]})]}),(0,n.jsxs)("details",{className:"group",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-purple-300",children:[(0,n.jsx)(A.A,{className:"w-3.5 h-3.5"})," ",d_.adminTitle,cZ.length>0&&(0,n.jsxs)("span",{className:"text-[7px] bg-purple-500/30 px-1 rounded",children:[cZ.filter(e=>e.enabled).length,"/",cZ.length]}),(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] text-slate-400",children:d_.lineWidth}),(0,n.jsx)("input",{type:"number",value:sk.lineWidthMm,min:.2,max:3,step:.1,onChange:e=>sN(t=>{let l=Number(e.target.value);return{...t,lineWidthMm:Number.isFinite(l)?Math.max(.2,Math.min(3,l)):.4}}),className:"w-12 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10"}),(0,n.jsx)("span",{className:"text-[8px] text-slate-500",children:"mm"})]}),(0,n.jsx)(lq,{value:sk.color,onChange:e=>sN(t=>({...t,color:e})),compact:!0}),(0,n.jsx)("button",{onClick:()=>sN(e=>({...e,enabled:!e.enabled})),className:"w-full py-1 text-[9px] font-bold rounded-lg ".concat(sk.enabled?"bg-red-500/80 text-white":"bg-purple-500/80 text-white"),children:sk.enabled?d_.disable:d_.enable}),(0,n.jsxs)("label",{className:"flex items-start gap-1.5 py-0.5 px-1 rounded hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:!0===sk.includeSea,onChange:()=>sN(e=>({...e,includeSea:!0!==e.includeSea})),className:"accent-purple-500 w-3 h-3 shrink-0 mt-0.5"}),(0,n.jsxs)("span",{className:"min-w-0",children:[(0,n.jsx)("span",{className:"block text-[8px] text-slate-200",children:d_.adminIncludeSea}),(0,n.jsx)("span",{className:"block text-[7px] text-slate-500 leading-snug",children:d_.adminIncludeSeaHint})]})]}),cQ&&(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-[8px] text-purple-300 animate-pulse",children:[(0,n.jsx)("div",{className:"w-3 h-3 border-2 border-purple-400 border-t-transparent roun
1ded-full animate-spin"}),d_.adminQuerying]}),c1&&!cQ&&(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"text-[8px] text-red-400 font-bold",children:["â ",c1]}),(0,n.jsx)("button",{onClick:()=>c3(),className:"w-full py-1 text-[8px] font-bold rounded-lg bg-purple-500/60 text-white hover:bg-purple-500/80 transition-all",children:d_.refetch})]}),sk.enabled&&!cQ&&!c1&&0===cZ.length&&(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-400",children:d_.notFound}),(0,n.jsx)("button",{onClick:()=>c3(),className:"w-full py-1 text-[8px] font-bold rounded-lg bg-purple-500/60 text-white hover:bg-purple-500/80 transition-all",children:d_.refetch})]}),sk.enabled&&cZ.length>0&&(0,n.jsxs)("div",{className:"border-t border-white/5 pt-1.5 space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[8px] text-slate-400 font-bold",children:d_.shownDivisions}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)("button",{onClick:()=>cq(e=>e.map(e=>({...e,enabled:!0}))),className:"text-[8px] px-1.5 py-0.5 rounded text-purple-300 hover:text-purple-200 hover:bg-purple-500/10",children:d_.allOn}),(0,n.jsx)("span",{className:"text-[7px] text-slate-600",children:"|"}),(0,n.jsx)("button",{onClick:()=>cq(e=>e.map(e=>({...e,enabled:!1}))),className:"text-[8px] px-1.5 py-0.5 rounded text-slate-400 hover:text-slate-300 hover:bg-white/5",children:d_.allOff})]})]}),(0,n.jsx)("div",{className:"max-h-40 overflow-y-auto space-y-0.5 pr-1",children:cZ.map(e=>(0,n.jsxs)("label",{className:"flex items-center gap-1.5 py-0.5 px-1 rounded hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:()=>cq(t=>t.map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t)),className:"accent-purple-500 w-3 h-3 shrink-0"}),(0,n.jsx)("span",{className:"text-[8px] truncate ".concat(e.enabled?"text-slate-200":"text-slate-500"),children:e.name}),(0,n.jsxs)("span",{className:"text-[7px] text-slate-600 ml-auto shrink-0",children:["L",e.adminLevel]})]},e.id))})]})]})]}),(0,n.jsxs)("details",{className:"group",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-orange-300",children:[(0,n.jsx)(P.A,{className:"w-3.5 h-3.5"})," ",dK.title,(0!==sz||0!==sD||oo||0!==sR||0!==s_||0!==ot||0!==sU||0!==sK)&&(0,n.jsx)("span",{className:"text-[7px] bg-orange-500/30 px-1 rounded",children:"ON"}),(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-2",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-500",children:eL(dK.lead,{railBase:dK.railBaseTerm,platform:String(s6),station:String(s7)}).map((e,t)=>"railBase"===e.key?(0,n.jsx)("span",{className:"text-amber-300/90",children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))}),(0,n.jsxs)("button",{onClick:()=>{sF(-.2),sZ("flat"),sB(th.dj),sX("flat"),s8((0,th.Nd)()),sO(tR.Ad),sG(.6),sJ("round"),l9(e=>e.map(e=>(0,to.fE)(e)?{...e,extrudeOverride:void 0}:e)),sH(1.2),s0("flat"),s3(!0),sY(.2),s5("flat"),ol(.2),oa(!0),rG(t3.G6),s9(th.Jd),oe(th.nH),sl(!0),aq(!0),a$(!0),aQ(!0)},className:"w-full flex items-center justify-center gap-1.5 py-1.5 px-3 rounded-lg bg-amber-500/15 border border-amber-500/30 text-amber-200 text-[9px] font-black hover:bg-amber-500/25 transition-colors",children:[(0,n.jsx)(P.A,{className:"w-3 h-3"}),dK.recommendedButton]}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg px-1 py-0.5 ".concat(oO?"ring-1 ring-amber-400/35 bg-amber-500/5":""),children:[(0,n.jsx)("span",{className:"text-[9px] font-bold w-16 shrink-0 text-yellow-300",children:dK.rowUserLine}),(0,n.jsxs)("select",{value:s_,onChange:e=>sG(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border flex-1 min-w-0 ".concat(oO?"border-amber-400/30 opacity-90":"border-white/10"),title:oO?dK.lineTitleOverride:dK.lineTitleDefault,children:[dB.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value)),dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))]}),(0,n.jsx)("button",{onClick:()=>sJ("flat"===s$?"round":"flat"),className:"shrink-0 px-1.5 py-0.5 rounded text-[7px] font-bold border ".concat("flat"===s$?"bg-orange-500/20 text-orange-200 border-orange-400/30":"bg-sky-500/20 text-sky-200 border-sky-400/30"),children:"flat"===s$?"â¬":"â"})]}),oO&&(0,n.jsx)("div",{className:"ml-[68px] text-[7px] text-amber-300/90 leading-snug",children:dK.lineOverrideNotice}),oR.length>0&&(0,n.jsx)("div",{className:"ml-3 pl-2 border-l border-yellow-500/25 space-y-1",children:oR.map(e=>{let t=(0,to.GJ)(e),l=(0,to.BZ)(e,s_,s$),a=na.filter(t=>(t.groupId||"lg-0")===e.id).length;return(0,n.jsx)("div",{className:"space-y-0.5 rounded-md px-1 py-0.5 ".concat(t?"bg-yellow-500/10 ring-1 ring-yellow-400/35":""),children:(0,n.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,n.jsxs)("span",{className:"text-[8px] font-bold w-14 shrink-0 truncate ".concat(t?"text-yellow-200":"text-slate-400"),title:e.name,children:[e.name,a>0?" (".concat(a,")"):""]}),(0,n.jsxs)("select",{value:l.mm,onChange:t=>o_(e.id,Number(t.target.value),l.profile),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",children:[dB.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value)),dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))]}),(0,n.jsx)("button",{onClick:()=>o_(e.id,l.mm,"flat"===l.profile?"round":"flat"),className:"shrink-0 px-1.5 py-0.5 rounded text-[7px] font-bold border ".concat("flat"===l.profile?"bg-
1orange-500/20 text-orange-200 border-orange-400/30":"bg-sky-500/20 text-sky-200 border-sky-400/30"),children:"flat"===l.profile?"â¬":"â"}),t&&(0,n.jsx)("button",{type:"button",onClick:()=>oG(e.id),className:"shrink-0 text-[7px] font-bold text-amber-300 hover:text-amber-200 px-1",children:dK.backToParent})]})},e.id)})})]}),[{key:"water",label:dK.rowWater,value:sz,set:sF,prof:sV,setProf:sZ,color:"text-blue-300",allowRecess:!0}].map(e=>(0,n.jsx)("div",{className:"space-y-1",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold w-16 shrink-0 ".concat(e.color),children:e.label}),(0,n.jsxs)("select",{value:e.value,onChange:t=>e.set(Number(t.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",children:[e.allowRecess&&dB.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value)),dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))]}),(0,n.jsx)("button",{onClick:()=>e.setProf("flat"===e.prof?"round":"flat"),className:"shrink-0 px-1.5 py-0.5 rounded text-[7px] font-bold border ".concat("flat"===e.prof?"bg-orange-500/20 text-orange-200 border-orange-400/30":"bg-sky-500/20 text-sky-200 border-sky-400/30"),title:"flat"===e.prof?dK.profileFlat:dK.profileRound,children:"flat"===e.prof?"â¬":"â"})]})},e.key)),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg px-1 py-0.5 ".concat(oo?"ring-1 ring-amber-400/35 bg-amber-500/5":""),children:[(0,n.jsx)("span",{className:"text-[9px] font-bold w-16 shrink-0 text-amber-300",children:dK.rowInfra}),(0,n.jsx)("select",{value:sD,onChange:e=>sB(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border flex-1 min-w-0 ".concat(oo?"border-amber-400/30 opacity-90":"border-white/10"),title:oo?dK.infraTitleOverride:dK.infraTitleDefault,children:th.Cp.map(e=>(0,n.jsx)("option",{value:e,children:(0,th.Fc)(e)},e))}),(0,n.jsx)("button",{onClick:()=>sX("flat"===sq?"round":"flat"),className:"shrink-0 px-1.5 py-0.5 rounded text-[7px] font-bold border ".concat("flat"===sq?"bg-orange-500/20 text-orange-200 border-orange-400/30":"bg-sky-500/20 text-sky-200 border-sky-400/30"),title:"flat"===sq?dK.profileFlat:dK.profileRound,children:"flat"===sq?"â¬":"â"})]}),oo&&(0,n.jsx)("div",{className:"ml-[68px] text-[7px] text-amber-300/90 leading-snug",children:eW(dK.infraOverrideNotice,{n:os})}),(0,n.jsxs)("div",{className:"ml-3 pl-2 border-l border-amber-500/25 space-y-1",children:[(0,n.jsxs)("details",{children:[(0,n.jsxs)("summary",{className:"flex items-center gap-1.5 py-0.5 cursor-pointer text-[8px] font-bold text-amber-200/90 hover:text-amber-100",children:[dK.levelTuning,oo&&(0,n.jsx)("span",{className:"text-[7px] bg-amber-500/30 px-1 rounded",children:os})]}),(0,n.jsxs)("div",{className:"pt-1 space-y-1",children:[(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eW(dK.levelTuningHint,{mm:sD})}),tZ.map(e=>{let t=s4.road[e.level],l=void 0!==t;return(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-1 py-0.5 ".concat(l?"bg-amber-500/10 ring-1 ring-amber-400/35":""),children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-24 shrink-0 truncate ".concat(l?"text-amber-200":"text-slate-400"),title:eW(d_.roadLevelTitle,{label:e.label}),children:eW(dK.roadPrefix,{label:e.label})}),(0,n.jsxs)("select",{value:l?String(t):"",onChange:t=>oi(e.level,""===t.target.value?null:Number(t.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",children:[(0,n.jsx)("option",{value:"",children:eW(dK.followInfra,{mm:sD})}),th.Cp.map(e=>(0,n.jsx)("option",{value:e,children:(0,th.Fc)(e)},e))]})]},e.level)}),t5.map(e=>{let t=s4.rail[e.cls],l=void 0!==t,a="passenger"===e.cls;return(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-1 py-0.5 ".concat(l?"bg-amber-500/10 ring-1 ring-amber-400/35":""),children:[(0,n.jsxs)("span",{className:"text-[8px] font-bold w-24 shrink-0 truncate ".concat(l?"text-amber-200":"text-slate-400"),title:a?eW(dK.railStationBaseTitle,{label:e.label}):eW(dK.railPrefix,{label:e.label}),children:[eW(dK.railPrefix,{label:e.label}),a?dK.railStationBaseSuffix:""]}
1),(0,n.jsxs)("select",{value:l?String(t):"",onChange:t=>oc(e.cls,""===t.target.value?null:Number(t.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",children:[(0,n.jsx)("option",{value:"",children:eW(dK.followInfra,{mm:sD})}),th.Cp.map(e=>(0,n.jsx)("option",{value:e,children:(0,th.Fc)(e)},e))]})]},e.cls)}),oo&&(0,n.jsx)("button",{type:"button",onClick:od,className:"w-full text-[7px] font-bold text-amber-300 hover:text-amber-200 py-1 rounded border border-amber-500/25 hover:bg-amber-500/10",children:dK.followAllInfra}),(0,n.jsx)("div",{className:"pt-1 text-[7px] text-slate-500 leading-snug",children:eL(dK.stationBaseNote,{railBase:dK.railBaseTerm,mm:(0,th.LH)((0,tR.dj)("lg-rail-passenger",sD,sR,or))}).map((e,t)=>"railBase"===e.key?(0,n.jsx)("span",{className:"text-amber-300/90",children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-14 shrink-0 text-amber-200/90",children:dK.rowPlatform}),(0,n.jsx)("select",{value:s6,onChange:e=>s9(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",title:dK.platformTitle,children:th.wt.map(e=>(0,n.jsx)("option",{value:e,children:(0,th.dy)(e,th.Jd)},e))}),(0,n.jsxs)("span",{className:"shrink-0 text-[7px] text-slate-500 tabular-nums",children:["= ",(0,th.LH)((0,tR.dj)(tR.qN,sD,sR,or)),"mm"]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-14 shrink-0 text-amber-200/90",children:dK.rowStationBuilding}),(0,n.jsx)("select",{value:s7,onChange:e=>oe(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",title:dK.stationBuildingTitle,children:th.QS.map(e=>(0,n.jsx)("option",{value:e,children:(0,th.dy)(e,th.nH)},e))}),(0,n.jsxs)("span",{className:"shrink-0 text-[7px] text-slate-500 tabular-nums",children:["= ",(0,th.LH)((0,tR.dj)(tR.Om,sD,sR,or)),"mm"]})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-14 shrink-0 text-amber-200/90",children:dK.rowTunnel}),(0,n.jsx)("select",{value:sR,onChange:e=>sO(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",title:dK.tunnelTitle,children:dO.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:dK.tunnelNote}),(0,n.jsxs)("div",{className:"mt-2 rounded-xl bg-sky-500/10 ring-1 ring-sky-400/20 p-2 space-y-2",children:[(0,n.jsxs)("label",{className:"flex items-center gap-2 text-[8px] font-bold text-sky-100",children:[(0,n.jsx)("input",{type:"checkbox",checked:nJ,onChange:e=>nQ(e.target.checked),className:"accent-sky-400"}),(0,n.jsx)("span",{children:ed.tunnelBoreTitle})]}),(0,n.jsxs)("label",{className:"space-y-1 block",children:[(0,n.jsx)("span",{className:"block text-[7px] text-slate-400 font-bold",children:ed.tunnelBoreFlareLabel}),(0,n.jsxs)("select",{value:n0,onChange:e=>n1(Number(e.target.value)),className:"w-full bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10",disabled:!nJ,children:[(0,n.jsx)("option",{value:1,children:dK.flareNone}),(0,n.jsx)("option",{value:1.2,children:dK.flareMild}),(0,n.jsx)("option",{value:1.4,children:dK.flareStandard})]})]}),(0,n.jsx)("div",{className:"text-[7px] text-slate-400 leading-snug",children:ed.tunnelBoreHint}),nJ&&ck.warnings.length>0&&(0,n.jsx)("div",{className:"space-y-1",children:ck.warnings.slice(0,4).map((e,t)=>{var l,a,r,s,o,i,c,d,u;return(0,n.jsx)("div",{className:"text-[7px] font-bold leading-snug ".concat("error"===e.severity?"text-red-300":"warning"===e.severity?"text-amber-300":"text-sky-300"),children:"too_thin"===e.code?eW(null!==(a=ed.tunnelBoreWarningTooThin)&&void 0!==a?a:e.message,{diameter:null===(l=e.diameterMm)||void 0===l?void 0:l.toFixed(2)}):"bottom_break"===e.code?eW(null!==(s=ed.tunnelBoreWarningBottomBreak)&&void 0!==s?s:e.message,{deficit:null===(r=e.deficitMm)||void 0===r?void 0:r.toFixed(2),base:e.suggestedBaseMm}):"surface_clamped"===e.code?null!==(o=ed.tunnelBoreWarningSurfaceClamped)&&void 0!==o?o:e.message:"no_tunnels"===e.code?null!==(i=ed.tunnelBoreWarningNoTunnels)&&void 0!==i?i:e.message:"mouth_too_small"===e.code?eW(null!==(d=ed.tunnelBoreWarningMouthTooSmall)&&void 0!==d?d:e.message,{diameter:null===(c=e.diameterMm)||void 0===c?void 0:c.toFixed(2)}):"sealed_void"===e.code&&null!==(u=ed.tunnelBoreWarningSealedVoid)&&void 0!==u?u:e.message},"".concat(e.code,"-").concat(t))})}),nJ&&n5&&(0,n.jsx)("div",{className:"text-[7px] font-bold leading-snug text-red-300",children:n5})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-14 shrink-0 text-teal-200/90",children:dK.rowWaterStructure}),(0,n.jsx)("select",{value:ot,onChange:e=>ol(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",title:dK.waterStructureTitle,children:dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 px-1 py-0.5 rounded hover:bg-white/5 cursor-pointer border border-white/5",children:[(0,n.jsx)("input",{type:"checkbox",checked:on,onChange:e=>oa(e.target.checked),className:"accent-teal-400 w-3.5 h-3.5 shrink-0"}),(0,n.jsx)("span",{className:"text-[7px] font-bold text-teal-200/90 leading-snug",children:dK.peakAlign})]}),(rz||rR>0)&&(0,n.jsxs)("div",{className:"space-y-1 pt-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[8px] font-bold w-14 shrink-0 text-sky-200/90",children:dK.rowFerry}),(0,n.jsx)("select",{value:r_,onChange:e=>rG(Number(e.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",title:dK.ferryTitle,children:dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,n.jsx)("div",{className:"text-[7px] text-slate-500 leading-snug",children:eL(dU.ferryExtrudeHint,{flush:dU.ferryFlush,water:String(t3.Pb),diff:(t3.G6-t3.Pb).toFixed(1)}).map((e,t)=>"flush"===e.key?(0,n.jsx)("strong",{className:"text-slate-400",children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))})]})]})]}),[{key:"heritage",label:dK.rowHeritage,value:sU,set:sH,prof:sQ,setProf:s0,color:"text-red-300",allowRecess:!0}
1,{key:"admin",label:dK.rowAdmin,value:sK,set:sY,prof:s1,setProf:s5,color:"text-purple-300",allowRecess:!0}].map(e=>(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] font-bold w-16 shrink-0 ".concat(e.color),children:e.label}),(0,n.jsxs)("select",{value:e.value,onChange:t=>e.set(Number(t.target.value)),className:"bg-slate-700 text-[9px] text-slate-200 rounded px-2 py-1 border border-white/10 flex-1 min-w-0",children:[e.allowRecess&&dB.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value)),dR.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value)),"heritage"===e.key&&(0,n.jsx)("option",{value:1.2,children:d_.raise12})]}),(0,n.jsx)("button",{onClick:()=>e.setProf("flat"===e.prof?"round":"flat"),className:"shrink-0 px-1.5 py-0.5 rounded text-[7px] font-bold border ".concat("flat"===e.prof?"bg-orange-500/20 text-orange-200 border-orange-400/30":"bg-sky-500/20 text-sky-200 border-sky-400/30"),children:"flat"===e.prof?"â¬":"â"})]}),"heritage"===e.key&&(0,n.jsxs)("label",{className:"ml-[68px] flex items-center gap-1.5 px-2 py-1 rounded hover:bg-white/5 cursor-pointer border border-white/5",children:[(0,n.jsx)("input",{type:"checkbox",checked:s2,onChange:e=>s3(e.target.checked),className:"accent-red-500 w-3.5 h-3.5"}),(0,n.jsx)("span",{className:"text-[8px] font-bold text-red-200",children:d_.heritagePeakAlign})]})]},e.key)),(0,n.jsx)("div",{className:"text-[7px] text-slate-600",children:d_.simCheckNote})]})]}),(0,n.jsxs)("details",{className:"group",children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 px-2.5 py-2 rounded-xl cursor-pointer list-none bg-white/[0.04] ring-1 ring-inset ring-white/12 hover:bg-white/[0.08] hover:ring-white/20 transition-colors text-[10px] font-bold [&::-webkit-details-marker]:hidden text-rose-300",children:[(0,n.jsx)(W.A,{className:"w-3.5 h-3.5"})," ",dG.title,ij.length>0&&(0,n.jsx)("span",{className:"text-[7px] bg-rose-500/30 px-1 rounded",children:ij.length}),(0,n.jsx)(M.A,{className:"w-3 h-3 ml-auto opacity-50 group-open:rotate-180 transition-transform shrink-0"})]}),(0,n.jsxs)("div",{className:"px-2 pb-2 space-y-2",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-500",children:dG.subtitle}),(0,n.jsx)("button",{disabled:!lW||iN||iZ||iX,onClick:async()=>{var e,t,l;if(!lW)return;let n=[],a=0;iF(null),iM(!0),null===(e=iI.current)||void 0===e||e.abort();let r=new AbortController;iI.current=r;try{let e=await O(lW,r.signal);ik(t=>[...e,...t.filter(e=>"manual"===e.source)]),a+=e.length}catch(e){n.push(e),(null==e?void 0:e.name)!=="AbortError"&&console.error(e)}finally{iM(!1)}if(iO){iq(!0),null===(t=iJ.current)||void 0===t||t.abort();let e=new AbortController;iJ.current=e;try{let t=await G(lW,e.signal);iK(t),a+=t.length}catch(e){n.push(e),(null==e?void 0:e.name)!=="AbortError"&&console.error(e)}finally{iq(!1)}}else iK([]);if(iG){i$(!0),null===(l=iQ.current)||void 0===l||l.abort();let e=new AbortController;iQ.current=e;try{let t=await U(lW,e.signal);iV(t),a+=t.length}catch(e){n.push(e),(null==e?void 0:e.name)!=="AbortError"&&console.error(e)}finally{i$(!1)}}else iV([]);iF(eB({errors:n,count:a},eb))},className:"w-full py-2 text-[10px] font-black rounded-lg ".concat(lW?iN||iZ||iX?"bg-rose-500/50 text-white animate-pulse":"bg-rose-500/90 text-white hover:bg-rose-500":"bg-white/5 text-slate-600"),children:iN||iZ||iX?dG.fetching:dG.autoFetch}),iz&&!(iN||iZ||iX)&&(0,n.jsxs)("div",{className:"text-[8px] font-bold ".concat("error"===iz.level?"text-red-400":"text-slate-400"),children:["error"===iz.level?"â ":"",iz.message]}),(0,n.jsx)("div",{className:"text-[8px] text-slate-400 px-1",children:dG.defaultTargets}),(0,n.jsxs)("div",{className:"space-y-0.5 border-t border-white/5 pt-1.5",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-500 font-bold mb-0.5",children:dG.extraOptions}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 px-2 py-1 rounded hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:iO,onChange:e=>i_(e.target.checked),className:"accent-amber-500 w-3.5 h-3.5"}),(0,n.jsx)("span",{className:"text-[8px] font-bold text-amber-200",children:dG.
1shrines})]}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 px-2 py-1 rounded hover:bg-white/5 cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:iG,onChange:e=>iU(e.target.checked),className:"accent-violet-500 w-3.5 h-3.5"}),(0,n.jsx)("span",{className:"text-[8px] font-bold text-violet-200",children:dG.temples})]})]}),(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-white/5 px-2 py-1.5 space-y-1",children:[(0,n.jsx)("div",{className:"text-[7px] font-bold text-slate-300",children:dG.criteriaTitle}),(0,n.jsx)("div",{className:"text-[7px] text-amber-200 leading-snug",children:dG.shrineCriteria}),(0,n.jsx)("div",{className:"text-[7px] text-violet-200 leading-snug",children:dG.templeCriteria})]}),ij.some(e=>"wikidata"===e.source)&&(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-[8px] text-slate-400 font-bold",children:[dG.autoGroup," ",eW(dG.countItems,{n:ij.filter(e=>"wikidata"===e.source).length})]}),(0,n.jsx)("button",{onClick:()=>ik(e=>e.filter(e=>"manual"===e.source)),className:"text-[8px] px-1.5 py-0.5 rounded text-red-400 hover:bg-red-500/10",children:dG.clearAuto})]}),(0,n.jsx)("div",{className:"max-h-32 overflow-y-auto space-y-0.5 pr-0.5",children:ij.filter(e=>"wikidata"===e.source).map(e=>{let t=B[e.grade];return(0,n.jsxs)("div",{className:"flex items-start gap-1.5 text-[8px] py-0.5",children:[(0,n.jsx)("div",{className:"w-2 h-2 rounded-full mt-0.5 shrink-0",style:{backgroundColor:t.color}}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"font-bold text-slate-200 truncate",children:e.name}),(0,n.jsx)("div",{style:{color:t.color},className:"font-bold",children:t.label})]})]},e.id)})})]}),ij.some(e=>"manual"===e.source)&&(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-[8px] text-slate-400 font-bold",children:[dG.manualGroup," ",eW(dG.countItems,{n:ij.filter(e=>"manual"===e.source).length})]}),(0,n.jsx)("button",{onClick:()=>ik(e=>e.filter(e=>"manual"!==e.source)),className:"text-[8px] px-1.5 py-0.5 rounded text-red-400 hover:bg-red-500/10",children:dG.clearManual})]}),(0,n.jsx)("div",{className:"max-h-24 overflow-y-auto space-y-0.5 pr-0.5",children:ij.filter(e=>"manual"===e.source).map(e=>{let t=B[e.grade];return(0,n.jsxs)("div",{className:"flex items-start gap-1.5 text-[8px] py-0.5",children:[(0,n.jsx)("div",{className:"w-2 h-2 rounded-full mt-0.5 shrink-0 ring-1 ring-white/30",style:{backgroundColor:t.color}}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"font-bold text-slate-200 truncate",children:e.name}),(0,n.jsx)("div",{style:{color:t.color},className:"font-bold",children:t.label})]})]},e.id)})})]}),ij.length>0&&(0,n.jsx)("button",{onClick:()=>ik([]),className:"w-full text-[8px] px-1.5 py-0.5 rounded text-red-400 hover:bg-red-500/10 border border-red-500/20",children:dG.clearAll}),iH.length>0&&(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-[8px] text-amber-300 font-bold",children:[dG.shrineResults," ",eW(dG.countItems,{n:iH.length})]}),(0,n.jsx)("button",{onClick:()=>iK([]),className:"text-[8px] px-1.5 py-0.5 rounded text-red-400 hover:bg-red-500/10",children:dG.clear})]}),(0,n.jsx)("div",{className:"max-h-32 overflow-y-auto space-y-0.5 pr-0.5",children:iH.map(e=>(0,n.jsxs)("div",{className:"flex items-start gap-1.5 text-[8px] py-0.5",children:[(0,n.jsx)("div",{className:"w-2 h-2 rounded-full mt-0.5 shrink-0 bg-amber-500"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"font-bold text-slate-200 truncate",children:e.name}),(0,n.jsx)("div",{className:"text-amber-400 font-bold",children:e.category})]})]},e.id))})]}),iY.length>0&&(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-[8px] text-violet-300 font-bold",children:[dG.templeResults," ",eW(dG.countItems,{n:iY.length})]}),(0,n.jsx)("button",{onClick:()=>iV([]),className:"text-[8px] px-1.5 py-0.5 rounded text-red-400 hover:bg-red-500/10",children:dG.clear})]}),(0,n.jsx)("div",{className:"max-h-32 overflow-y-auto space-y-0.5 pr-0.5",children:iY.map(e=>(0,n.jsxs)("div",{className:"flex items-start gap-1.5 text-[8px] py-0.5",children:[(0,n.jsx)("div",{className:"w-2 h-2 rounded-full mt-0.5 shrink-0 bg-violet-500"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"font-bold text-slate-200 truncate",children:e.name}),(0,n.jsx)("div",{className:"text-violet-400 font-bold",children:e.category})]})]},e.id))})]}),(0,n.jsx)("div",{className:"grid grid-cols-2 gap-x-1 gap-y-0.5",children:Object.entries(B).filter(e=>{let[t]=e;return"other"!==t}).map(e=>{let[t,l]=e;return(0,n.jsxs)("div",{className:"flex items-center gap-1 text-[7px]",children:[(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:l.color}}),(0,n.jsx)("span",{className:"text-slate-400",children:l.label})]},t)})}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-1.5 space-y-1",children:[(0,n.jsx)("div",{className:"text-[8px] text-slate-400 font-bold",children:dG.manualGroup}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)("input",{type:"text",value:iE,onChange:e=>iT(e.target.value),onKeyDown:e=>{"Enter"===e.key&&iR()},placeholder:dG.searchPlaceholder,className:"flex-1 px-1.5 py-0.5 bg-slate-700 rounded text-[9px] text-white border border-white/10 placeholder:text-slate-600"}),(0,n.jsx)("button",{disabled:!iE.trim()||iW,onClick:()=>iR(),className:"px-2.5 py-1 bg-rose-500/80 text-white text-[8px] font-bold rounded disabled:opacity-50",children:iW?dG.searching:dG.search})]}),iD&&!iW&&(0,n.jsxs)("div",{className:"text-[8px] font-bold ".concat("error"===iD.level?"text-red-400":"text-slate-400"),children:["error"===iD.level?"â ":"",iD.message]}),iP.map((e,t)=>(0,n.jsxs)("div",{className:"flex items-start gap-1 text-[8px] py-0.5",children:[(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsx)("div",{className:"text-slate-300 truncate",children:e.displayName})}),(0,n.jsx)("button",{onClick:()=>{var t;let l=(null===(t=e.displayName.split(",")[0])||void 0===t?void 0:t.trim())||iE.trim();ik(t=>{var n,a;return[...t,(n=e.lat,a=e.lng,{id:"manual-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,7)),name:l,grade:"manual_search",gradeLabel:B.manual_search.label,lat:n,lng:a,source:"manual"})]}),iA([]),iT("")},className:"shrink-0 px-2 py-1 bg-green-600/80 text-white text-[8px] font-bold rounded hover:bg-green-600",children:dG.add})]},t))]}),(0,n.jsxs)("div",{className:"border-t border-white/5 pt-1 text-[7px] text-slate-500 space-y-0.5",children:[(0,n.jsxs)("div",{className:"font-bold text-slate-400",children:["\uD83D\uDCD6 ",dU.dataSource]}),(0,n.jsxs)("div",{children:[dG.sourceAuto,": ",(0,n.jsx)("a",{href:"https://www.wikidata.org/",target:"_blank",rel:"noopener",className:"text-blue-400",children:"Wikidata"})," SPARQL"]}),(0,n.jsxs)("div",{children:[dG.sourceManual,": ",(0,n.jsx)("a",{href:"https://nominatim.openstreetmap.org/",target:"_blank",rel:"noopener",className:"text-blue-400",children:"OpenStreetMap Nominatim"}),dG.geocodingNote]})]})]})]})]})]})]}),(0,n.jsx)("div",{className:"shrink-0 px-4 lg:px-6 py-1 border-t border-white/5",children:(0,n.jsxs)("div",{className:"max-w-[1800px] mx-auto flex items-center justify-between text-[9px] lg:text-[10px] text-slate-500 font-mono",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 lg:gap-4 flex-wrap",children:[(0,n.jsx)("span",{children:"Plan: FREE"}),(0,n.jsx)("span",{children:eW(d_.statusOutput,{mm:eH.outputSizeMm})}),(0,n.jsxs)("span",{children:["N: ",l2]}),(0,n.jsx)("span",{children:eW(d_.statusVertical,{n:l4})}),(0,n.jsx)("span",{className:"text-amber-400/60",children:d_.statusWater}),(0,n.jsx)("span",{className:"text-slate-500",title:cK.title,children:cK.text}),na.length>0&&(0,n.jsx)("span",{children:eW(d_.statusRoads,{n:na.length})}),ns.length>0&&(0,n.jsx)("span",{children:eW(d_.statusHeritage,{n:ns.length})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(v.A,{className:"w-3 h-3"}),(0,n.jsx)("span",{children:d3})]})]})}),nj&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9998] flex items-end sm:items-center justify-center bg-black/60 backdrop-blur-sm p-0 sm:p-4",children:(0,n.jsxs)("div",{className:"bg-slate-900 border border-amber-500/30 rounded-t-2xl sm:rounded-2xl shadow-2xl w-full sm:w-[420px] sm:max-w-[95vw] max-h-[92dvh] sm:max-h-[88dvh] flex flex-col overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between p-4 sm:p-6 pb-3 sm:pb-4 border-b border-white/5 shrink-0 bg-slate-900",children:[(0,n.jsxs)("h3",{className:"text-base font-black text-white flex items-center gap-2",children:[(0,n.jsx)(S.A,{className:"w-5 h-5 text-amber-400"}),dJ.title]}),(0,n.jsx)("button",{onClick:()=>nk(!1),className:"text-slate-500 hover:text-white transition-colors p-1",children:(0,n.jsx)(g.A,{className:"w-5 h-5"})})]}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 overflow-y-auto overscroll-contain",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsxs)("div",{className:"px-4 sm:px-6 py-4 sm:py-5 space-y-5",children:[(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.format}),(0,n.jsx)("div",{className:"grid grid-cols-3 gap-2",children:[{id:"3mf",label:".3mf",desc:"en"===eX?"For 3D printing (Bambu Studio etc.)":"zh-TW"===eX?"3D åå°ç¨ï¼Bambu Studio çï¼"
1:"3Dããªã³ãç¨ï¼Bambu Studioçï¼"},{id:"stl",label:".stl",desc:"en"===eX?"General 3D printing (single colour)":"zh-TW"===eX?"éç¨ 3D åå°ï¼å®è²ï¼":"æ±ç¨3Dããªã³ãï¼åè²ï¼"},{id:"obj",label:".obj",desc:"en"===eX?"General 3D (Wavefront)":"zh-TW"===eX?"éç¨ 3Dï¼Wavefrontï¼":"æ±ç¨3Dï¼Wavefrontï¼"},{id:"glb",label:".glb",desc:"en"===eX?"For 3D viewers (glTF Binary)":"zh-TW"===eX?"3D 檢è¦å¨ç¨ï¼glTF Binaryï¼":"3Dãã¥ã¼ã¢ç¨ï¼glTF Binaryï¼"},{id:"png",label:".png",desc:"en"===eX?"Top-down image of the 3D preview":"zh-TW"===eX?"3D é 覽ççä¸ä¿¯è¦å":"3Dãã¬ãã¥ã¼çä¸ããã®ç»å"},{id:"jpg",label:".jpg",desc:"en"===eX?"2D map with your drawn lines":"zh-TW"===eX?"2D å°åè繪製çç·æ¢":"2Då°å³ã¨æããç·ã®ç»å"}].map(e=>(0,n.jsxs)("button",{onClick:()=>nq(e.id),className:"px-3 py-2 rounded-lg text-center transition-all border ".concat(nZ===e.id?"bg-amber-500/20 border-amber-500/50 text-amber-300":"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)("div",{className:"text-sm font-black",children:e.label}),(0,n.jsx)("div",{className:"text-[8px] mt-0.5 opacity-70",children:e.desc})]},e.id))}),"3mf"===nZ&&(0,n.jsxs)("div",{className:"mt-1.5 space-y-1",children:[(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,n.jsxs)("button",{onClick:()=>n$(!1),className:"px-3 py-1.5 rounded-lg text-center transition-all border ".concat(nX?"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10":"bg-amber-500/20 border-amber-500/50 text-amber-300"),children:[(0,n.jsx)("div",{className:"text-[10px] font-black",children:dJ.carryColorsOff}),(0,n.jsx)("div",{className:"text-[7px] mt-0.5 opacity-70",children:dJ.recommended})]}),(0,n.jsxs)("button",{onClick:()=>n$(!0),className:"px-3 py-1.5 rounded-lg text-center transition-all border ".concat(nX?"bg-amber-500/20 border-amber-500/50 text-amber-300":"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)("div",{className:"text-[10px] font-black",children:dJ.carryColorsOn}),(0,n.jsx)("div",{className:"text-[7px] mt-0.5 opacity-70",children:dJ.carryColorsOnNote})]})]}),(0,n.jsx)("div",{className:"text-[9px] text-slate-500 leading-relaxed",children:dJ.carryColorsHelp})]}),nN&&!1!==nN.available&&(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 px-2.5 py-1.5 rounded-lg bg-emerald-500/5 border border-emerald-500/15 text-[10px] text-emerald-300/90",children:[(0,n.jsx)("span",{"aria-hidden":!0,children:"â¬"}),(0,n.jsx)("span",{className:"font-bold",children:"en"===eX?(0,n.jsxs)(n.Fragment,{children:[".",nZ,":"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(null!==(K=nN.byFormat[nZ])&&void 0!==K?K:0,eX)})," ","downloads so far \xb7 all formats:"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(nN.total,eX)})]}):"zh-TW"===eX?(0,n.jsxs)(n.Fragment,{children:[".",nZ," ç®åå·²ä¸è¼"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(null!==(Y=nN.byFormat[nZ])&&void 0!==Y?Y:0,eX)})," ","次 \xb7 å
¨æ ¼å¼åè¨"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(nN.total,eX)})," ","次"]}):(0,n.jsxs)(n.Fragment,{children:[".",nZ," ã¯ããã¾ã§"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(null!==(Z=nN.byFormat[nZ])&&void 0!==Z?Z:0,eX)})," ","ä»¶ / å
¨å½¢å¼åè¨"," ",(0,n.jsx)("span",{className:"font-mono text-emerald-200",children:(0,lA.B4)(nN.total,eX)})," ","ä»¶"]})})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.fileName}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("input",{type:"text",value:nY,placeholder:"create-gbm-v2-".concat(new Date().toISOString().slice(0,10)),onChange:e=>nV(e.target.value),className:"flex-1 px-3 py-2 bg-slate-800 border border-white/10 rounded-lg text-sm text-white placeholder-slate-600 focus:border-amber-500/50 focus:outline-none"}),(0,n.jsxs)("span",{className:"text-sm font-mono text-slate-500 shrink-0",children:[".",nZ]})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.outputSize}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("input",{type:"range",min:80,max:300,step:10,value:eN,onChange:e=>eS(Number(e.target.value)),className:"flex-1 accent-amber-500"}),(0,n.jsxs)("span",{className:"text-sm font-mono text-white w-16 text-right",children:[eN,"mm"]})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.resolution}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("input",{type:"range",min:300,max:3e3,step:100,value:nI,onChange:e=>nz(Number(e.target.value)),className:"flex-1 accent-amber-500"}),(0,n.jsx)("span",{className:"text-sm font-mono text-white w-16 text-right",children:nI})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.baseThickness}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("input",{type:"range",min:1,max:15,step:.5,value:nW,onChange:e=>nL(Number(e.target.value)),disabled:nH,className:"flex-1 accent-amber-500 disabled:opacity-30"}),(0,n.jsx)("span",{className:"text-sm font-mono w-16 text-right ".concat(nH?"text-slate-600":"text-white"),children:nH?"0mm":"".concat(nW,"mm")})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer mt-1",children:[(0,n.jsx)("input",{type:"checkbox",checked:nH,onChange:e=>nK(e.target.checked),className:"w-3.5 h-3.5 accent-amber-500 rounded"}),(0,n.jsx)("span",{className:"text-[10px] text-slate-500",children:dJ.skipB
1aseCorrection})]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("label",{className:"text-[11px] font-bold text-slate-400",children:dJ.verticalScale}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("input",{type:"range",min:tB.FC,max:tB.LE,step:.1,value:l4,onChange:e=>l8(Number(e.target.value)),className:"flex-1 accent-amber-500"}),(0,n.jsxs)("span",{className:"text-sm font-mono text-white w-16 text-right",children:[l4.toFixed(1),"\xd7"]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-[11px] font-bold text-slate-400",children:dJ.waterBoost}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[9px] text-slate-500 shrink-0",children:dJ.nozzleLabel}),(0,n.jsxs)("button",{onClick:()=>n_("0.4mm"),className:"px-3 py-1.5 rounded-lg text-center transition-all border ".concat("0.4mm"===nO?"bg-green-600/30 border-green-500/50 text-green-300":"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)("span",{className:"text-[10px] font-black",children:"0.4mm"}),(0,n.jsx)("span",{className:"text-[7px] ml-1 opacity-70",children:dJ.nozzleStandard})]}),(0,n.jsxs)("button",{onClick:()=>n_("0.2mm"),className:"px-3 py-1.5 rounded-lg text-center transition-all border ".concat("0.2mm"===nO?"bg-blue-600/30 border-blue-500/50 text-blue-300":"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)("span",{className:"text-[10px] font-black",children:"0.2mm"}),(0,n.jsx)("span",{className:"text-[7px] ml-1 opacity-70",children:dJ.nozzleFine})]})]}),(0,n.jsx)("div",{className:"grid gap-1 grid-cols-5",children:(0,tI.vK)(nO).map(e=>{let t={off:dJ.boostNone,fine:dJ.boostFine,variable:dJ.boostVariable,middle:dJ.boostMiddle,recommended:dJ.recommended,thick:dJ.boostThick,wider:dJ.boostWider};return(0,n.jsxs)("button",{onClick:()=>nU(e.widthMm),className:"px-1 py-1.5 rounded-lg text-center transition-all border min-w-0 ".concat(nG===e.widthMm?"bg-amber-500/20 border-amber-500/50 text-amber-300 shadow-inner":"bg-white/5 border-white/10 text-slate-400 hover:bg-white/10"),children:[(0,n.jsx)("div",{className:"text-[9px] font-black leading-tight",children:0===e.widthMm?"OFF":"".concat(e.widthMm,"mm")}),(0,n.jsx)("div",{className:"text-[6px] mt-0.5 opacity-70 truncate",children:t[e.kind]})]},e.widthMm)})}),(0,n.jsxs)("div",{className:"text-[9px] text-slate-500",children:[dJ.waterBoostHelp1," ",dJ.waterBoostHelp2]})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("label",{className:"text-[11px] font-bold text-slate-400",children:[ey.label,(0,n.jsxs)("span",{className:"font-normal text-slate-500",children:[" ",ey.plateLimitSuffix]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("input",{type:"text",value:n3,onChange:e=>{n4(tx(e.target.value,32)),n6(!0),lW&&(n9.current="".concat(lW.north.toFixed(7),",").concat(lW.south.toFixed(7),",").concat(lW.east.toFixed(7),",").concat(lW.west.toFixed(7)))},placeholder:n7?ey.loadingPlaceholder:ey.placeholder,disabled:n7,className:"flex-1 px-3 py-2 rounded-lg bg-white/5 border border-white/10 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-amber-500/50 disabled:opacity-50"}),(0,n.jsxs)("span",{className:"text-[10px] w-16 text-right shrink-0 ".concat(tg(n3)?"text-amber-400 font-bold":"text-slate-500"),title:ey.counterTitle,children:[tp(n3),"/",14]})]}),(0,n.jsxs)("div",{className:"text-[9px] text-slate-500 leading-snug space-y-0.5",children:[(0,n.jsx)("div",{children:ey.autoHint}),(0,n.jsx)("div",{children:ey.inputHint}),tg(n3)&&(0,n.jsxs)("div",{className:"text-amber-400/90 font-bold",children:[ey.engravedPrefix,(0,n.jsx)("span",{className:"font-mono text-white/90",children:tf(n3)}),ey.engravedSuffix]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"text-[11px] font-bold text-slate-400",children:(0,H.HK)(eX)}),(0,n.jsxs)("div",{className:"bg-white/5 rounded-lg px-3 py-3 text-[10px] text-slate-300 space-y-3 max-h-48 overflow-y-auto","data-scrollable":!0,children:[d4.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"font-bold text-slate-200",children:e.title}),(0,n.jsx)("ul",{className:"mt-1 space-y-0.5 text-slate-400 leading-relaxed",children:e.lines.map(e=>(0,n.jsx)("li",{children:e},e))}),e.url&&(0,n.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"inline-block mt-1 text-[9px] text-blue-400 hover:text-blue-300 break-all",children:e.url})]},e.title)),(0,n.jsx)("a",{href:(0,H.Pp)(eX),target:"_blank",rel:"noopener noreferrer",className:"inline-block text-[9px] text-amber-400/80 hover:text-amber-300",children:"en"===eX?"Full source list â":"zh-TW"===eX?"宿´åºå
¸ä¸è¦½ â":"詳細ãªåºå
¸ä¸è¦§ â"})]}),(0,n.jsx)("div",{className:"text-[9px] text-slate-500",children:"en"===eX?"CREDITS.txt is included only in 3MF exports (inside the zip). GLB, STL, OBJ, PNG, and JPG download as a
1single file.":"zh-TW"===eX?"CREDITS.txt å
é¨ 3MF 輸åºï¼å¨å£ç¸®æªå
§ï¼ãGLBã»STLã»OBJã»PNGã»JPG å
ä¸è¼å®ä¸æªæ¡ã":"CREDITS.txt 㯠3MF åºåæã®ã¿ ZIP å
ã«å梱ãã¾ããGLBã»STLã»OBJã»PNGã»JPG ã¯åä¸ãã¡ã¤ã«ã®ã¿ã§ãã"})]}),(()=>{let e=d5(),t=e.objects;return(0,n.jsxs)("div",{className:"bg-white/5 rounded-lg px-4 py-3 text-[11px] text-slate-300 space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("div",{className:"font-bold text-slate-300",children:d$.objectsScreenTitle}),(0,n.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:eW(d$.objectsCount,{n:t.length})})]}),(0,n.jsxs)("div",{className:"text-[9px] text-slate-500 leading-relaxed",children:[eW(d$.objectsIntro1,{format:nZ}),(0,n.jsx)("br",{}),d$.objectsIntro2]}),"3mf"===nZ&&(()=>{let e=new Set,l=[];for(let n of t){let t=(0,te.Mn)(n.color);e.has(t)||(e.add(t),l.push({color:t,name:(0,te.T9)(t,eX)}))}let a=nX?d$.checklistCarry:d$.checklistNoColor;return(0,n.jsxs)("div",{className:"rounded-md bg-slate-900/50 ring-1 ring-white/10 px-3 py-2.5 space-y-2 text-[9px] text-slate-400 leading-relaxed",children:[(0,n.jsxs)("div",{className:"font-bold text-slate-300 text-[10px]",children:[d$.checklistTitle,(0,n.jsx)("span",{className:"ml-2 font-mono text-slate-500",children:eW(d$.checklistColorCount,{n:l.length})})]}),(0,n.jsx)("ol",{className:"list-decimal pl-4 space-y-1 text-slate-400",children:a.map((e,t)=>(0,n.jsx)("li",{children:e},t))}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"font-bold text-slate-400 mb-1",children:d$.filamentTitle}),(0,n.jsx)("ul",{className:"space-y-0.5",children:l.map((e,t)=>(0,n.jsxs)("li",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsxs)("span",{className:"font-mono text-slate-500 w-4 shrink-0",children:[t+1,"."]}),(0,n.jsx)("span",{className:"inline-block w-3 h-3 rounded border border-white/20 shrink-0",style:{backgroundColor:e.color},"aria-hidden":!0}),(0,n.jsx)("span",{className:"text-slate-300 shrink-0",children:e.name}),(0,n.jsx)("span",{className:"font-mono text-slate-500",children:lY(e.color)})]},e.color))})]}),(0,n.jsx)("div",{className:"text-slate-500",children:d$.bundledNote})]})})(),(0,n.jsx)(tr,{objects:t,punctuation:e.punctuation,notes:e.objectsNotes})]})})(),(()=>{let e=d5(),t=tf(n3),l=tg(n3);return(0,n.jsxs)("div",{className:"bg-white/5 rounded-lg px-4 py-3 text-[11px] text-slate-400 space-y-1",children:[(0,n.jsx)(ta,{sheet:e,engravedNotice:l&&n3.trim()?(0,n.jsxs)("div",{className:"text-[9px] text-amber-400/90",children:[ey.engravedPrefix,(0,n.jsx)("span",{className:"font-mono text-white/80",children:t}),ey.engravedSuffix]}):null}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-2",children:[(0,n.jsx)("button",{onClick:()=>{let t;let l=function(e){let t=e.punctuation,l=e=>"".concat(t.sectionOpen).concat(e).concat(t.sectionClose),n=[];for(let a of(n.push("".concat(l(e.title),"\n").concat(e.url)),n.push("".concat(e.regionName).concat(e.regionInputNote,"\n")+"".concat(e.centerCoord.label).concat(t.colon).concat(e.centerCoord.value)),e.sections)){let e=a.rows.map(e=>"".concat(e.label).concat(t.colon).concat(e.value));for(let l of a.notes)e.push("".concat(t.noteMark," ").concat(l));n.push("".concat(l(a.title),"\n").concat(e.join("\n")))}return n.push("".concat(l(e.objectsTitle),"\n")+e.objects.map(e=>"".concat(e.index,". ").concat(e.name," ").concat(t.parenOpen).concat(e.colorName).concat(t.parenClose," ").concat(e.rgb," / ").concat(e.note)).join("\n")+e.objectsNotes.map(e=>"\n".concat(t.noteMark," ").concat(e)).join("")),n.push(e.footer),n.join("\n\n")}(e);try{t=navigator.clipboard}catch(e){t=void 0}let n="function"==typeof(null==t?void 0:t.writeText),a=e=>{console.warn("[åºåæ
å ±] ã³ãã¼ã«å¤±æ:",e);let t=tT(function(e,t){let l;if(!t)return"unsupported";try{l=null==e?void 0:e.name}catch(e){return"unknown"}return"NotAllowedError"===l||"SecurityError"===l?"denied":"unknown"}(e,n),ef);t.showManualText&&la({text:l,message:t.message})};if(!n){a(Error("clipboard unsupported"));return}try{t.writeText(l).then(()=>lj(tT("ok",ef).message),e=>a(e))}catch(e){a(e)}},className:"px-3 py-1 rounded-lg text-[10px] font-bold bg-white/10 text-slate-300 hover:bg-white/20 transition-colors",children:ex.copyButton}),(0,n.jsx)("button",{onClick:()=>{var t;let l;let n=window.open("","_blank");if(!n){li(!0);return}
1n.document.write('<!DOCTYPE html><html lang="'.concat(lV(e.lang),'"><head><meta charset="utf-8"><title>').concat(lV(e.title),"</title>\n<style>\n@page{size:A4 portrait;margin:14mm 14mm 12mm}\n*{box-sizing:border-box;margin:0;padding:0}\nbody{font-family:'Segoe UI',Meiryo,'Hiragino Kaku Gothic Pro',sans-serif;font-size:9pt;color:#1a1a1a;background:#fff}\nhtml[lang^=\"zh\"] body{font-family:'Segoe UI','Microsoft JhengHei','PingFang TC','Noto Sans CJK TC',sans-serif}\n.header{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1.5px solid #333;margin-bottom:6px}\n.logo{width:26px;height:26px;border-radius:4px;object-fit:contain}\n.brand{font-size:13pt;font-weight:900;letter-spacing:.02em}\n.url{font-size:7pt;color:#888;margin-top:1px}\n.region-block{margin:5px 0 7px;padding:4px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}\n.region-name{font-size:12pt;font-weight:900}\n.region-coord{font-size:7.5pt;color:#888;margin-top:1px;font-family:ui-monospace,Consolas,monospace}\n.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:6px}\n.section-title{font-size:8.5pt;font-weight:900;border-bottom:1px solid #ccc;padding-bottom:2px;margin-bottom:4px;letter-spacing:.03em;color:#333}\n.info-block{font-size:8pt}\n.info-block div{display:flex;justify-content:space-between;gap:4px;border-bottom:1px dotted #e8e8e8;padding:1.5px 0;line-height:1.5}\n.info-block .lbl{color:#666;white-space:nowrap}\n.info-block.sec-terrain .lbl{white-space:normal}\n/* â ããã word-break:break-all ã«æ»ãã¦ã¯ãªããªããbreak-all ã¯**ãã®ç®±ã®\n min-content å¹
ã 1 æå**ã«ããã®ã§ãflexï¼.info-block divï¼ãå¤ã 1 æåå¹
ã¾ã§\n æ½°ããããã«ãªããen ã®å°å½¢ç¯ã§ã©ãã«ãé·ãè¡ã§ã¯å®éã«æ½°ãã\n ã68.2%ããã68.ãã2%ãã® 2 è¡ã«å²ãã¦å·ããã¦ããï¼Edge ã§å®æ¸¬ï¼ã\n æ°å¤ãéä¸ã§å²ããã®ã¯èª¤èªã®å
ã§ãè¦ç¯ï¼çµ±è¨æ°å¤ã
1®æ±ãï¼ã«åããã\n overflow-wrap:break-word 㯠min-content å¹
ããæé·ã®èªãã®ã¾ã¾ä¿ã¤ã®ã§ã\n æ°å¤ã»è±åèªã®éä¸ã§ã¯å²ããã1 èªãã©ããã¦ãå
¥ããªãã¨ãã ãå²ãã */\n.info-block .val{font-family:ui-monospace,Consolas,monospace;font-weight:600;text-align:right;overflow-wrap:break-word}\n.object-list{margin:0;padding:0;list-style:none;font-size:7.5pt}\n/* â è²åï¼ç¬¬3ãã©ãã¯ï¼ã¨ RGBï¼ç¬¬4ãã©ãã¯ï¼ãåºå®å¹
ã«ãã¦ã¯ãªããªãã\n 28px / 78px ã¯æ¥æ¬èªã®ãï¼ç½ï¼ããRGB(â¦)ãã«åãããå¹
ã§ãen ã®\n \"(Pale yellow)\" ã zh-TW ã®ãï¼æ·ºèï¼ãã¯å
¥ããããå³é£ã¸é£ãè¾¼ãã\n max-content ã¾ã§ä¼¸ã³ã minmax ã«ãã伸ã³ãåã¯æå¾ã® 2 ãã©ãã¯\n ï¼ãªãã¸ã§ã¯ãåã»noteï¼ã min-width:0 ã¨æè¿ãã§å¸åããã */\n.object-list li{display:grid;grid-template-columns:16px 11px minmax(28px,max-content) minmax(78px,max-content) minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:4px;border-bottom:1px solid #f0f0f0;padding:1.5px 0;line-height:1.4}\n.obj-idx{font-family:ui-monospace,Consolas,monospace;font-size:6.5pt;color:#999;text-align:right}\n.swatch{width:14px;height:14px;border-radius:3px;border:1px solid #aaa;flex:none;display:inline-block;-webkit-print-color-adjust:exact;print-color-adjust:exact}\n.clr-name{color:#444;font-size:7pt;white-space:nowrap}\n.obj-rgb{font-family:ui-monospace,Consolas,monospace;color:#666;font-size:6.5pt;white-space:nowrap}\n.obj-name{font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:7.5pt;min-width:0;overflow-wrap:anywhere}\n.obj-note{color:#999;font-size:6.5pt;text-align:right;min-width:0;overflow-wrap:anywhere}\n.width-list{margin-top:8px;columns:2;column-gap:10px;font-size:7pt}\n.width-list div{display:flex;justify-content:space-between;gap:4px;break-inside:avoid;border-bottom:1px dotted #eee;padding:1px 0;line-height:1.4}\n.width-list .lbl{color:#555}\n.width-list .val{font-family:ui-monospace,Consolas,monospace;font-weight:700;white-space:nowrap;margin-left:4px}\n.sheet-title{margin-left:auto;font-size:8.5pt;font-weight:700;color:#666;white-space:nowrap}\n.sheet-note{font-size:6.5pt;color:#999;line-height:1.4;margin-top:2px}\n.footer{margin-top:8px;padding-top:5px;border-top:1px solid #eee;font-size:7pt;color:#aaa;text-align:right}\n@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}\n</style></head><body>\n").concat(function(e,t){let l=e.punctuation,n=e=>'<div class="info-block sec-'.concat(e.key,'">').concat(e.rows.map(e=>'<div><span class="lbl">'.concat(t(e.label),"</span>")+'<span class="val">'.concat(t(e.value),"</span></div>")).join(""),"</div>"),a=e=>'<div class="width-list">'.concat(e.rows.map(e=>'<div><span class="lbl">'.concat(t(e.label),"</span>")+'<span class="val">'.concat(t(e.value),"</span></div>")).join(""),"</div>"),r=e=>e.notes.map(e=>'<div class="sheet-note">'.concat(t(l.noteMark)," ").concat(t(e),"</div>")).join(""),s=e.sections.map((e,l)=>{let s='<div class="section-title"'.concat(l>0?' style="margin-top:8px"':"",">")+"".concat(t(e.title),"</div>"),o="grid"===e.layout?a(e):n(e);return"".concat(s).concat(o).concat(r(e))}).join(""),o=e.objects.map(e=>'<li><span class="obj-idx">'.concat(t(String(e.index)),".</span>")+'<span class="swatch" style="background:'.concat(t(e.color),'"></span>')+'<span class="clr-name">'.concat(t(l.parenOpen)).concat(t(e.colorName)).concat(t(l.parenClose),"</span>")+'<span class="obj-rgb">
1'.concat(t(e.rgb),"</span>")+'<span class="obj-name">'.concat(t(e.name),"</span>")+'<span class="obj-note">'.concat(t(e.note),"</span></li>")).join(""),i=e.objectsNotes.map(e=>'<div class="sheet-note">'.concat(t(l.noteMark)," ").concat(t(e),"</div>")).join("");return'<div class="header"><img src="/favicon-32x32.png" class="logo" alt="Create GBM">'+'<div><div class="brand">Create GBM</div><div class="url">'.concat(t(e.url),"</div></div>")+'<div class="sheet-title">'.concat(t(e.title),'</div></div>\n<div class="region-block"><div class="region-name">').concat(t(e.regionName)).concat(t(e.regionInputNote),"</div>")+'<div class="region-coord">'.concat(t(e.centerCoord.label)).concat(t(l.colon)).concat(t(e.centerCoord.value),'</div></div>\n<div class="two-col">\n<div>').concat(s,'</div>\n<div>\n<div class="section-title">').concat(t(e.objectsTitle),'</div>\n<ul class="object-list">').concat(o,"</ul>").concat(i,'\n</div>\n</div>\n<div class="footer">').concat(t(e.footer),"</div>")}(e,lV),"\n</body></html>")),n.document.close();let a=(t=()=>{try{n.focus(),n.print()}catch(e){}},l=!1,()=>{l||(l=!0,t())});"complete"===n.document.readyState?setTimeout(a,0):(n.addEventListener("load",a,{once:!0}),setTimeout(a,1500))},className:"px-3 py-1 rounded-lg text-[10px] font-bold bg-white/10 text-slate-300 hover:bg-white/20 transition-colors",children:ex.printButton}),lr&&(0,n.jsx)("span",{role:"status",className:"text-[10px] font-bold text-emerald-300",children:lr})]})]})})()]}),(0,n.jsxs)("div",{className:"sticky bottom-0 z-10 border-t border-white/5 bg-slate-900 px-4 sm:px-6 py-3 flex gap-3",style:{paddingBottom:"calc(0.75rem + env(safe-area-inset-bottom))"},children:[(0,n.jsx)("button",{onClick:()=>nk(!1),className:"flex-1 px-4 py-3 rounded-xl text-xs font-bold bg-white/5 text-slate-400 hover:bg-white/10 transition-colors",children:"en"===eX?"Cancel":"zh-TW"===eX?"åæ¶":"ãã£ã³ã»ã«"}),(0,n.jsxs)("button",{onClick:dW,className:"flex-1 px-4 py-3 rounded-xl text-xs font-black bg-amber-500 text-white hover:bg-amber-400 transition-colors shadow-lg shadow-amber-500/20 flex items-center justify-center gap-2",children:[(0,n.jsx)(f.A,{className:"w-4 h-4"}),"en"===eX?"Generate .".concat(nZ):"zh-TW"===eX?"ç¢ç .".concat(nZ):".".concat(nZ," ãçæ")]})]})]})]})}),eJ&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9000] flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:()=>eQ(!1),children:(0,n.jsxs)("div",{"data-scrollable":!0,className:"relative w-[92%] max-w-lg max-h-[85vh] overflow-y-auto bg-slate-900 border border-white/10 rounded-2xl shadow-2xl p-5",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h3",{className:"text-sm font-black text-white",children:eo.gbmEditor.helpGuide.title}),(0,n.jsx)("button",{onClick:()=>eQ(!1),className:"text-slate-400 hover:text-white",children:(0,n.jsx)(g.A,{className:"w-5 h-5"})})]}),(0,n.jsx)("button",{type:"button",onClick:l5,className:"mb-4 w-full rounded-xl border border-amber-500/30 bg-amber-500/10 px-3 py-2.5 text-left text-[10px] font-bold text-amber-200 transition-colors hover:bg-amber-500/20",children:eo.gbmEditor.coachmark.replay}),(0,n.jsxs)("div",{className:"bg-emerald-500/10 border border-emerald-500/30 rounded-xl p-3 mb-3",children:[(0,n.jsx)("div",{className:"font-black text-emerald-400 text-[11px] mb-2",children:eo.gbmEditor.helpGuide.firstFlowTitle}),(0,n.jsx)("div",{className:"space-y-2",children:eo.gbmEditor.helpGuide.steps.map((e,t)=>(0,n.jsxs)("div",{className:"flex items-start gap-2 text-[10px]",children:[(0,n.jsx)("span",{className:"bg-emerald-600 text-white font-black px-1.5 py-0.5 rounded text-[9px] shrink-0 mt-0.5",children:"STEP ".concat(t+1)}),(0,n.jsxs)("span",{className:"text-slate-300 leading-relaxed",children:[(0,n.jsx)("strong",{className:"text-white",children:e.label})," â ",e.body]})]},e.label))})]}),(0,n.jsxs)("div",{className:"bg-sky-500/10 border border-sky-500/25 rounded-xl p-3 mb-4",children:[(0,n.jsx)("div",{className:"font-black text-sky-300 text-[11px] mb-1.5",children:eo.gbmEditor.helpGuide.printFlowTitle}),(0,n.jsx)("p",{className:"text-[10px] text-slate-300 leading-relaxed",children:eo.gbmEditor.helpGuide.printFlowBody})]}),(()=>{let e=eo.gbmEditor.helpGuide.ops,t=e$?e.touch:e.mouse,l=e$?{box:"bg-amber-500/10 border-amber-500/20",title:"text-amber-400",strong:"text-amber-300",th:"text-amber-400"}:{box:"bg-blue-500/10 border-blue-500/20",title:"text-blue-400",strong:"text-blue-300",th:"text-blue-400"},r={primary:t.primary,secondary:t.secondary};return"tertiary"in t&&(r.tertiary=t.tertiary),(0,n.jsxs)("div",{className:"space-y-4 text-[11px] text-slate-300 leading-relaxed",children:[(0,n.jsxs)("div",{className:"".concat(l.box," border rounded-xl p-3"),children:[(0,n.jsx)("div",{className:"font-bold ".concat(l.title," mb-1"),children:t.title}),(0,n.jsx)("div",{className:"text-[10px] text-slate-400",children:eL(t.basic,r).map((e,t)=>e.key?(0,n.jsx)("strong",{className:l.strong,children:e.text},t):(0,n.jsx)(a.Fragment,{children:e.text},t))})]}),(0,n.jsxs)("table",{className:"w-full text-[10px] border-collapse",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{className:"border-b border-white/10",children:[(0,n.jsx)("th",{className:"text-left py-1.5 pr-2 text-slate-500 font-bold",children:e.colMode}),(0,n.jsx)("th",{className:"text-left py-1.5 px-2 ".concat(l.th," font-bold"),children:t.colPrimary}),(0,n.jsx)("th",{className:"text-left py-1.5 pl-2 ".concat(l.th," font-bold"),children:t.colSecondary})]})}),(0,n.jsx)("tbody",{className:"text-slate-300",children:t.rows.map((e,l)=>(0,n.jsxs)("tr",{className:l<t.rows.length-1?"border-b border-white/5":void 0,children:[(0,n.jsx)("td",{className:"py-2 pr-2 font-bold text-white",children:e.mode}),(0,n.jsx)("td",{className:"py-2 px-2",children:e.primary}),(0,n.jsx)("td",{className:"py-2 pl-2",children:e.secondary})]},e.mode))})]}),"hints"in t&&(0,n.jsx)("div",{className:"bg-white/5 rounded-xl p-3 space-y-1.5 text-[10px] text-slate-400",children:t.hints.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("strong",{className:"text-slate-300",children:[e.label,":"]}
1)," ",e.body]},e.label))})]})})()]})}),cn&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9500] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:(0,n.jsxs)("div",{className:"relative w-[92%] max-w-sm bg-slate-900 border border-emerald-500/20 rounded-2xl shadow-2xl p-5 text-center",children:[(0,n.jsx)("div",{className:"text-3xl mb-3",children:"\uD83D\uDCBE"}),(0,n.jsx)("h3",{className:"text-sm font-black text-white mb-2",children:dQ.title}),(0,n.jsxs)("p",{className:"text-[11px] text-slate-400 mb-4 leading-relaxed",children:[dQ.body,(0,n.jsx)("br",{}),dQ.question]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:cc,className:"flex-1 py-2.5 rounded-xl text-[11px] font-bold bg-white/5 text-slate-400 hover:bg-white/10 transition-all",children:dQ.discard}),(0,n.jsx)("button",{onClick:ci,className:"flex-1 py-2.5 rounded-xl text-[11px] font-black bg-emerald-500 text-white hover:bg-emerald-400 shadow-lg shadow-emerald-500/20 transition-all",children:dQ.restore})]})]})}),ru&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9000] flex items-end sm:items-center justify-center bg-black/60 backdrop-blur-sm p-0 sm:p-4",onClick:()=>rh(!1),children:(0,n.jsxs)("div",{className:"relative w-full sm:w-[92%] max-w-md bg-slate-900 border border-amber-500/20 rounded-t-2xl sm:rounded-2xl shadow-2xl flex flex-col max-h-[92dvh] sm:max-h-[88dvh] overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between p-4 sm:p-5 pb-3 border-b border-white/5 shrink-0 bg-slate-900",children:[(0,n.jsxs)("h3",{className:"text-sm font-black text-white flex items-center gap-2",children:[(0,n.jsx)(o.A,{className:"w-5 h-5 text-amber-400"}),d_.lineSetupTitle]}),(0,n.jsx)("button",{onClick:()=>rh(!1),className:"text-slate-400 hover:text-white p-1",children:(0,n.jsx)(g.A,{className:"w-5 h-5"})})]}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 overflow-y-auto overscroll-contain px-4 sm:px-5 py-4",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsxs)("div",{className:"space-y-1 mb-4",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-400",children:d_.lineGroups}),l6.filter(e=>"infra"!==e.source&&!e.id.startsWith("lg-road-")&&!e.id.startsWith("lg-rail-")).map(e=>{let t=na.filter(t=>(t.groupId||"lg-0")===e.id).length;return(0,n.jsxs)("label",{onClick:()=>oH(e.id),className:"flex items-center gap-3 px-3 py-2.5 rounded-xl cursor-pointer transition-all border ".concat(l7===e.id?"bg-amber-500/10 border-amber-500/20":"bg-white/5 border-transparent hover:bg-white/10"),children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded-full shrink-0 border-2 border-white/20",style:{backgroundColor:e.color}}),(0,n.jsx)("span",{className:"text-[12px] font-bold ".concat(l7===e.id?"text-white":"text-slate-400"),children:e.name}),(0,n.jsx)("span",{className:"text-[10px] text-slate-500 ml-auto",children:eW(d_.lineGroupSummary,{count:t,type:e.lineType,mm:e.widthMm})})]},e.id)}),(0,n.jsxs)("button",{onClick:oU,className:"w-full flex items-center justify-center gap-1 py-2 rounded-xl bg-white/5 text-slate-400 hover:bg-white/10 hover:text-white text-[11px] font-bold transition-all",children:[(0,n.jsx)(k.A,{className:"w-3.5 h-3.5"})," ",d_.addGroup]})]}),(0,n.jsxs)("div",{className:"mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-400 mb-1.5 block",children:d_.lineType}),(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:[{type:"solid",label:d_.lineTypeSolidFull},{type:"dashed",label:d_.lineTypeDashed},{type:"dotted",label:d_.lineTypeDotted},{type:"dashdot",label:d_.lineTypeDashDot},{type:"railway",label:d_.lineTypeRailway},{type:"shinkansen",label:d_.lineTypeShinkansen},{type:"road",label:d_.lineTypeRoad}].map(e=>(0,n.jsx)("button",{onClick:()=>{oB(e.type),"railway"===e.type?oD(te.Ii):"shinkansen"===e.type?oD(te.Ii):"road"===e.type&&oD(te.Ii)},className:"px-3 py-1.5 rounded-lg text-[11px] font-bold transition-all ".concat(oI===e.type?"bg-amber-500 text-white":"bg-white/5 text-slate-400 hover:bg-white/10"),children:e.label},e.type))})]}),(0,n.jsxs)("div",{className:"mb-3",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-400 mb-1.5 block",children:d_.colorRgbPreset}
1),(0,n.jsx)(lq,{value:nn,onChange:oD,compact:!0})]}),(0,n.jsxs)("div",{className:"mb-1",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-400",children:d_.thicknessShort}),(0,n.jsxs)("span",{className:"text-[11px] font-mono text-slate-300",children:[nl.toFixed(2),"mm"]})]}),(0,n.jsx)("input",{type:"range",min:"0.42",max:"4.0",step:"0.01",value:nl,onChange:e=>oF(parseFloat(e.target.value)),className:"w-full accent-amber-400 h-3",style:{touchAction:"none"}})]})]}),(0,n.jsx)("div",{className:"shrink-0 border-t border-white/5 bg-slate-900 p-4 sm:p-5 pt-3",style:{paddingBottom:"calc(1rem + env(safe-area-inset-bottom))"},children:(0,n.jsx)("button",{onClick:()=>rh(!1),className:"w-full py-3 rounded-xl text-sm font-black bg-amber-500 text-white hover:bg-amber-400 shadow-lg shadow-amber-500/20 transition-all",children:d_.startDrawing})})]})}),rm&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9000] flex items-end sm:items-center justify-center bg-black/60 backdrop-blur-sm p-0 sm:p-4",onClick:()=>rp(!1),children:(0,n.jsxs)("div",{className:"relative w-full sm:w-[92%] max-w-md bg-slate-900 border border-pink-500/20 rounded-t-2xl sm:rounded-2xl shadow-2xl flex flex-col max-h-[92dvh] sm:max-h-[88dvh] overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between p-4 sm:p-5 pb-3 border-b border-white/5 shrink-0 bg-slate-900",children:[(0,n.jsxs)("h3",{className:"text-sm font-black text-white flex items-center gap-2",children:[(0,n.jsx)(i.A,{className:"w-5 h-5 text-pink-400"}),d_.symbolSetupTitle]}),(0,n.jsx)("button",{onClick:()=>rp(!1),className:"text-slate-400 hover:text-white p-1",children:(0,n.jsx)(g.A,{className:"w-5 h-5"})})]}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 overflow-y-auto overscroll-contain px-4 sm:px-5 py-3",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsxs)("div",{className:"mb-3 flex items-center gap-2 flex-wrap",children:[(0,n.jsx)("span",{className:"text-[10px] font-bold text-pink-300",children:d_.symbolSize}),(0,n.jsx)("div",{className:"flex gap-1",role:"radiogroup","aria-label":d_.symbolSizeLevelAria,children:tD().map(e=>{let{level:t,mm:l,recommended:a}=e,r=a?d_.sizeLv2:"Lv".concat(t);return(0,n.jsxs)("button",{role:"radio","aria-checked":rg===t,onClick:()=>rb(t),className:"px-3 py-1.5 rounded-lg text-[10px] font-bold transition-all ".concat(rg===t?"bg-pink-500 text-white shadow-lg shadow-pink-500/30":"bg-white/5 text-slate-300 hover:bg-white/10"),children:[(0,n.jsx)("div",{children:r}),(0,n.jsxs)("div",{className:"text-[8px] opacity-80",children:[l,"mm"]})]},t)})}),(0,n.jsx)("span",{className:"text-[9px] text-slate-500 ml-auto",children:d_.placedUnchanged})]}),(0,n.jsx)("div",{className:"grid grid-cols-2 gap-1",children:I.r.map(e=>(0,n.jsxs)("button",{onClick:()=>nc(e.type),className:"flex items-center gap-2.5 px-3 py-2.5 rounded-xl text-left transition-all border-2 ".concat(ni===e.type?"bg-pink-500/30 border-pink-400 shadow-lg shadow-pink-500/20 ring-1 ring-pink-400/50":"bg-white/5 border-transparent hover:bg-white/10"),children:[(0,n.jsx)("span",{className:"text-xl w-6 text-center",children:e.icon}),(0,n.jsx)("span",{className:"text-[11px] font-bold ".concat(ni===e.type?"text-pink-200":"text-slate-400"),children:e.label})]},e.type))}),ns.length>0&&(0,n.jsxs)("div",{className:"flex items-center justify-between mt-3 px-1",children:[(0,n.jsx)("span",{className:"text-[10px] text-slate-500",children:eW(d_.placedCount,{n:ns.length})}),(0,n.jsx)("button",{onClick:()=>{ns.length>0&&ce({type:"removeHeritageStamps",stamps:[...ns]}),no([])},className:"text-[10px] text-red-400 font-bold hover:text-red-300",children:d_.clearAllShort})]})]}),(0,n.jsx)("div",{className:"shrink-0 border-t border-white/5 bg-slate-900 p-4 sm:p-5 pt-3",style:{paddingBottom:"calc(1rem + env(safe-area-inset-bottom))"},children:(0,n.jsx)("button",{onClick:()=>rp(!1),className:"w-full py-3 rounded-xl text-sm font-black bg-pink-500 text-white hover:bg-pink-400 shadow-lg shadow-pink-500/20 transition-all",children:d_.clickToPlaceLong})})]})}),rc&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9000] flex items-end sm:items-center justify-center bg-black/60 backdrop-blur-sm p-0 sm:p-4",onClick:()=>rd(!1),children:(0,n.jsxs)("div",{className:"relative w-full sm:w-[92%] max-w-md bg-slate-900 border border-red-500/20 rounded-t-2xl sm:rounded-2xl shadow-2xl flex flex-col max-h-[92dvh] sm:max-h-[88dvh] overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between p-4 sm:p-5 pb-3 border-b border-white/5 shrink-0 bg-slate-900",children:[(0,n.jsxs)("h3",{className:"text-sm font-black text-white flex items-center gap-2",children:[(0,n.jsx)(c.A,{className:"w-5 h-5 text-red-400"}),dY.setupTitle]}),(0,n.jsx)("button",{onClick:()=>rd(!1),className:"text-slate-400 hover:text-white p-1",children:(0,n.jsx)(g.A,{className:"w-5 h-5"})})]}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 overflow-y-auto overscroll-contain px-4 sm:px-5 py-4",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsxs)("div",{className:"space-y-1 mb-4",children:[(()=>{let e=dZ.map(e=>e.key),t=e.every(e=>!!ro[e]);return(0,n.jsxs)("label",{className:"flex items-center gap-3 px-3 py-2.5 rounded-xl bg-red-500/10 border border-red-500/20 cursor-pointer hover:bg-red-500/15 transition-all",children:[(0,n.jsx)("input",{type:"checkbox",checked:t,onChange:()=>{let l={};for(let n of e)l[n]=!t;ri(e=>({...e,...l}))},className:"accent-red-500 w-4 h-4"}),(0,n.jsx)("span",{className:"text-[12px] text-red-300 font-black",children:dY.selectAll})]})})(),dZ.map(e=>{let{key:t,label:l,info:a}=e;return(0,n.jsxs)("label",{className:"flex items-center gap-3 px-3 py-2.5 rounded-xl cursor-pointer transition-all border ".concat(ro[t]?"bg-red-500/10 border-red-500/20":"bg-white/5 border-transparent hover:bg-white/10"),children:[(0,n.jsx)("input",{type:"checkbox",checked:!!ro[t],onChange:()=>ri(e=>({...e,[t]:!e[t]})),className:"accent-red-500 w-4 h-4"}),(0,n.jsx)("span",{className:"text-[12px] font-bold ".concat(ro[t]?"text-white":"text-slate-400"),children:l}),(0,n.jsx)("span",{className:"text-[10px] text-slate-500 ml-auto",children:a})]},t)})]}),(0,n.jsxs)("div",{className:"mb-1",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,n.jsx)("span",{className:"text-[11px] font-bold text-slate-400",children:dY.brushSize}),(0,n.jsxs)("span",{className:"text-[11px] font-mono text-slate-300",children:[rx,"px"]})]}),(0,n.jsx)("input",{type:"range",min:"5",max:"100",step:"5",value:rx,onChange:e=>rf(parseInt(e.target.value)),className:"w-full accent-red-400 h-3",style:{touchAction:"none"}})]})]}),(0,n.jsx)("div",{className:"shrink-0 border-t border-white/5 bg-slate-900 p-4 sm:p-5 pt-3",style:{paddingBottom:"calc(1rem + env(safe-area-inset-bottom))"},children:(0,n.jsx)("button",{onClick:()=>rd(!1),disabled:dZ.every(e=>!ro[e.key]),className:"w-full py-3 rounded-xl text-sm font-black transition-all ".concat(dZ.some(e=>!!ro[e.key])?"bg-red-500 text-white hover:bg-red-400 shadow-lg shadow-red-500/20":"bg-white/5 text-slate-600 cursor-not-allowed"),children:dZ.some(e=>!!ro[e.key])?dY.use:dY.promptUp})})]})}),sC&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9500] flex items-center justify-center bg-black/70 backdrop-blur-sm p-4",onClick:()=>sE(!1),children:(0,n.jsxs)("div",{className:"w-full max-w-sm bg-slate-900 border border-red-500/40 rounded-2xl shadow-2xl shadow-red-500/10 overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"p-5 border-b border-white/5 flex items-center gap-3",children:[(0,n.jsx)("div",{className:"w-10 h-10 rounded-full bg-red-500/20 flex items-center justify-center shrink-0",children:(0,n.jsx)(g.A,{className:"w-5 h-5 text-red-400"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"text-sm font-black text-white",children:eo.gbmEditor.clearBoundsConfirm.title}),(0,n.jsx)("p",{className:"text-[11px] text-slate-400 mt-0.5",children:eo.gbmEditor.clearBoundsConfirm.body})]})]}),(0,n.jsxs)("div",{className:"p-4 flex gap-2",children:[(0,n.jsx)("button",{onClick:()=>sE(!1),className:"flex-1 px-4 py-3 rounded-xl text-xs font-bold bg-white/5 text-slate-300 hover:bg-white/10 transition-colors",children:eo.gbmEditor.clearBoundsConfirm.cancel}),(0,n.jsx)("button",{onClick:()=>{dv(),sE(!1)},className:"flex-1 px-4 py-3 rounded-xl text-xs font-black bg-red-500 text-white hover:bg-red-400 transition-colors shadow-lg shadow-red-500/20",children:eo.gbmEditor.clearBoundsConfirm.confirm})]})]})}),nf&&(0,n.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/70 backdrop-blur-sm",children:(0,n.jsxs)("div",{className:"flex flex-col items-center gap-6 p-10 rounded-3xl bg-slate-900/90 border border-amber-500/30 shadow-2xl shadow-amber-500/10 max-w-md mx-4",children:[(0,n.jsxs)("div",{className:"relative w-20 h-20",children:[(0,n.jsx)("div",{className:"absolute inset-0 rounded-full border-4 border-slate-700"}),(0,n.jsx)("div",{className:"absolute inset-0 rounded-full border-4 border-transparent border-t-amber-500 animate-spin"}),(0,n.jsx)(f.A,{className:"absolute inset-0 m-auto w-8 h-8 text-amber-400 animate-pulse"})]}),(0,n.jsxs)("div",{className:"text-center space-y-2 min-w-[22rem]",children:[(0,n.jsx)("p",{className:"text-lg font-black text-white tracking-wide",children:eW(d_.exportGenerating,{format:nZ})}),(0,n.jsx)("p",{className:"text-sm text-amber-300 min-h-[1.25rem]",children:nb||d0.preparing}),(0,n.jsx)("div",{className:"w-full h-2 rounded-full bg-slate-700 overflow-hidden",children:(0,n.jsx)("div",{className:"h-full bg-gradient-to-r from-amber-500 to-amber-300 transition-all duration-200",style:{width:"".concat(Math.max(3,Math.min(100,100*nw)),"%")}
1})}),nB&&(0,n.jsx)("button",{onClick:()=>{nv(d0.aborting),nB()},className:"mx-auto mt-1 px-4 py-2 rounded-xl bg-slate-700 hover:bg-slate-600 text-white text-xs font-bold",children:d_.exportCancel}),(0,n.jsxs)("p",{className:"text-[11px] text-slate-400 leading-relaxed pt-1",children:[d_.exportHeavyNote1,(0,n.jsx)("br",{}),d_.exportHeavyNote2]})]}),(0,n.jsxs)("div",{className:"flex gap-1.5",children:[(0,n.jsx)("span",{className:"w-2 h-2 rounded-full bg-amber-500 animate-bounce",style:{animationDelay:"0ms"}}),(0,n.jsx)("span",{className:"w-2 h-2 rounded-full bg-amber-500 animate-bounce",style:{animationDelay:"150ms"}}),(0,n.jsx)("span",{className:"w-2 h-2 rounded-full bg-amber-500 animate-bounce",style:{animationDelay:"300ms"}})]})]})}),nF&&(()=>{let e=function(e,t){let l=Math.max(0,e.unresolved)+Math.max(0,e.fetchErrors);return e6({critical:[eW(t.missing,{percent:function(e){let t=(Math.max(0,e.unresolved)+Math.max(0,e.fetchErrors))/Math.max(1,e.totalSamples)*100;return(Number.isFinite(t)?t:0).toFixed(2)}(e),pixels:eD(l)}),t.zeroPlane,e.seaMaskAvailable?"":t.seaLayerOff],points:[eW(t.breakdown,{fetchErrors:eD(Math.max(0,e.fetchErrors)),unresolved:eD(Math.max(0,e.unresolved))}),e.seaVerified>0?eW(t.seaVerifiedNote,{pixels:eD(e.seaVerified)}):"",t.retry]})}(nF.summary,ep);return(0,n.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-black/70 backdrop-blur-sm p-3",children:(0,n.jsxs)("div",{className:"flex flex-col gap-3 p-5 sm:p-8 rounded-3xl bg-slate-900/95 border border-red-500/40 shadow-2xl w-full max-w-md max-h-[92dvh] sm:max-h-[88dvh] overflow-hidden",children:[(0,n.jsx)("p",{className:"text-lg font-black text-white shrink-0",children:ep.title}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 min-h-0 overflow-y-auto overscroll-contain space-y-3",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsx)("ul",{className:"space-y-1.5 text-[13px] font-bold text-red-300 leading-relaxed",children:e.critical.map((e,t)=>(0,n.jsxs)("li",{className:"flex gap-2",children:[(0,n.jsx)("span",{className:"shrink-0",children:"â "}),(0,n.jsx)("span",{children:e})]},"coverage-critical-".concat(t)))}),e.details.length>0&&(0,n.jsxs)("details",{children:[(0,n.jsx)("summary",{className:"cursor-pointer text-[12px] font-bold text-slate-300 hover:text-white py-1",children:ep.detailsToggle}),(0,n.jsx)("div",{className:"pt-2 space-y-2 text-[12px] text-slate-400 leading-relaxed",children:e.details.map((e,t)=>(0,n.jsx)("p",{children:e},"coverage-detail-".concat(t)))})]})]}),(0,n.jsxs)("div",{className:"shrink-0 flex gap-3 justify-end pt-1",children:[(0,n.jsx)("button",{onClick:()=>nF.resolve(!1),className:"px-5 py-2.5 rounded-xl bg-slate-700 hover:bg-slate-600 text-white text-sm font-bold",children:ep.cancel}),(0,n.jsx)("button",{onClick:()=>nF.resolve(!0),className:"px-5 py-2.5 rounded-xl bg-red-600/80 hover:bg-red-500 text-white text-sm font-bold",children:ep.proceed})]})]})})})(),ac&&(0,n.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-black/70 backdrop-blur-sm p-3",children:(0,n.jsxs)("div",{className:"flex flex-col gap-3 p-5 sm:p-8 rounded-3xl bg-slate-900/95 border border-violet-400/40 shadow-2xl w-full max-w-lg max-h-[92dvh] sm:max-h-[88dvh] overflow-hidden",children:[(0,n.jsxs)("p",{className:"flex items-center gap-2 text-lg font-black text-white shrink-0",children:[(0,n.jsx)(h.A,{className:"w-5 h-5 text-violet-300 shrink-0"}),eh.confirmTitle]}),(0,n.jsxs)("div",{"data-scrollable":!0,className:"flex-1 min-h-0 overflow-y-auto overscroll-contain space-y-3",style:{WebkitOverflowScrolling:"touch"},children:[(0,n.jsx)("ul",{className:"space-y-1.5 text-[13px] font-bold text-red-300 leading-relaxed",children:cY.critical.map((e,t)=>(0,n.jsxs)("li",{className:"flex gap-2",children:[(0,n.jsx)("span",{className:"shrink-0",children:"â "}),(0,n.jsx)("span",{children:e})]},"dem-precision-critical-".concat(t)))}),cY.details.length>0&&(0,n.jsxs)("details",{children:[(0,n.jsx)("summary",{className:"cursor-pointer text-[12px] font-bold text-slate-300 hover:text-white py-1",children:eh.confirmDetailsToggle}),(0,n.jsx)("div",{className:"pt-2 space-y-2 text-[12px] text-slate-400 leading-relaxed",children:cY.details.map((e,t)=>(0,n.jsx)("p",{children:e},"dem-precision-detail-".concat(t)))})]})]}),(0,n.jsxs)("div",{className:"shrink-0 flex gap-3 justify-end pt-1",children:[(0,n.jsx)("button",{onClick:()=>ad(!1),className:"px-5 py-2.5 rounded-xl bg-slate-700 hover:bg-slate-600 text-white text-sm font-bold",children:eh.confirmCancel}),(0,n.jsx)("button",{onClick:()=>cG("5m"),className:"px-5 py-2.5 rounded-xl bg-violet-600/80 hover:bg-violet-500 text-white text-sm font-bold",children:eh.confirmOk})]})]})})]})}},62859:(e,t,l)=>{l.d(t,{B4:()=>o,GL:()=>s,UP:()=>n,lc:()=>i,sg:()=>a});let n=["3mf","glb","stl","obj","png","jpg"];function a(e){return/^[A-Z]{2}$/.test(e)?String.fromCodePoint(127462+(e.charCodeAt(0)-65),127462+(e.charCodeAt(1)-65)):"\uD83C\uDFF3ï¸"}let r={JP:{ja:"æ¥æ¬",en:"Japan","zh-TW":"æ¥æ¬"},US:{ja:"ã¢ã¡ãªã«",en:"United States","zh-TW":"ç¾å"},TW:{ja:"å°æ¹¾",en:"Taiwan","zh-TW":"å°ç£"}
1,CN:{ja:"ä¸å½",en:"China","zh-TW":"ä¸å"},KR:{ja:"éå½",en:"South Korea","zh-TW":"éå"},HK:{ja:"馿¸¯",en:"Hong Kong","zh-TW":"馿¸¯"},SG:{ja:"ã·ã³ã¬ãã¼ã«",en:"Singapore","zh-TW":"æ°å å¡"},GB:{ja:"ã¤ã®ãªã¹",en:"United Kingdom","zh-TW":"è±å"},DE:{ja:"ãã¤ã",en:"Germany","zh-TW":"å¾·å"},FR:{ja:"ãã©ã³ã¹",en:"France","zh-TW":"æ³å"},IT:{ja:"ã¤ã¿ãªã¢",en:"Italy","zh-TW":"義大å©"},ES:{ja:"ã¹ãã¤ã³",en:"Spain","zh-TW":"西çç"},NL:{ja:"ãªã©ã³ã",en:"Netherlands","zh-TW":"è·è"},CH:{ja:"ã¹ã¤ã¹",en:"Switzerland","zh-TW":"ç士"},SE:{ja:"ã¹ã¦ã§ã¼ãã³",en:"Sweden","zh-TW":"çå
¸"},NO:{ja:"ãã«ã¦ã§ã¼",en:"Norway","zh-TW":"æªå¨"},FI:{ja:"ãã£ã³ã©ã³ã",en:"Finland","zh-TW":"è¬è"},DK:{ja:"ãã³ãã¼ã¯",en:"Denmark","zh-TW":"丹麥"},PL:{ja:"ãã¼ã©ã³ã",en:"Poland","zh-TW":"æ³¢è"},CZ:{ja:"ãã§ã³",en:"Czech Republic","zh-TW":"æ·å
"},AT:{ja:"ãªã¼ã¹ããªã¢",en:"Austria","zh-TW":"奧å°å©"},CA:{ja:"ã«ãã",en:"Canada","zh-TW":"å æ¿å¤§"},MX:{ja:"ã¡ãã·ã³",en:"Mexico","zh-TW":"墨西å¥"},BR:{ja:"ãã©ã¸ã«",en:"Brazil","zh-TW":"巴西"},AR:{ja:"ã¢ã«ã¼ã³ãã³",en:"Argentina","zh-TW":"é¿æ ¹å»·"},AU:{ja:"ãªã¼ã¹ãã©ãªã¢",en:"Australia","zh-TW":"澳洲"},NZ:{ja:"ãã¥ã¼ã¸ã¼ã©ã³ã",en:"New Zealand","zh-TW":"ç´è¥¿è"},IN:{ja:"ã¤ã³ã",en:"India","zh-TW":"å°åº¦"},ID:{ja:"ã¤ã³ããã·ã¢",en:"Indonesia","zh-TW":"å°å°¼"},TH:{ja:"ã¿ã¤",en:"Thailand","zh-TW":"æ³°å"},VN:{ja:"ãããã ",en:"Vietnam","zh-TW":"è¶å"},PH:{ja:"ãã£ãªãã³",en:"Philippines","zh-TW":"è²å¾è³"},MY:{ja:"ãã¬ã¼ã·ã¢",en:"Malaysia","zh-TW":"馬ä¾è¥¿äº"},IL:{ja:"ã¤ã¹ã©ã¨ã«",en:"Israel","zh-TW":"以è²å"},AE:{ja:"UAE",en:"United Arab Emirates","zh-TW":"é¿è¯"},SA:{ja:"ãµã¦ã¸ã¢ã©ãã¢",en:"Saudi Arabia","zh-TW":"æ²çå°é¿æä¼¯"},TR:{ja:"ãã«ã³",en:"Turkey","zh-TW":"åè³å
¶"},RU:{ja:"ãã·ã¢",en:"Russia","zh-TW":"ä¿ç¾
æ¯"},UA:{ja:"ã¦ã¯ã©ã¤ã",en:"Ukraine","zh-TW":"çå
è"},ZA:{ja:"åã¢ããªã«",en:"South Africa","zh-TW":"åé"},EG:{ja:"ã¨ã¸ãã",en:"Egypt","zh-TW":"åå"},IE:{ja:"ã¢ã¤ã«ã©ã³ã",en:"Ireland","zh-TW":"æç¾è"},PT:{ja:"ãã«ãã¬ã«",en:"Portugal","zh-TW":"è¡èç"},BE:{ja:"ãã«ã®ã¼",en:"Belgium","zh-TW":"æ¯å©æ"}};function s(e,t){if(!/^[A-Z]{2}$/.test(e))return"ja"===t?"ãã®ä»":"zh-TW"===t?"å
¶ä»":"Other";let l=r[e];return l?l[t]:e}function o(e,t){return Number.isFinite(e)?e.toLocaleString("zh-TW"===t?"zh-Hant":t):"â"}function i(e){return Object.entries(e).sort((e,t)=>t[1]-e[1])}},80442:(e,t,l)=>{l.d(t,{G6:()=>o,Pb:()=>i,bS:()=>d,fT:()=>s});var n=l(37150),a=l(32899),r=l(51191);let s={cls:"ferry",label:"èªè·¯ï¼ãã§ãªã¼ã»æ°´ä¸ãã¹ï¼",description:"OSM `route=ferry`ãæ¸¯ã¨æ¸¯ãçµã¶**æ¦ç¥**ã®ç·ã§ãããå®éã«è¹ãéã£ãçµè·¯ã§ã¯ããã¾ããã",defaultColor:l(86538).C5,defaultWidthMm:.5,defaultLineType:"dashed",defaultEnabled:!1},o=0,i=-.2,c=["disused:","abandoned:","construction:","proposed:"];async function d(e,t,l,o){if(!t)return{strokes:[],overpassMeta:{totalCells:0,failedCells:0,partial:!1}};let{elements:i,meta:d}=await (0,a.P1)(e,e=>(function(e,t){if(!t)return"";let l="".concat(e.south,",").concat(e.west,",").concat(e.north,",").concat(e.east);return"\n[out:json][timeout:".concat(r.xN,"][bbox:").concat(l,'];\n(\n way["route"="ferry"];\n);\nout body geom;\n').trim()})(e,!0),{signal:l,onProgress:o,maxCellAreaKm2:(0,r.IX)()}),u=[];for(let t of i){if("way"!==t.type)continue;let l=t.geometry;if(!l||l.length<2||!function(e){if(!e||"ferry"!==e.route)return null;for(let t of c)if(Object.keys(e).some(e=>e.startsWith(t)))return null;return"ferry"}(t.tags))continue;let a=l.map(e=>({lat:e.lat,lng:e.lon}));(0,n.fh)(a,e)&&u.push({cls:"ferry",sourceRef:"way/".concat(t.id),stroke:{id:"ferry-".concat(t.id),points:a,widthMm:s.defaultWidthMm,color:s.defaultColor,lineType:s.defaultLineType}})}return{strokes:u,overpassMeta:d}}},41448:(e,t,l)=>{l.d(t,{OL:()=>h,Ks:()=>p,ZI:()=>u,UI:()=>x,Op:()=>E,W0:()=>S,Mt:()=>C});var n=l(20176),a=l(87231),r=l(37164),s=l(18862),o=l(37150);let i=[{layer:"WStrL",vt_code:5501,editor_level:"L1",exclude:!1,gsi_name_hint:"ãã ï¼ç·ï¼",survey_note:"ãã ï¼ç·ï¼"},{layer:"WStrL",vt_code:5511,editor_level:"L4",exclude:!1,gsi_name_hint:"æ²³å·ã»æµ·å²¸æ½è¨ï¼æ°´éã»å ¤é²çï¼",survey_note:"æ²³å·ã»æµ·å²¸æ½è¨"},{layer:"WStrL",vt_code:5514,editor_level:"L3",also_levels:["L2"],exclude:!1,gsi_name_hint:"å °ï¼å
¬å¼åãä¿¡çå ¤ã»ååã§ã¯ç 鲿¨ªæå·¥ãåã³ã¼ãã§å¯éï¼",survey_note:"å °ï¼å
¬å¼ï¼ãç é²ããå ¤ãåã³ã¼ã â L2/L3 å
±æ"},{layer:"WStrL",vt_code:5515,editor_level:"L3",exclude:!1,gsi_name_hint:"æ°´é",survey_note:"æ°´é"},{layer:"WStrL",vt_code:5521,editor_level:null,exclude:!0,gsi_name_hint:"æ»ï¼èªç¶å°å½¢ â ç é²ã»æ²»æ°´å¯¾è±¡å¤ï¼",survey_note:"æ»ï¼èªç¶å°å½¢ï¼"},{layer:"WStrL",vt_code:5532,editor_level:"L4",exclude:!1,gsi_name_hint:"æ°´å¶ï¼ééæ°´å¶ã¨æ¨å®ãGSI å
¬å¼ã¹ã¿ã¤ã«ã§åéææç»ã»é·è¯å·æ²³å£å °ã§å¯éï¼",survey_note:"æ°´å¶ï¼ééï¼â Lv4 è·å²¸ã»æ°´å¶ã»æ²³å·å ¤é²"},{layer:"WStrA",vt_code:5401,editor_level:"L1",exclude:!1,gsi_name_hint:"æ°´é¨æ§é ç©é¢ï¼å¤§è¦æ¨¡å ¤ä½ï¼",survey_note:"å¤§è¦æ¨¡å ¤ä½ã»ãã å ¤ä½é¢"},{layer:"WStrA",vt_code:5411,editor_level:"L4",exclude:!1,gsi_name_hint:"æ°´é¨æ§é ç©é¢ï¼å ¤é²ã»è·å²¸å ¤ä½ï¼",survey_note:"æ²³å·å ¤é²ã»è·å²¸å ¤ä½é¢"}],c=[5521];function d(e,t){return i.filter(l=>{var n;return l.layer===e&&!l.exclude&&(l.editor_level===t||(null===(n=l.also_levels)||void 0===n?void 0:n.includes(t)))}).map(e=>
1e.vt_code)}let u=.22,h="#000000",m=.2/Math.SQRT2,p=[{level:"L1",label:"Lv1 å¤§è¦æ¨¡å ¤ä½ã»ãã ",description:"å¤§è¦æ¨¡å ¤ä½ã»ãã ï¼WStrA é¢ / ãã ç·ï¼",defaultColor:h,defaultWidthMm:.22,defaultEnabled:!1},{level:"L2",label:"Lv2 ç é²ããå ¤ã»åºåºå·¥",description:"ç é²ããå ¤ã»åºåºå·¥ã»å¸¯å·¥ï¼ç·: vt_code 5514 㨠Lv3 å
±æï¼",defaultColor:h,defaultWidthMm:.22,defaultEnabled:!1},{level:"L3",label:"Lv3 å °ã»æ°´éã»æ¨",description:"å °ï¼5514ï¼ã»æ°´éï¼5515ï¼ã»æ¨éç",defaultColor:h,defaultWidthMm:.22,defaultEnabled:!1},{level:"L4",label:"Lv4 è·å²¸ã»æ°´å¶ã»æ²³å·å ¤é²",description:"è·å²¸ã»æ°´å¶ã»æ²³å·å ¤é²ï¼5511 ç· / 5411 é¢ çï¼",defaultColor:h,defaultWidthMm:.22,defaultEnabled:!1}];class x extends Error{constructor(){super("Water structures: all GSI tiles failed"),this.name="WaterStructureAllTilesFailedError"}}function f(e,t){return Math.floor((e+180)/360*2**t)}function g(e,t){let l=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(l)+1/Math.cos(l))/Math.PI)/2*2**t)}function b(e){return new Promise(t=>setTimeout(t,e))}async function v(e,t,l,o){let i=s.w$.optimalBvmap.replace("{z}",String(e)).replace("{x}",String(t)).replace("{y}",String(l));for(let e=0;e<=1;e++){if(null==o?void 0:o.aborted)return{outcome:"aborted",tile:null};let t=function(e){let t=e.filter(e=>!!e);if(0===t.length)return new AbortController().signal;if(1===t.length)return t[0];let l=AbortSignal.any;if("function"==typeof l)return l(t);let n=new AbortController,a=e=>n.abort(e.target.reason);for(let e of t){if(e.aborted){n.abort(e.reason);break}e.addEventListener("abort",a,{once:!0})}return n.signal}([o,function(e){let t=AbortSignal.timeout;if("function"==typeof t)return t(15e3);let l=new AbortController;return setTimeout(()=>l.abort(new DOMException("Timeout","TimeoutError")),15e3),l.signal}(0)]);try{let l=await fetch(i,{signal:t});if(!l.ok){if(e<1){await b(800);continue}return{outcome:"failed",tile:null}}let s=await l.arrayBuffer();return await (0,n.t)(),{outcome:"ok",tile:new r.cW(new a.A(s))}}catch(t){if((null==o?void 0:o.aborted)||(null==t?void 0:t.name)==="AbortError")return{outcome:"aborted",tile:null};if(e<1){await b(800);continue}break}}return{outcome:"failed",tile:null}}let w=["L1","L2","L3","L4"];function y(e,t){return c.includes(t)?[]:w.filter(l=>d(e,l).includes(t))}function j(e,t,l,n,a,r){return{lng:(e+n/r)/2**l*360-180,lat:function(e,t){let l=Math.PI-2*Math.PI*e/2**t;return 180/Math.PI*Math.atan(.5*(Math.exp(l)-Math.exp(-l)))}(t+a/r,l)}}function k(e,t,l){var n;if(i.some(e=>e.layer===t&&e.vt_code===l))return;let a="".concat(t,":").concat(l);e.unknownCodes.set(a,(null!==(n=e.unknownCodes.get(a))&&void 0!==n?n:0)+1)}async function N(e,t,l){let n=0,a=async()=>{for(;;){var t,a;if(null==l?void 0:null===(t=l.signal)||void 0===t?void 0:t.aborted)break;let r=n++;if(r>=e.length)break;await e[r](),null==l||null===(a=l.onSettled)||void 0===a||a.call(l)}},r=Math.max(1,Math.min(t,e.length));await Promise.all(Array.from({length:r},()=>a()))}async function M(e,t,l,n){let a={ok:0,failed:0},r=e.map(e=>async()=>{if(null==l?void 0:l.aborted)return;let{outcome:n,tile:r}=await v(e.z,e.x,e.y,l);if("aborted"!==n){if("failed"===n){a.failed++;return}a.ok++,r&&function(e,t,l){let{bounds:n,enabledLevels:a,allowed:r,lineMap:s,areaMap:i,lineSeq:c,areaSeq:d}=l,{z:u,x:h,y:p}=t,x=e.layers.WStrL;if(x&&r.WStrL.size>0)for(let e=0;e<x.length;e++){let t=x.feature(e),i=Number(t.properties.vt_code);if(!Number.isFinite(i))continue;if(!r.WStrL.has(i)){k(l,"WStrL",i);continue}if(2!==t.type)continue;let d=y("WStrL",i).filter(e=>a.has(e));if(0===d.length)continue;let f=t.loadGeometry(),g=t.extent||4096;for(let e of f){let t=e.map(e=>j(h,p,u,e.x,e.y,g));if(t.length<2||!(0,o.sB)(t,n,m))continue;let l=function(e,t){let l=t[0],n=t[t.length-1],a="".concat(e,":").concat(l.lat.toFixed(5),",").concat(l.lng.toFixed(5),":").concat(n.lat.toFixed(5),",").concat(n.lng.toFixed(5),":").concat(t.length),r="".concat(e,":").concat(n.lat.toFixed(5),",").concat(n.lng.toFixed(5),":").concat(l.lat.toFixed(5),",").concat(l.lng.toFixed(5),":").concat(t.length);return a<r?a:r}(i,t);s.has(l)||s.set(l,{id:"wstrl-".concat(i,"-").concat(c.n++),vt_code:i,levels:d,points:t})}}let f=e.layers.WStrA;if(f&&r.WStrA.size>0)for(let e=0;e<f.length;e++){let t=f.feature(e),s=Number(t.properties.vt_code);
1if(!Number.isFinite(s))continue;if(!r.WStrA.has(s)){k(l,"WStrA",s);continue}if(3!==t.type)continue;let c=y("WStrA",s).filter(e=>a.has(e));if(0===c.length)continue;let x=t.loadGeometry(),g=t.extent||4096;for(let e of x){let t=e.map(e=>j(h,p,u,e.x,e.y,g));if(t.length<3||!(0,o.sB)(t,n,m))continue;let l=function(e,t){let l=t[0];return"".concat(e,":").concat(t.length,":").concat(l.lat.toFixed(5),",").concat(l.lng.toFixed(5))}(s,t);i.has(l)||i.set(l,{id:"wstra-".concat(s,"-").concat(d.n++),vt_code:s,levels:c,rings:[t]})}}}(r,e,t)}});return await N(r,24,{signal:l,onSettled:n}),a}async function S(e,t,l,a){if(0===t.size)return{lines:[],areas:[],meta:{totalTiles:0,okTiles:0,failedTiles:0,partial:!1,totalBatches:0,largeArea:!1,unknownVtCodes:{}}};let r=function(e){let t=new Set,l=new Set;for(let n of e){for(let e of d("WStrL",n))t.add(e);for(let e of d("WStrA",n))l.add(e)}for(let e of c)t.delete(e),l.delete(e);return{WStrL:t,WStrA:l}}(t);if(0===r.WStrL.size&&0===r.WStrA.size)return{lines:[],areas:[],meta:{totalTiles:0,okTiles:0,failedTiles:0,partial:!1,totalBatches:0,largeArea:!1,unknownVtCodes:{}}};let s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120,l=function(e){let{xMin:t,xMax:l,yMin:n,yMax:a}={xMin:f(e.west,16),xMax:f(e.east,16),yMin:g(e.north,16),yMax:g(e.south,16)},r=[];for(let e=n;e<=a;e++)for(let n=t;n<=l;n++)r.push({z:16,x:n,y:e});return r}(e);if(0===l.length)return[];let n=[];for(let e=0;e<l.length;e+=t)n.push(l.slice(e,e+t));return n}(e),o=s.reduce((e,t)=>e+t.length,0),i=s.length,u=i>1,h=new Map,m=new Map,p={bounds:e,enabledLevels:t,allowed:r,lineMap:h,areaMap:m,lineSeq:{n:0},areaSeq:{n:0},unknownCodes:new Map},b=0,v=0,w=0,y=e=>{null==a||a({doneTiles:w,totalTiles:o,doneBatches:e,totalBatches:i})};y(0);for(let e=0;e<s.length;e++){if(null==l?void 0:l.aborted)throw new DOMException("Aborted","AbortError");let t=s[e],a=await M(t,p,l,()=>{w++,y(e)});b+=a.ok,v+=a.failed,y(e+1),e+1<s.length&&await (0,n.t)()}if(null==l?void 0:l.aborted)throw new DOMException("Aborted","AbortError");let j=Object.fromEntries(p.unknownCodes);p.unknownCodes.size>0&&console.warn("[WaterStructures] åé¡è¡¨ã«ç¡ã vt_code ãæ¤åºï¼åå¾å¯¾è±¡å¤ã®ã¾ã¾ï¼:",j,"â scripts/survey-water-structures-vtcode.js ã«ãµã¼ãã¤å°åã追å ãã¦è¡¨ãåçæãããã¨");let k={totalTiles:o,okTiles:b,failedTiles:v,partial:v>0&&b>0,totalBatches:i,largeArea:u,unknownVtCodes:j};if(0===b&&v>0)throw new x;return{lines:[...h.values()],areas:[...m.values()],meta:k}}function C(e,t){if(0===t.size)return{lines:[],areas:[]};let l=e=>e.some(e=>t.has(e));return{lines:e.lines.filter(e=>l(e.levels)),areas:e.areas.filter(e=>l(e.levels))}}function E(e){let t={};for(let l of["L1","L2","L3","L4"]){let n=e.lines.filter(e=>e.levels.includes(l)).length+e.areas.filter(e=>e.levels.includes(l)).length;n>0&&(t[l]=n)}return t}},72248:(e,t,l)=>{l.d(t,{fetchMapTexture:()=>o});var n=l(18862),a=l(14406);function r(e,t){return Math.floor((e+180)/360*Math.pow(2,t))}function s(e,t){let l=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(l)+1/Math.cos(l))/Math.PI)/2*Math.pow(2,t))}async function o(e,t,l){let o=n.w$[t];if(!o)return null;let i=Math.max(5,Math.min(Math.round(Math.log2(360/((e.east-e.west)/4))),17)),c=r(e.west,i),d=r(e.east,i),u=s(e.north,i),h=s(e.south,i),m=new OffscreenCanvas(256*(d-c+1),256*(h-u+1)),p=m.getContext("2d"),x=[];for(let e=u;e<=h;e++)for(let t=c;t<=d;t++){let n=(t-c)*256,a=(e-u)*256,r=o.replace("{z}",String(i)).replace("{x}",String(t)).replace("{y}",String(e));x.push((async()=>{try{let e=await fetch(r,{signal:l});if(!e.ok)return;let t=await e.blob(),s=await createImageBitmap(t);p.drawImage(s,n,a),s.close()}catch(e){}})())}await Promise.all(x);let f=new OffscreenCanvas(512,512),g=f.getContext("2d",{willReadFrequently:!0});return(0,a.i)(g,m,e,i,c,u,256,512,512),f}},14406:(e,t,l)=>{l.d(t,{i:()=>n});function n(e,t,l,n,a,r,s,o,i){let c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:32,d=a/Math.pow(2,n)*360-180,u=360/Math.pow(2,n),h=(l.west-d)/u*s,m=(l.east-l.west)/u*s;for(let a of function(e,t,l,n,a){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:32,s=Math.max(1,Math.min(r,a)),o=e=>((function(e,t){let l=e*Math.PI/180;return(1-Math.log(Math.tan(l)+1/Math.cos(l))/Math.PI)/2*Math.pow(2,t)})(e,t)-l)*n,i=[];for(let t=0;t<s;t++){let l=Math.round(a*t/s),n=Math.round(a*(t+1)/s);if(n<=l)continue;let r=e.north-l/a*(e.north-e.south),c=e.north-n/a*(e.north-e.south),d=o(r);i.push({srcY0:d,srcH:o(c)-d,outY0:l,outH:n-l})}return i}(l,n,r,s,i,c))e.drawImage(t,h,a.srcY0,m,a.srcH,0,a.outY0,o,a.outH)}},37150:(e,t,l)=>{function n(e,t){return e.lat>=t.south&&e.lat<=t.north&&e.lng>=t.west&&e.lng<=t.east}function a(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;if(!e||e.length<2)return!1;let a=1/0,r=-1/0,s=1/0,o=-1/0,i=0;for(let l of e)n(l,t)&&(i++,l.lat<a&&(a=l.lat),l.lat>r&&(r=l.lat),l.lng<s&&(s=l.lng),l.lng>o&&(o=l.lng));return!(i<2)&&Math.max((r-a)*111320,(o-s)*111320*Math.cos((t.north+t.south)/2*Math.PI/180)
1)>=l}function r(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;if(!e||e.length<2)return!1;let n=111320*Math.cos((t.north+t.south)/2*Math.PI/180),a=0;for(let r=1;r<e.length;r++){let s=e[r-1],o=e[r],i=o.lng-s.lng,c=o.lat-s.lat,d=0,u=1,h=!0;for(let[e,l]of[[-i,s.lng-t.west],[i,t.east-s.lng],[-c,s.lat-t.south],[c,t.north-s.lat]]){if(0===e){if(l<0){h=!1;break}continue}let t=l/e;if(e<0){if(t>u){h=!1;break}t>d&&(d=t)}else{if(t<d){h=!1;break}t<u&&(u=t)}}if(h&&!(u<=d)&&(a+=Math.hypot(111320*c,i*n)*(u-d))>=l)return!0}return a>=l}function s(e){if(!e||e.length<2)return 0;let t=0;for(let l=1;l<e.length;l++){let n=e[l-1],a=e[l],r=(n.lat+a.lat)/2,s=(a.lat-n.lat)*111320;t+=Math.hypot((a.lng-n.lng)*111320*Math.cos(r*Math.PI/180),s)}return t}l.d(t,{Bv:()=>n,bH:()=>s,fh:()=>r,sB:()=>a})},42132:(e,t,l)=>{l.d(t,{CA:()=>x,T0:()=>s,sB:()=>p});var n=l(41448),a=l(44896),r=l(69419);let s=.22;function o(e,t,l){return e.map(e=>{var n;return n=e.lat,{x:(e.lng-t.west)/(t.east-t.west)*l,y:(t.north-n)/(t.north-t.south)*l}})}function i(e,t,l){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let l=1;l<t.length;l++)e.lineTo(t[l].x,t[l].y);l&&e.closePath()}function c(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.ZI,r=l/e*t;return Math.max((0,a.d9)(e,t),r,1)}function d(e,t,l,n,a){for(let r=0;r<e.length;r++)l[r]&&(e[r]=1,n[r]>0&&(t[r]=n[r]+a))}function u(e,t,l){let n=1/0,a=1/0,r=-1/0,s=-1/0,o=e=>{for(let t of e)t.x<n&&(n=t.x),t.x>r&&(r=t.x),t.y<a&&(a=t.y),t.y>s&&(s=t.y)};if(Array.isArray(e[0]))for(let t of e)o(t);else o(e);if(!Number.isFinite(n))return{x:0,y:0,w:l,h:l};let i=Math.max(8,4*t+8),c=Math.max(0,Math.floor(n-i)),d=Math.max(0,Math.floor(a-i));return{x:c,y:d,w:Math.max(1,Math.min(l,Math.ceil(r+i))-c),h:Math.max(1,Math.min(l,Math.ceil(s+i))-d)}}function h(e,t,l){let n=e.data;for(let e=0;e<t;e++)if(n[4*e]>128||n[((l-1)*t+e)*4]>128)return!0;for(let e=0;e<l;e++)if(n[e*t*4]>128||n[(e*t+(t-1))*4]>128)return!0;return!1}let m={L1:"ç é²ã»æ²»æ°´ Lv1 å¤§è¦æ¨¡å ¤ä½ã»ãã ",L2:"ç é²ã»æ²»æ°´ Lv2 ç é²ããå ¤ã»åºåºå·¥",L3:"ç é²ã»æ²»æ°´ Lv3 å °ã»æ°´éã»æ¨",L4:"ç é²ã»æ²»æ°´ Lv4 è·å²¸ã»æ°´å¶ã»æ²³å·å ¤é²"};function p(e,t,l,a,p,x){let f=[];for(let y of["L1","L2","L3","L4"]){var g,b,v,w;if(!t.has(y))continue;let j=function(e,t){return{lines:e.lines.filter(e=>e.levels.includes(t)),areas:e.areas.filter(e=>e.levels.includes(t))}}(e,y);if(0===j.lines.length&&0===j.areas.length)continue;let k=null!==(v=null==x?void 0:null===(g=x[y])||void 0===g?void 0:g.widthMm)&&void 0!==v?v:n.ZI,N=null!==(w=null==x?void 0:null===(b=x[y])||void 0===b?void 0:b.color)&&void 0!==w?w:n.OL,{mask:M,labelMap:S}=function(e,t,l,a){let m=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.ZI,p=l*l,x=new Uint8Array(p),f=new Int32Array(p),g=function(e,t,l,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.ZI,d=l*l,m=new Uint8Array(d),p=new Int32Array(d),x=c(a,l,r),f=s/a*l,g=new OffscreenCanvas(l,l).getContext("2d",{willReadFrequently:!0});if(!g)return{mask:m,labelMap:p};for(let n=0;n<e.length;n++){let a=e[n];if(a.points.length<2)continue;g.setLineDash([]),g.globalCompositeOperation="source-over",g.strokeStyle="white",g.fillStyle="white",g.lineCap="butt",g.lineJoin="miter",g.lineWidth=x;let r=function(e,t){let l=e.map(e=>({x:e.x,y:e.y}));if(!(t>0)||l.length<2)return l;let n=function(e){let t=0;for(let l=0;l<e.length;l++)for(let n=l+1;n<e.length;n++){let a=Math.hypot(e[n].x-e[l].x,e[n].y-e[l].y);a>t&&(t=a)}return t}(l);if(n<=0||n>=t)return l;let a=t/n,r=0,s=0;for(let e of l)r+=e.x,s+=e.y;return r/=l.length,s/=l.length,l.map(e=>({x:r+(e.x-r)*a,y:s+(e.y-s)*a}))}(o(a.points,t,l),f),s=u(r,x,l);g.clearRect(s.x,s.y,s.w,s.h),i(g,r,!1),g.stroke();let c=g.getImageData(s.x,s.y,s.w,s.h),d=s.x,b=s.y,v=s.w,w=s.h;h(c,v,w)&&(g.clearRect(0,0,l,l),i(g,r,!1),g.stroke(),c=g.getImageData(0,0,l,l),d=0,b=0,v=l,w=l);let y=c.data,j=n+1,k=0;for(let e=0;e<w;e++){let t=(b+e)*l+d,n=e*v*4;for(let e=0;e<v;e++)if(y[n+4*e]>128){let l=t+e;m[l]=1,p[l]=j,k++}}if(0===k)continue}return{mask:m,labelMap:p}}(e.lines,t,l,a,m);d(x,f,g.mask,g.labelMap,0);let b=function(e,t,l,a){let d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.ZI,m=l*l,p=new Uint8Array(m),x=new Int32Array(m),f=c(a,l,d),g=s/a*l,b=new OffscreenCanvas(l,l).getContext("2d",{willReadFrequently:!0});if(!b)return{mask:p,labelMap:x};for(let n=0;n<e.length;n++){var v,w,y;let a=e[n];if(!(null==a?void 0:null===(w=a.rings)||void 0===w?void 0:null===(v=w[0])||void 0===v?void 0:v.length))continue;b.globalCompositeOperation="source-over",b.fillStyle="white",b.strokeStyle="white",b.lineCap="butt",b.lineJoin="miter";let s=a.rings.filter(e=>e.length>=3).map(e=>o(e,t,l));if(0===s.length)continue;let c=u(s,f,l);for(let e of(b.clearRect(c.x,c.y,c.w,c.h),s))i(b,e,!0),b.fill();for(let e of(b.lineWidth=(y=s[0],g>0?Math.max(f,g-(0,r.Bw)(y)):f),s))i(b,e,!0),b.stroke();let d=b.getImageData(c.x,c.y,c.w,c.h),m=c.x,j=c.y,k=c.w,N=c.h;h(d,k,N)&&(d=b.getImageData(0,0,l,l),m=0,j=0,k=l,N=l);let M=d.data,S=n+1,C=0;for(let e=0;e<N;e++){let t=(j+e)*l+m,n=e*k*4;for(let e=0;e<k;e++)if(M[n+4*e]>128){let l=t+e;p[l]=1,x[l]=S,C++}}if(0===C)continue}return{mask:p,labelMap:x}}(e.areas,t,l,a,m);return d(x,f,b.mask,b.labelMap,e.lines.length),{mask:x,labelMap:f}}
1(j,l,a,p,k);f.push({level:y,name:m[y],color:N,mask:M,labelMap:S})}return!function(e){if(e.length<2)return;let t=e[0].mask.length,l=new Uint8Array(t);for(let n of e)for(let e=0;e<t;e++)n.mask[e]&&(l[e]?(n.mask[e]=0,n.labelMap[e]=0):l[e]=1)}(f),f.filter(e=>(function(e){let t=0;for(let l=0;l<e.length;l++)e[l]&&t++;return t})(e.mask)>0)}function x(e,t,l,n,a,r){let s=n*n,o=new Uint8Array(s),i=new Uint32Array(s),c=new Int32Array(s),u=p(e,t,l,n,a,r),h=0;for(let e of u){!function(e,t,l,n){let a=n||1;for(let n=0;n<e.length;n++)l[n]&&(e[n]=1,t[n]=a)}(o,i,e.mask,function(e){let t=e.replace("#",""),l=parseInt((3===t.length?t.split("").map(e=>e+e).join(""):t).slice(0,6),16);return Number.isFinite(l)?0xffffff&l:0}(e.color)),d(o,c,e.mask,e.labelMap,h);let t=0;for(let l=0;l<e.labelMap.length;l++)e.labelMap[l]>t&&(t=e.labelMap[l]);h+=t}return{mask:o,colorMap:i,labelMap:c}}},81575:(e,t,l)=>{l.d(t,{Bo:()=>h,VN:()=>p,aO:()=>a,mB:()=>m,pk:()=>r,rI:()=>n});let n=10;function a(e,t){return e>0&&t>0?t/e/n:0}function r(e,t){return e>0&&t>0?t/e:0}function s(e){if(e.length<3)return 0;let t=111320*Math.cos(e[0][1]*Math.PI/180),l=0;for(let n=0;n<e.length;n++){let[a,r]=e[n],[s,o]=e[(n+1)%e.length];l+=a*t*(111320*o)-s*t*(111320*r)}return Math.abs(l)/2}function o(e){if(e.length<2)return 0;let t=111320*Math.cos(e[0][1]*Math.PI/180),l=0;for(let n=0;n<e.length;n++){let a=e[n],r=e[(n+1)%e.length];l+=Math.hypot((r[0]-a[0])*t,(r[1]-a[1])*111320)}return l}function i(e,t,l){let n=[],a=e.length;if(0===a)return n;for(let r=0;r<a;r++){let s=e[r],o=e[(r+a-1)%a],i=t(s),c=t(o);i?(c||n.push(l(o,s)),n.push(s)):c&&n.push(l(o,s))}return n}function c(e,t){let l=e=>(t,l)=>{let n=(e-t[0])/(l[0]-t[0]);return[e,t[1]+(l[1]-t[1])*n]},n=e=>(t,l)=>{let n=(e-t[1])/(l[1]-t[1]);return[t[0]+(l[0]-t[0])*n,e]},a=e.map(e=>[e[0],e[1]]);return a=i(a,e=>e[0]>=t.west,l(t.west)),a=i(a,e=>e[0]<=t.east,l(t.east)),a=i(a,e=>e[1]>=t.south,n(t.south)),a=i(a,e=>e[1]<=t.north,n(t.north))}function d(e){let t=e.length;if(t<3)return null;let l=new Float64Array(t+1),n=new Float64Array(t+1),a=1/0,r=-1/0,s=1/0,o=-1/0;for(let i=0;i<t;i++){let t=e[i][0],c=e[i][1];l[i]=t,n[i]=c,c<a&&(a=c),c>r&&(r=c),t<s&&(s=t),t>o&&(o=t)}l[t]=l[0],n[t]=n[0];let i=Math.max(1,Math.min(1024,Math.ceil(t/8))),c=r-a,d=c>0?i/c:0,u=e=>{if(0===d)return 0;let t=Math.floor((e-a)*d);return t<0?0:t>=i?i-1:t},h=new Int32Array(i);for(let e=0;e<t;e++){let t=u(Math.min(n[e],n[e+1])),l=u(Math.max(n[e],n[e+1]));for(let e=t;e<=l;e++)h[e]++}let m=new Int32Array(i+1);for(let e=0;e<i;e++)m[e+1]=m[e]+h[e];let p=new Int32Array(m[i]),x=m.slice(0,i);for(let e=0;e<t;e++){let t=u(Math.min(n[e],n[e+1])),l=u(Math.max(n[e],n[e+1]));for(let n=t;n<=l;n++)p[x[n]++]=e}return{xs:l,ys:n,n:t,yMin:a,yMax:r,xMin:s,xMax:o,bandCount:i,bandStart:m,bandEdge:p,invBand:d}}function u(e,t,l){if(l<e.yMin||l>e.yMax||t<e.xMin||t>e.xMax)return!1;let n=0===e.invBand?0:Math.floor((l-e.yMin)*e.invBand);n<0?n=0:n>=e.bandCount&&(n=e.bandCount-1);let{xs:a,ys:r,bandStart:s,bandEdge:o}=e,i=!1;for(let e=s[n],c=s[n+1];e<c;e++){let n=o[e],s=r[n],c=r[n+1];if(s>l!=c>l){let e=a[n];t<e+(a[n+1]-e)*(l-s)/(c-s)&&(i=!i)}}return i}function h(e,t){let l=e.length,n=new Float64Array(l),a=new Float64Array(l),r=Array(l).fill(null),i=Array(l),u=new Int32Array(16384),h=t.east-t.west,m=t.north-t.south,p=Array(l).fill(null);for(let x=0;x<l;x++){let l=e[x].rings;if(i[x]=[],!l||0===l.length||l[0].length<3)continue;let f=d(l[0]);if(!f)continue;r[x]=f;for(let e=1;e<l.length;e++){let t=d(l[e]);t&&i[x].push(t)}let g=s(c(l[0],t)),b=o(c(l[0],t));for(let e=1;e<l.length;e++){let n=c(l[e],t);g-=s(n),b+=o(n)}if(n[x]=Math.max(0,g),a[x]=b>0?2*n[x]/b:0,h<=0||m<=0)continue;let v=Math.floor((Math.max(f.xMin,t.west)-t.west)/h*128),w=Math.floor((Math.min(f.xMax,t.east)-t.west)/h*128),y=Math.floor((Math.max(f.yMin,t.south)-t.south)/m*128),j=Math.floor((Math.min(f.yMax,t.north)-t.south)/m*128),k=Math.max(0,Math.min(127,v)),N=Math.max(0,Math.min(127,w)),M=Math.max(0,Math.min(127,y)),S=Math.max(0,Math.min(127,j));if(!(f.xMax<t.west)&&!(f.xMin>t.east)&&!(f.yMax<t.south)&&!(f.yMin>t.north)){p[x]=Int32Array.from([k,N,M,S]);for(let e=M;e<=S;e++)for(let t=k;t<=N;t++)u[128*e+t]++}}let x=new Int32Array(16385);for(let e=0;e<16384;e++)x[e+1]=x[e]+u[e];let f=new Int32Array(x[16384]),g=x.slice(0,16384);for(let e=0;e<l;e++){let t=p[e];if(t)for(let l=t[2];l<=t[3];l++)for(let n=t[0];n<=t[1];n++)f[g[128*l+n]++]=e}return{count:l,areaM2:n,widthM:a,cellStart:x,cellPoly:f,outers:r,holes:i,bounds:t}}function m(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:20,a=n>0?n:20,r=111320*Math.cos((l.north+l.south)/2*Math.PI/180),s=[],o=[],i=new Float64Array(t.count),c=[];for(let n of e){let e=new Map,d=0;for(let s of n.paths)!function(e,t,l,n,a){if(e.length<2||!(t>0))return;let r=e.length,s=Array(r-1),o=0;for(let t=1;t<r;
1t++){let l=Math.hypot((e[t][0]-e[t-1][0])*n,(e[t][1]-e[t-1][1])*111320);s[t-1]=l,o+=l}if(!(o>0))return;let i=t/2,c=0,d=0;for(;i<o;){for(;c<s.length-1&&d+s[c]<i;)d+=s[c],c++;let n=s[c],r=n>0?(i-d)/n:0,o=e[c][0]+(e[c+1][0]-e[c][0])*r,u=e[c][1]+(e[c+1][1]-e[c][1])*r;o>=l.west&&o<=l.east&&u>=l.south&&u<=l.north&&a(o,u),i+=t}}(s.points,a,l,r,(l,n)=>{for(let r of(d++,!function(e,t,l,n){n.length=0;let a=e.bounds,r=a.east-a.west,s=a.north-a.south;if(r<=0||s<=0)return;let o=Math.floor((t-a.west)/r*128),i=Math.floor((l-a.south)/s*128);o<0?o=0:o>=128&&(o=127),i<0?i=0:i>=128&&(i=127);let c=128*i+o;for(let a=e.cellStart[c],r=e.cellStart[c+1];a<r;a++){let r=e.cellPoly[a],s=e.outers[r];if(!s||!u(s,t,l))continue;let o=!1;for(let n of e.holes[r])if(u(n,t,l)){o=!0;break}o||n.push(r)}}(t,l,n,c),c)){var a;e.set(r,(null!==(a=e.get(r))&&void 0!==a?a:0)+1),i[r]+=1}});s.push(e),o.push(d)}let d=[];for(let l=0;l<e.length;l++){let n=e[l],r=s[l],c=0;for(let[e,l]of r){let n=i[e];n>0&&(l*a<2*t.widthM[e]&&2*l<n||(c+=t.areaM2[e]*l/n))}let u=o[l]*a,h=u>0?c/u:0;d.push({key:n.key,widthM:Math.max(h,n.floorM),lengthM:u,areaM2:c,polyHits:r})}return d}function p(e,t){let l=new Set,n=new Set,a=new Set,r=new Set;for(let o of e){var s;if(!(o.lengthM>0)){l.add(o.key);continue}let e=(s=o.widthM,!(t>0)||s>=t);for(let t of(e?l.add(o.key):n.add(o.key),o.polyHits.keys()))r.add(t),e&&a.add(t)}return{kept:l,dropped:n,keptPolys:a,touchedPolys:r,recs:[...e]}}},38771:(e,t,l)=>{l.d(t,{Ah:()=>h,OY:()=>s,ml:()=>u,so:()=>o});var n=l(52371);let a=-Math.PI/6,r=7*Math.PI/6,s={enabled:!1,minDiameterMm:.4,minPrintableDiameterMm:.4,minCoverMm:1.2,baseSafetyMm:.6,sampleSpacingMm:.35,radialSegments:12,flareRatio:1.4};function o(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.Ad,a=arguments.length>3?arguments[3]:void 0;return e?(0,n.dj)(e,t,l,a):0}function i(e){return Math.max(0,Math.min(1,e))}function c(e){let t=Math.hypot(e[0],e[1],e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function d(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function u(e,t){let l=e.filter(e=>e.points.length>=2&&e.radiusMm>0);if(0===l.length)return null;let n=Math.max(6,Math.round(.75*Math.max(8,Math.min(24,Math.round(t))))),s=[],o=[];for(let e of l){let t=s.length/3,l=e.points;for(let e=0;e<l.length;e++){let t=l[Math.max(0,e-1)],o=l[Math.min(l.length-1,e+1)],i=c([o.xMm-t.xMm,o.yMm-t.yMm,o.zMm-t.zMm]),u=d(i,[0,0,1]);1e-6>Math.hypot(u[0],u[1],u[2])&&(u=[1,0,0]),u=c(u);let h=c(d(u,i)),m=l[e].xMm,p=l[e].yMm,x=l[e].zMm,f=l[e].floorZMm,g=l[e].rMm;for(let e=0;e<=n;e++){let t=a+(r-a)*e/n,l=Math.cos(t),o=Math.sin(t),i=m+(u[0]*l+h[0]*o)*g,c=p+(u[1]*l+h[1]*o)*g,d=x+(u[2]*l+h[2]*o)*g;d<f&&(d=f),s.push(i,c,d)}}let i=n+1;for(let e=0;e<l.length-1;e++){let l=t+e*i,a=t+(e+1)*i;for(let e=0;e<n;e++)o.push(l+e,a+e,l+e+1),o.push(l+e+1,a+e,a+e+1)}let u=t+(l.length-1)*i,h=s.length/3;s.push(l[0].xMm,l[0].yMm,l[0].floorZMm);let m=s.length/3,p=l[l.length-1];s.push(p.xMm,p.yMm,p.floorZMm);for(let e=0;e<n;e++)o.push(h,t+e+1,t+e),o.push(m,u+e,u+e+1)}return{positions:new Float32Array(s),indices:new Uint32Array(o),partName:"terrain_base",displayName:"TUNNEL-BORE-CUTTER",color:"#FFFFFF"}}function h(e){var t,l,n;let{strokes:a,heightfield:r,bounds:s,outputSizeMm:o,verticalScale:c,baseMm:d,settings:h}=e,m=null!==(t=e.inlayDepthMm)&&void 0!==t?t:1;if(!h.enabled||!r||!s)return{enabled:!1,paths:[],warnings:[],cutterMesh:null};let p=a.filter(e=>e.stroke.tunnel&&e.stroke.points.length>=2);if(0===p.length)return{enabled:!0,paths:[],warnings:[{severity:"info",code:"no_tunnels",message:"ãã³ãã«ç©ºæ´ã®å¯¾è±¡ã«ãªãæç¤ºãã³ãã«ç·ãããã¾ããã"}],cutterMesh:null};let x=[],f=[],g=Math.max(h.minCoverMm,m+.2),b=Math.max(.02,.05*c);for(let{stroke:e,widthMm:t,extrudeMm:a}of p){let u=Math.max(.2,Math.max(.05,t)/2),m=2*u,p=[];m<h.minPrintableDiameterMm-1e-6&&p.push({severity:"warning",code:"too_thin",diameterMm:m,message:"ãã³ãã«å¾ ".concat(m.toFixed(2),"mm 㯠").concat(h.minPrintableDiameterMm,"mm æªæºã®ãããå¯è¦åã»é å½¢ä¿è¨¼å¤ã§ãã")});let v=function(e,t,l,n){if(e.length<2)return[];let a=e.map(e=>({...e,xMm:(e.lng-t.west)/(t.east-t.west)*l,yMm:(e.lat-t.south)/(t.north-t.south)*l})),r=function(e){let t=0;for(let l=1;l<e.length;l++)t+=Math.hypot(e[l].xMm-e[l-1].xMm,e[l].yMm-e[l-1].yMm);return t}(a);if(r<=0)return[];let s=[],o=Math.max(2,Math.ceil(r/Math.max(.05,n))+1),c=1,d=0,u=Math.hypot(a[1].xMm-a[0].xMm,a[1].yMm-a[0].yMm);for(let e=0;e<o;e++){let t=r*e/(o-1);for(;c<a.length-1&&d+u<t;)d+=u,u=Math.hypot(a[++c].xMm-a[c-1].xMm,a[c].yMm-a[c-1].yMm);let l=u>0?i((t-d)/u):0,n=a[c-1],h=a[c];s.push({lat:n.lat+(h.lat-n.lat)*l,lng:n.lng+(h.lng-n.lng)*l,xMm:n.xMm+(h.xMm-n.xMm)*l,yMm:n.yMm+(h.yMm-n.yMm)*l,tMm:t})}return s}(e.points,s,o,h.sampleSpacingMm);if(v.length<2)continue;let w=v.map(e=>(function(e,t,l,n,a){let r=111320*Math.cos((t.north+t.south)/2*Math.PI/180),s=Math.max(1,((t.north-t.south)*111320+(t.east-t.west)*r)/2);return(function(e,t,l){let n=i((l.lng-t.west)/(t.east-t.west))*(e.width-1),a=i((t.north-l.lat)/(t.north-t.south))*(e.height-1),r=Math.floor(n),s=Math.floor(a),o=Math.min(e.width-1,r+1),c=Math.min(e.height-1,s+1),d=n-r,u=a-s,h=e.data[s*e.width+r];return h*(1-d)*(1-u)+e.data[s*e.width+o]*d*(1-u)+e.data[c*e.width+r]*(1-d)*u+e.data[c*e.width+o]*d*u}(e,t,a)-e.minElev)/s*l*n})(r,s,o,c,e)+d),y=v.map(e=>e.xMm>=-1e-6&&e.xMm<=o+1e-6&&e.yMm>=-1e-6&&e.yMm<=o+1e-6),j=[],k=-1;for(let e=0;e<=v.length;e++)e<v.length&&y[e]?k<0&&(k=e):k>=0&&(e-k>=2&&j.push([k,e-1]),k=-1);if(0===j.length){x.push(...p);continue}for(let r=0;r<j.length;r++){let[s,o]=j[r],c=o-s+1,y=0===r?[...p]:[],k=v[s].tMm,N=v[o].tMm,M=Math.max(1e-6,N-k),S=1/0;for(let e=s;e<=o;e++)S=Math.min(S,w[e]);let C=g+1.5*u,E=(e,t)=>void 0!==t?t?"portal":"closed":w[e]-S>C?"closed":"portal",T=s>0?"boundary":E(s,null===(l=e.portalEnds)||void 0===l?void 0:l[0]),P=o<v.length-1?"boun
1dary":E(o,null===(n=e.portalEnds)||void 0===n?void 0:n[1]);if("closed"===T&&"closed"===P){y.push({severity:"info",code:"sealed_void",message:"ãã®ãã³ãã«ç·ã¯åºå
¥ãå£ï¼åå£ã»åãé¢ï¼ãç¯å²å
ã«ç¡ãããã空æ´ãä½ã£ã¦ãã¾ããï¼ç ´ç·è¡¨ç¤ºã®ã¿ï¼ã"}),x.push(...y);continue}let A=Array(c),W=Array(c);for(let e=0;e<c;e++)A[e]=w[s+e]+a-g-1.5*u,W[e]=v[s+e].tMm;let L=function(e,t,l){let n=e.length,a=e.slice();for(let e=1;e<n;e++)a[e]=Math.min(a[e],a[e-1]+l*(t[e]-t[e-1]));for(let e=n-2;e>=0;e--)a[e]=Math.min(a[e],a[e+1]+l*(t[e+1]-t[e]));return a}(A,W,b),I="portal"===T?w[s]+a:L[0],z="portal"===P?w[o]+a:L[c-1],F=Math.max(u,Math.min(u*Math.max(1,Math.min(2,h.flareRatio)),1.6)),D=F/u,B=Math.max(0,Math.min(Math.max(1.5,4*u),Math.max(0,.25*M))),R=1/0,O=0,_=[];for(let e=0;e<c;e++){let t=s+e,l=v[t],n=w[t],r=n+a,o=Math.min("portal"===T?l.tMm-k:1/0,"portal"===P?N-l.tMm:1/0),c=u*function(e,t,l){if(l<=1||t<=0)return 1;let n=1-i(e/t);return 1+(l-1)*n*n}(Number.isFinite(o)?o:1e9,B,D),d=Number.isFinite(o)?i(o/Math.max(1e-6,B)):1,m=(1-d)*(1-d),p=m*r+(1-m)*Math.max(Math.min(I+(z-I)*((l.tMm-k)/M),L[e]),h.baseSafetyMm),x=p+c/2;if(m<=0){R=Math.min(R,L[e]);let t=r-g;x+c>t+1e-9&&(x=Math.max(t-c,p),O++)}_.push({xMm:l.xMm,yMm:l.yMm,zMm:x,rMm:c,floorZMm:p,terrainSurfaceZMm:n,infraCrownZMm:r})}if(_.length<2){x.push(...y);continue}if(R<h.baseSafetyMm-1e-9){let e=h.baseSafetyMm-R,t=Math.ceil(d+e);y.push({severity:"error",code:"bottom_break",suggestedBaseMm:t,deficitMm:e,message:"ãã³ãã«åºãåºé¢ã ".concat(e.toFixed(2),"mm ä¸åãå¯è½æ§ãããã¾ããåºé¢åã¿ãç´ ").concat(t,"mm 以ä¸ã«ãã¦ãã ããã")})}O>0&&y.push({severity:"info",code:"surface_clamped",clampedCount:O,message:"åºé¢åã¿ãè¶³ããªãåºéã§ãå°è¡¨ãç ´ããªããããã³ãã«æé¢ãä¸ãã¦èª¿æ´ãã¾ããã"});let G=2*F;("portal"===T||"portal"===P)&&D>1&&G<1.199999&&y.push({severity:"info",code:"mouth_too_small",diameterMm:G,message:"åå£å¾ ".concat(G.toFixed(2),"mm ã¯èç¼ã§ç©´ã¨èªèãã¥ãã寸æ³ã§ãããã®ç·ã®å¹
ãä¸ããã¨åå£ã大ãããªãã¾ãã")}),f.push({id:j.length>1?"".concat(e.id,"#").concat(r):e.id,widthMm:t,diameterMm:m,radiusMm:u,mouthRadiusMm:F,flareRatio:D,flareLengthMm:B,startKind:T,endKind:P,startBoundary:"boundary"===T,endBoundary:"boundary"===P,points:_,warnings:y}),x.push(...y)}}let v=u(f,h.radialSegments),w=new Set;return{enabled:!0,paths:f,warnings:x.filter(e=>!w.has(e.code)&&(w.add(e.code),!0)),cutterMesh:v}}},16087:(e,t,l)=>{l.d(t,{EY:()=>_,Jr:()=>U,aP:()=>f,mJ:()=>B,sQ:()=>G,t6:()=>v,tY:()=>D,zf:()=>k});var n=l(20176),a=l(87231),r=l(37164),s=l(18862),o=l(46447),i=l(81575),c=l(32899),d=l(51191),u=l(88493),h=l(77507),m=l(52825),p=l(40589),x=l(90032);let f=[{kind:"river",label:"大河å·ï¼æ¯æµã®æ°´ç³»ãå«ãï¼",description:"ãã¹ã¦ã®æ²³å·ä¸å¿ç·ï¼æ¯æµãå«ãï¼",defaultEnabled:!1},{kind:"canal",label:"ç¨æ°´è·¯",description:"äººãæ°´ãé
ãããã®æ°´è·¯ï¼çæ¼ã»èéï¼",defaultEnabled:!1},{kind:"stream",label:"å°å·ã»å¹²æ½ã®æ¾ªï¼ã¿ãï¼",description:"èªç¶ã®å°æ²³å·ã»æ¯æµã¨ãå¹²æ½ã«æ½®ãå»ã澪ç",defaultEnabled:!1},{kind:"drain",label:"ææ°´è·¯ã»å´æº",description:"äººãæ°´ãæãããã®æ°´è·¯ï¼ææ°´è·¯ã»å´æºï¼",defaultEnabled:!1}];function g(e){if(!e)return!1;let t=e.tunnel;return!!t&&"no"!==t||"underground"===e.location}let b=["river","canal","stream","drain","ditch","tidal_channel"];function v(){return new Set(f.filter(e=>e.defaultEnabled).map(e=>e.kind))}function w(e,t){return Math.floor((e+180)/360*Math.pow(2,t))}function y(e,t){let l=e*Math.PI/180;return Math.floor((1-Math.log(Math.tan(l)+1/Math.cos(l))/Math.PI)/2*Math.pow(2,t))}function j(e,t,l,n){let a=111320*Math.cos((t.north+t.south)/2*Math.PI/180),r=(t.north-t.south)*111320;return e*(l/((t.east-t.west)*a)+n/r)/2}function k(e){return!!e&&"object"==typeof e&&"AbortError"===e.name}async function N(e,t,l,n,a,r){try{let{elements:s,meta:o}=await (0,c.P1)(e,e=>(function(e,t,l,n){let a="".concat(e.south,",").concat(e.west,",").concat(e.north,",").concat(e.east),r="";if(t&&t.size>0){let e=Array.from(t);e.includes("drain")&&!e.includes("ditch")&&e.push("ditch"),e.includes("stream")&&!e.includes("tidal_channel")&&e.push("tidal_channel"),r+='\n way["waterway"~"^('.concat(e.join("|"),')$"];')}let s="";if(n){let e=b.join("|");s='\n way["waterway"~"^('.concat(e,')$"]["tunnel"];')+'\n way["waterway"~"^('.concat(e,')$"]["location"="underground"];')}return l?"\n[out:json][timeout:".concat(d.lO,"][bbox:").concat(a,'];\n(\n way["natural"="water"];\n relation["natural"="water"];\n way["waterway"="riverbank"];\n relation["waterway"="riverbank"];\n way["landuse"~"^(reservoir|basin)$"];\n relation["landuse"~"^(reservoir|basin)$"];').concat(r).concat(s,'\n);\nout body geom;\nrelation["waterway"="river"]["name"]->.rr;\n.rr out body geom;\nway(r.rr);\nout tags;\n').trim():"\n[out:json][timeout:".concat(d.xN,"][bbox:").concat(a,'];\n(\n way["natural"="water"];\n relation["natural"="water"];\n way["waterway"="riverbank"];\n relation["waterway"="riverbank"];\n way["landuse"~"^(reservoir|basin)$"];\n relation["landuse"~"^(reservoir|basin)$"];').concat(r).concat(s,"\n);\nout body geom;\n").trim()})(e,l,n,a),{signal:t,maxCellAreaKm2:n?0:d.gQ,onProgress:r});return{response:{elements:s},meta:o,error:null}}catch(e){if(k(e))throw e;return{response:null,meta:null,error:e}}}let M=new Set([0x33848dc7]),S=new Set(["lake","pond","reservoir","moat","reflecting_pool","oxbow","basin","wastewater","fishpond","lagoon","salt_pond","harbour"]),C=new Set(["river","riverbank","canal","stream","drain","ditch","rapids","lock"]);function E(e){if(!e)return"unknown";let t=e.landuse;if("reservoir"===t||"basin"===t)return"still";if("riverbank"===e.waterway)return"river";let l=e.water;return l?S.has(l)?"still":C.has(l)?"river":"unknown":"unknown"}function T(e){if(e.length<3)return 0;let t=111320*Math.cos(e[0][1]*Math.PI/180),l=0;for(let n=0;n<e.length;n++){let[a,r]=e[n],[s,o]=e[(n+1)%e.length];l+=a*t*(111320*o)-s*t*(111320*r)}return Math.abs(l)/2}function P(e,t){for(let t of e)if("river"===t.kind&&!t.underground)return!0;for(let e of t)if(e.segments.length>0)return!0;return!1}function A(e){let t=[],l=e.map(e=>[...e]),n=(e,t)=>1e-7>Math.abs(e[0]-t[0])&&1e-7>
1Math.abs(e[1]-t[1]);for(;l.length>0;){let e=l.shift(),a=!0;for(;a&&!n(e[0],e[e.length-1]);){a=!1;for(let t=0;t<l.length;t++){let r=l[t],s=e[e.length-1],o=r[0],i=r[r.length-1];if(n(s,o)){e.push(...r.slice(1)),l.splice(t,1),a=!0;break}if(n(s,i)){e.push(...[...r].reverse().slice(1)),l.splice(t,1),a=!0;break}if(n(e[0],i)){e.unshift(...r.slice(0,-1)),l.splice(t,1),a=!0;break}if(n(e[0],o)){e.unshift(...[...r].reverse().slice(0,-1)),l.splice(t,1),a=!0;break}}}e.length>=3&&t.push(e)}return t}async function W(e,t,l,o){let i=s.w$.optimalBvmap.replace("{z}",String(e)).replace("{x}",String(t)).replace("{y}",String(l));try{let e=await fetch(i,{signal:o});if(!e.ok)return null;let t=await e.arrayBuffer();return await (0,n.t)(),new r.cW(new a.A(t))}catch(e){return null}}function L(e,t,l,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"any",r=new OffscreenCanvas(l,n).getContext("2d");for(let a of(r.clearRect(0,0,l,n),r.fillStyle="white",e)){for(let e of(r.beginPath(),a.rings)){let a=!0;for(let[s,o]of e){let e=(s-t.west)/(t.east-t.west)*l,i=(t.north-o)/(t.north-t.south)*n;a?(r.moveTo(e,i),a=!1):r.lineTo(e,i)}r.closePath()}r.fill("evenodd")}let s=r.getImageData(0,0,l,n),o=new Uint8Array(l*n);if("half"===a)for(let e=0;e<o.length;e++)o[e]=s.data[4*e+3]>=128?1:0;else for(let e=0;e<o.length;e++)o[e]=s.data[4*e]>128?1:0;return o}function I(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=new OffscreenCanvas(l,l).getContext("2d");a.clearRect(0,0,l,l),a.strokeStyle="white",a.lineWidth=n,a.lineCap="round",a.lineJoin="round";let r=e=>(e-t.west)/(t.east-t.west)*l,s=e=>(t.north-e)/(t.north-t.south)*l;for(let t of e)if(!(t.points.length<2)){a.beginPath();for(let e=0;e<t.points.length;e++){let l=r(t.points[e][0]),n=s(t.points[e][1]);0===e?a.moveTo(l,n):a.lineTo(l,n)}a.stroke()}let o=a.getImageData(0,0,l,l),i=new Uint8Array(l*l);for(let e=0;e<i.length;e++)i[e]=o.data[4*e]>0?1:0;return i}function z(e){return Math.max(1,Math.min(16,Math.ceil(250/e)))}async function F(e,t,l){let n=Math.max(12,Math.min(Math.round(Math.log2(360/((e.east-e.west)/6))),16)),a=w(e.west,n),r=w(e.east,n),s=y(e.north,n),o=y(e.south,n),i=[],c=[],d=(r-a+1)*(o-s+1),u=0,h=0;null==l||l(0,d);let p=[];for(let e=s;e<=o;e++)for(let s=a;s<=r;s++)p.push((async()=>{let a=await W(n,s,e,t);if(a){let{sea:t,inland:l}=function(e,t,l,n){let a=[],r=[],s=e.layers.WA;if(!s)return{sea:a,inland:r};for(let e=0;e<s.length;e++){var o;let i=s.feature(e);if(3!==i.type)continue;let c=function(e){let t=Number(e);if(!Number.isFinite(t))return null;let l=Math.floor(t/100);return 51===l?51:52===l?52:null}(null===(o=i.properties)||void 0===o?void 0:o.vt_code);if(null===c)continue;let d=51===c?a:r,u=i.loadGeometry(),h=i.extent||4096;for(let e of(0,m.r)(u)){let a=e.map(e=>e.map(e=>[(t+e.x/h)/Math.pow(2,n)*360-180,function(e,t){let l=Math.PI-2*Math.PI*e/Math.pow(2,t);return 180/Math.PI*Math.atan(.5*(Math.exp(l)-Math.exp(-l)))}(l+e.y/h,n)]));d.push({rings:a})}}return{sea:a,inland:r}}(a,s,e,n);i.push(...t),c.push(...l)}else h++;u++,null==l||l(u,d)})());return await Promise.all(p),{zoom:n,sea:i,inland:c,totalTiles:d,failedTiles:h}}function D(e,t,l,n){var a;return null!==(a=null==l?void 0:l[t])&&void 0!==a?a:"mainstem"===e||!0===n}function B(e,t){if(e===t)return!0;let l=Object.keys(e),n=Object.keys(t);if(l.length!==n.length)return!1;for(let n of l)if(!(n in t)||e[n]!==t[n])return!1;return!0}async function R(e,t,l){var n,a,r;let{enabledLayers:s,showMainRiver:i=!1,showUndergroundWater:c=!1,onProgress:d}=l,u=i||null!==(a=null==s?void 0:s.has("river"))&&void 0!==a&&a,h={stillPolygons:[],riverPolygons:[],unknownPolygons:[],lines:[],relationGroups:[],meta:null,error:null,elementCount:0},{response:m,meta:p,error:x}=await N(e,t,s,u,c,(e,t)=>null==d?void 0:d({stage:"osm",done:e,total:t,cached:!1}));if(h.meta=p,h.error=x,h.elementCount=null!==(r=null==m?void 0:null===(n=m.elements)||void 0===n?void 0:n.length)&&void 0!==r?r:0,m&&h.elementCount>0)try{let e=function(e){let t=[],l=[],n=[],a=[],r=[],s=(e,a)=>{"still"===e?t.push(a):"river"===e?l.push(a):n.push(a)},i=new Map;for(let t of e.elements)"way"===t.type&&!t.geometry&&t.tags&&i.set(t.id,t.tags);for(let t of e.elements){let e=t.tags||{},l=e.landuse,n="water"===e.natural||"riverbank"===e.waterway||"reservoir"===l||"basin"===l,c=e.waterway;if("way"===t.type&&t.geometry){let l=t.geometry.map(e=>[e.lon,e.lat]);n&&l.length>=4?s(E(e),{rings:[l]}):c&&!n&&l.length>=2&&a.push({points:l,kind:c,widthMeters:function(e,t){let l=void 0!==t&&M.has(t)?void 0:e.width;if(l){let e=parseFloat(l);
1if(!isNaN(e)&&e>0)return e}switch(e.waterway||""){case"river":case"canal":return 3;case"stream":return 1.5;case"tidal_channel":return 2;case"drain":return .8;case"ditch":return .5;default:return 1}}(e,t.id),name:e.name||void 0,underground:g(e)})}else if("relation"===t.type&&t.members){if(n){let l=[],n=[];for(let e of t.members){if(!e.geometry||e.geometry.length<2)continue;let t=e.geometry.map(e=>[e.lon,e.lat]);"outer"===e.role?l.push(t):"inner"===e.role&&n.push(t)}let a=A(l),r=A(n),o=E(e);for(let e of a)s(o,{rings:[e,...r]})}else if("river"===e.waterway){let l=e.name||"river-".concat(t.id),n=[],a=0;for(let e of t.members){if(!e.geometry||e.geometry.length<2)continue;let t=i.get(e.ref);if(t&&("river"!==t.waterway||g(t)))continue;let r=e.geometry.map(e=>[e.lon,e.lat]);n.push({points:r,widthMeters:3,name:l}),a+=(0,o.ae)(r)}n.length>0&&r.push({name:l,segments:n,totalLengthM:a,id:t.id})}}}return{stillPolygons:t,riverPolygons:l,unknownPolygons:n,lines:a,relationGroups:r}}(m);h.stillPolygons=e.stillPolygons,h.riverPolygons=e.riverPolygons,h.unknownPolygons=e.unknownPolygons,h.lines=e.lines,h.relationGroups=e.relationGroups}catch(e){if(k(e))throw e;h.parseError=e,console.warn("[æ°´ç³»] OSM æ°´ç³»ã®åå¾ã»çæã«å¤±æï¼å·ã¯æããã¾ããï¼:",e)}return h}async function O(e,t){var l,n;let a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{enabledLayers:s,showSea:o=!0,needSeaMask:i=!1,showMainRiver:c=!1,showGsiDetailedWater:d=!1,onProgress:u,sourceCache:m}=r;if(null==t?void 0:t.aborted)throw new DOMException("Aborted","AbortError");let p=(0,x.ii)(e);m&&(0,x.D6)(m,p);let f=(0,x.EO)(r),g=e=>{(null==t||!t.aborted)&&m&&m.boundsKey===p&&e(m)};if((null==m?void 0:m.osm)&&m.osmKey===f)a=m.osm,null==u||u({stage:"osm",done:0,total:0,cached:!0});else if(null===(a=await R(e,t,r)).error&&void 0===a.parseError&&!(null===(l=a.meta)||void 0===l?void 0:l.partial)){let e=a;g(t=>{t.osm=e,t.osmKey=f})}let b=null!==(n=null==s?void 0:s.has("river"))&&void 0!==n&&n,v=a.elementCount>0&&void 0===a.parseError&&(b||c)&&P(a.lines,a.relationGroups),w=null;if(o||i||v){if(null==m?void 0:m.gsiWater)w=m.gsiWater,null==u||u({stage:"gsiWater",done:0,total:0,cached:!0});else try{let l=await F(e,t,(e,t)=>null==u?void 0:u({stage:"gsiWater",done:e,total:t,cached:!1}));w=l,0===l.failedTiles&&g(e=>{e.gsiWater=l})}catch(e){w=null}}let y=null;if(d){if(null==m?void 0:m.gsiDetail)y=m.gsiDetail,null==u||u({stage:"gsiDetail",done:0,total:0,cached:!0});else try{let l=await (0,h.vo)(e,t,(e,t)=>null==u?void 0:u({stage:"gsiDetail",done:e,total:t,cached:!1}));y=l,0===l.meta.failedTiles&&g(e=>{e.gsiDetail=l})}catch(e){console.warn("[詳細水系] è£å®ã«å¤±æï¼æ°´ç³»ã¯ OSM ã®ã¿ã§ç¶è¡ï¼:",e),y=null}}let j={boundsKey:p,osmKey:f,osm:a,gsiWater:w,gsiDetail:y};return g(e=>{e.osm===a&&e.osmKey===f&&(null===w||e.gsiWater===w)&&(null===y||e.gsiDetail===y)&&(e.lastSource=j)}),j}function _(e,t,l){var n,a;if(e.boundsKey!==t||e.osmKey!==(0,x.EO)(l)||null!==e.osm.error||void 0!==e.osm.parseError||(null===(n=e.osm.meta)||void 0===n?void 0:n.partial))return!1;let{enabledLayers:r,showSea:s=!0,needSeaMask:o=!1,showMainRiver:i=!1,showGsiDetailedWater:c=!1}=l;if(c&&(!e.gsiDetail||e.gsiDetail.meta.failedTiles>0))return!1;let d=null!==(a=null==r?void 0:r.has("river"))&&void 0!==a&&a,u=e.osm.elementCount>0&&(d||i)&&P(e.osm.lines,e.osm.relationGroups);return!s&&!o&&!u||!!e.gsiWater&&!(e.gsiWater.failedTiles>0)}function G(e,t,l){var n,a,r,s,c,d,m,x,f;let g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{outputSizeMm:b=150,enabledLayers:v,showSea:w=!0,needSeaMask:y=!1,showLargeStillWater:N=!0,showSmallStillWater:M=!1,showMainRiver:S=!1,mainRiverSelection:C,showGsiDetailedWater:E=!1,showUndergroundWater:P=!1,onProgress:A}=g,W=(t.north+t.south)/2,F=Math.max((t.north-t.south)*111320,(t.east-t.west)*111320*Math.cos(W*Math.PI/180)),B=F>0?b/F:0,R=null,O=null,_=null,G=null,U=[],H={attempted:!1,failed:!1,partial:!1,failedCells:0,totalCells:0,riverWidthFilterApplied:!1,riverMinWidthM:0,hiddenMainRiverCount:0,hiddenTributaryCount:0,mainRiverCatalog:[]};try{let h=null!==(n=null==v?void 0:v.has("river"))&&void 0!==n&&n;H.attempted=!0;let p=e.osm,f=p.meta;
1if(f&&(H.totalCells=f.totalCells,H.failedCells=f.failedCells,H.partial=f.partial),null!==p.error&&(H.failed=!0,H.error=p.error),void 0!==p.parseError&&(H.failed=!0,H.error=p.parseError),p.elementCount>0&&void 0===p.parseError){let{stillPolygons:e,unknownPolygons:n,lines:f,relationGroups:g}=p,w=[...p.riverPolygons];null==A||A({stage:"riverWidth",done:0,total:0,cached:!1});let y=f.filter(e=>!e.underground&&("river"===e.kind||"stream"===e.kind||"canal"===e.kind)).map(e=>({points:e.points}));for(let e of g)for(let t of e.segments)y.push({points:t.points});let k=[],W=new Set;for(let e of n)!function(e,t){if(e.length<3||0===t.length)return!1;let l=1/0,n=1/0,a=-1/0,r=-1/0;for(let[t,s]of e)t<l&&(l=t),t>a&&(a=t),s<n&&(n=s),s>r&&(r=s);for(let s of t)for(let t of s.points)if(!(t[0]<l)&&!(t[0]>a)&&!(t[1]<n)&&!(t[1]>r)&&function(e,t){let l=!1;for(let n=0,a=t.length-1;n<t.length;a=n++){let[r,s]=t[n],[o,i]=t[a];s>e[1]!=i>e[1]&&e[0]<(o-r)*(e[1]-s)/(i-s)+r&&(l=!l)}return l}(t,e))return!0;return!1}(e.rings[0],y)?k.push(e):(W.add(w.length),w.push(e));let{large:L,small:K}=function(e,t){let l=[],n=[];for(let a of e){let e=function(e){if(0===e.rings.length)return 0;let t=T(e.rings[0]);for(let l=1;l<e.rings.length;l++)t-=T(e.rings[l]);return Math.max(0,t)}(a);e*t*t<.8||(e>=1e4?l:n).push(a)}return{large:l,small:n}}([...e,...k],B),Y=(0,i.pk)(B,.2),V=null,Z=()=>null!=V?V:V=(0,i.Bo)(w,t),q=[],X=[],$=[],J=new Set;if((S||h)&&g.length>0){let e=(0,o.fg)(g),l=[];for(let e=0;e<g.length;e++){let t=(0,o.Re)([g[e]]);0!==t.length&&l.push({gi:e,key:(m=g[e],x=e,void 0!==m.id?"r".concat(m.id):"M".concat(x,":").concat(m.name)),segs:t})}let n=new Map;if(l.length>0)for(let e of(0,i.mB)(l.map(e=>({key:e.key,paths:e.segs.map(e=>({points:e.points})),floorM:e.segs.reduce((e,t)=>Math.max(e,t.widthMeters),0)})),Z(),t))n.set(e.key,e.widthM);for(let e of l.map(e=>e.gi))J.add(e);for(let{gi:t,key:r,segs:s}of l){let l=g[t],o=e[t],i="tributary"===o.verdict?"tributary":"mainstem",c=void 0!==o.receiverIndex?g[o.receiverIndex].name:void 0,d=null!==(a=n.get(r))&&void 0!==a?a:0,u="tributary"===i&&Y>0&&d>=Y,m=D(i,r,C,u),p={key:r,name:l.name,role:i,lengthKm:l.totalLengthM/1e3,widthM:d,selected:m,hiddenByWidth:!1};void 0!==c&&(p.receiver=c),u&&(p.wideEnough=!0),$.push(p),h||m?q.push({key:r,name:l.name,segs:s}):X.push({key:r,name:l.name,segs:s,segments:l.segments})}}H.mainRiverCatalog=S?$:[];let Q=(0,i.aO)(B,.2),ee=Q>0&&(h||S),et=new Set,el=new Set,en=new Set,ea=new Set;if(ee||X.length>0){let e=Z(),l=S||h?q.map(e=>({key:e.key,paths:e.segs.map(e=>({points:e.points})),floorM:e.segs.reduce((e,t)=>Math.max(e,t.widthMeters),0)})):[],n=new Map;if(h){let e=(e,t)=>{let l=n.get(e);l||(l={lines:[]},n.set(e,l)),l.lines.push(t)},t=[];for(let l of f)!l.underground&&"river"===l.kind&&(l.name?e("T:".concat(l.name),l):l.points.length>=2&&t.push(l));let l=t.map((e,t)=>t),a=e=>{for(;l[e]!==e;)l[e]=l[l[e]],e=l[e];return e},r=e=>"".concat(e[0].toFixed(7),",").concat(e[1].toFixed(7)),s=new Map;t.forEach((e,t)=>{for(let n of[e.points[0],e.points[e.points.length-1]]){let e=r(n),o=s.get(e);if(void 0===o){s.set(e,t);continue}let i=a(o),c=a(t);i!==c&&(l[c]=i)}}),t.forEach((t,l)=>e("T#".concat(a(l)),t))}let a=[...n].map(e=>{let[t,l]=e;return{key:t,paths:l.lines.map(e=>({points:e.points})),floorM:l.lines.reduce((e,t)=>Math.max(e,t.widthMeters),0)}}),o=(0,i.VN)((0,i.mB)(l,e,t),Q),u=(0,i.VN)((0,i.mB)(a,e,t),Q);for(let e of o.dropped)el.add(e);for(let[e,t]of n)if(u.dropped.has(e))for(let e of t.lines)et.add(e);let m=t=>{!(o.keptPolys.has(t)||u.keptPolys.has(t))&&(e.widthM[t]>=Q||en.add(t))};for(let e of o.touchedPolys)m(e);for(let e of u.touchedPolys)m(e);if(X.length>0){let l=new Map;for(let e of[o,u])for(let t of e.recs)if(e.kept.has(t.key))for(let[e,n]of t.polyHits)l.set(e,(null!==(r=l.get(e))&&void 0!==r?r:0)+n);let n=[];for(let e=0;e<g.length;e++){if(J.has(e))continue;let t=g[e].segments;0!==t.length&&n.push({key:"U".concat(e),paths:t.map(e=>({points:e.points})),floorM:0})}if(n.length>0)for(let a of(0,i.mB)(n,e,t))for(let[e,t]of a.polyHits)l.set(e,(null!==(s=l.get(e))&&void 0!==s?s:0)+t);let a=X.map(e=>({key:e.key,paths:e.segs.map(e=>({points:e.points})),floorM:0})),h=new Map;for(let l of(0,i.mB)(a,e,t))for(let[e,t]of l.polyHits)h.set(e,(null!==(c=h.get(e))&&void 0!==c?c:0)+t);for(let[t,n]of h)!((null!==(d=l.get(t))&&void 0!==d?d:0)>=n||en.has(t))&&(Q>0&&W.has(t)&&e.widthM[t]>=Q||ea.add(t))}
1for(let e of $)e.selected&&el.has(e.key)&&(e.hiddenByWidth=!0);H.riverWidthFilterApplied=ee,H.riverMinWidthM=Q,H.hiddenMainRiverCount=o.dropped.size;let p=new Set(q.map(e=>e.name).filter(e=>!!e)),x=0;for(let e of u.dropped){let t=e.startsWith("T:")?e.slice(2):"";!(t&&p.has(t))&&x++}H.hiddenTributaryCount=x}let er=[];if(N&&er.push(...L),M&&er.push(...K),h||S)for(let e=0;e<w.length;e++)en.has(e)||ea.has(e)||er.push(w[e]);let es=[];for(let e of q)if(!el.has(e.key))for(let t of e.segs)es.push({points:t.points,kind:"river",widthMeters:t.widthMeters,name:t.name});let eo=et.size>0?f.filter(e=>!et.has(e)):f;if(R=function(e,t,l,n,a,r,s,o){let i=new OffscreenCanvas(a,r).getContext("2d");i.clearRect(0,0,a,r);let c=e=>(e-n.west)/(n.east-n.west)*a,d=e=>(n.north-e)/(n.north-n.south)*r,u=new Uint8Array(a*r);for(let t of(i.fillStyle="white",e)){i.beginPath();for(let e=0;e<t.rings.length;e++){let l=t.rings[e];for(let e=0;e<l.length;e++){let t=c(l[e][0]),n=d(l[e][1]);0===e?i.moveTo(t,n):i.lineTo(t,n)}i.closePath()}i.fill("evenodd")}if(e.length>0){let e=i.getImageData(0,0,a,r).data;for(let t=0;t<u.length;t++)e[4*t+3]>=128&&(u[t]=1);i.clearRect(0,0,a,r)}i.strokeStyle="white",i.lineCap="round",i.lineJoin="round";let h=.2/(s/a);for(let e of t){if(e.underground)continue;let t=e.kind,l="ditch"===t?"drain":"tidal_channel"===t?"stream":t;if(!o||o.has(l)){if("river"===t||"canal"===t){let t=j(e.widthMeters,n,a,r);i.lineWidth=Math.max(h,t)}else i.lineWidth=.5;i.beginPath();for(let t=0;t<e.points.length;t++){let l=c(e.points[t][0]),n=d(e.points[t][1]);0===t?i.moveTo(l,n):i.lineTo(l,n)}i.stroke()}}for(let e of l){if("river"===e.kind||"canal"===e.kind){let t=j(e.widthMeters,n,a,r);i.lineWidth=Math.max(h,t)}else i.lineWidth=.5;i.beginPath();for(let t=0;t<e.points.length;t++){let l=c(e.points[t][0]),n=d(e.points[t][1]);0===t?i.moveTo(l,n):i.lineTo(l,n)}i.stroke()}let m=i.getImageData(0,0,a,r).data;for(let e=0;e<u.length;e++)m[4*e]>0&&(u[e]=1);return u}(er,eo,es,t,l,l,b,v),P&&(G=function(e,t,l,n,a){let r=new OffscreenCanvas(l,n).getContext("2d");r.clearRect(0,0,l,n),r.strokeStyle="white",r.lineCap="round",r.lineJoin="round";let s=e=>(e-t.west)/(t.east-t.west)*l,o=e=>(t.north-e)/(t.north-t.south)*n,i=.2/(a/l);for(let a of e){if(!a.underground)continue;let e="river"===a.kind||"canal"===a.kind;r.lineWidth=e?Math.max(i,j(a.widthMeters,t,l,n)):.5,r.beginPath();for(let e=0;e<a.points.length;e++){let t=s(a.points[e][0]),l=o(a.points[e][1]);0===e?r.moveTo(t,l):r.lineTo(t,l)}r.stroke()}let c=r.getImageData(0,0,l,n),d=new Uint8Array(l*n);for(let e=0;e<d.length;e++)d[e]=c.data[4*e]>0?1:0;return d}(f,t,l,l,b)),E){for(let e of f){if(e.underground)continue;let t=e.kind,l="ditch"===t?"drain":"tidal_channel"===t?"stream":t;(!v||v.has(l))&&U.push(e.points)}for(let e of q)for(let t of e.segs)U.push(t.points);for(let e of er)for(let t of e.rings)U.push(t);if(h||S)for(let e of en)for(let t of w[e].rings)U.push(t)}if(h||S){let e=function(e,t){let l=e.filter(e=>"river"===e.kind&&!e.underground).map(e=>({points:e.points}));for(let e of t)for(let t of e.segments)l.push({points:t.points});return l}(f,g);e.length>0&&(O=I(e,t,l))}if(O&&X.length>0){let e=z(F/l),n=X.flatMap(e=>e.segments),a=(0,u.IQ)(I(n,t,l),l,l,e),r=[...es];for(let e=0;e<g.length;e++)if(!J.has(e))for(let t of g[e].segments)r.push({points:t.points});if(h)for(let e of eo)"river"!==e.kind||e.underground||r.push(e);if(r.length>0){let n=(0,u.IQ)(I(r,t,l),l,l,e);for(let e=0;e<a.length;e++)n[e]&&(a[e]=0)}_=a}}}catch(e){if(k(e))throw e;H.failed=!0,H.error=e,console.warn("[æ°´ç³»] OSM æ°´ç³»ã®åå¾ã»çæã«å¤±æï¼å·ã¯æããã¾ããï¼:",e)}null==A||A({stage:"assemble",done:0,total:0,cached:!1});let K=R||new Uint8Array(l*l),Y=null,V=w||y,Z=!!O,q=null,X=null,$=null;if(V||Z){let n=e.gsiWater;if(n)try{X=L(n.sea,t,l,l),$=L(n.sea,t,l,l,"half"),q=L(n.inland,t,l,l,"half")}catch(e){X=null,$=null,q=null}}let J=q;if(q&&_){let e=new Uint8Array(q.length);for(let t=0;t<e.length;t++)q[t]&&(_[t]||(e[t]=1));J=e}if(J&&O){let e=J,t=z(F/l),n=(0,u.IQ)(O,l,l,t),a=new Uint8Array(l*l),r=!1;for(let t=0;t<a.length;t++)e[t]&&n[t]&&!K[t]&&(a[t]=1,r=!0);if(r){let e=(0,u.IQ)(O,l,l,1),t=(0,u.xU)(a,e,l,l);for(let e=0;e<K.length;e++)t[e]&&(K[e]=1)}}if(J&&function(e,t,l,n){let a=new Uint8Array(l*n),r=!1;for(let l=0;l<a.length;l++)t[l]&&!e[l]&&(a[l]=1,r=!0);if(!r)return;let s=(0,u.IQ)(e,l,n,1),o=(0,u.xU)(a,s,l,n);for(let t=0;t<e.length;t++)o[t]&&(e[t]=1)}(K,J,l,l),E&&e.gsiDetail)try{let n=e.gsiDetail,a=(0,h.qs)(n.lines),r=(0,h.E_)(B),{adoptedLines:s}=(0,h.SQ)(a,U,r);if(s.length>0){let e=I(s.map(e=>({points:e.points.map(e=>[e.lng,e.lat])})),t,l,.5);for(let t=0;t<K.length;t++)e[t]&&(K[t]=1)}if(n.areas.length>0){let e=function(e,t,l){let n=e.map(e=>({rings:e.rings.map(e=>e.map(e=>[e.lng,e.lat]))})),a=L(n,t,l,l),r=I(n.flatMap(e=>e.rings.filter(e=>e.length>=3).map(e=>({points:[...e,e[0]]}))),t,l,.5);for(let e=0;e<a.length;e++)r[e]&&(a[e]=1);return a}(n.areas,t,l);for(let t=0;t<K.length;t++)e[t]&&(K[t]=1)}}catch(e){console.warn("[詳細水系] è£å®ã«å¤±æï¼æ°´ç³»ã¯ OSM ã®ã¿ã§ç¶è¡ï¼:",e)}if(V&&X){let e=new Uint8Array(l*l),t=!1;for(let l=0;l<K.length;l++)!K[l]&&X[l]&&(e[l]=1,t=!0);if(t){let t;let n=(0,u.Ak)(e,l,l),a=(f=F/l)>0?{closeR:Math.min(2,Math.max(1,Math.floor(200/f))),bandR:Math.min(3,Math.max(1,Math.floor(300/f)))}:{closeR:2,bandR:3},r=(0,u.x9)(K,n,l,l,a.closeR,a.bandR);if($){let a=new Uint8Array(l*l);for(let e=0;e<K.length;e++)!K[e]&&$[e]&&(a[e]=1);let s=function(e,t,l,n){let a=(0,p.A$)(e,l,n,1),r=(0,u.IQ)(a,l,n,1),s=new Uint8Array(l*n);for(let l=0;l<s.length;l++)s[l]=t[l]||r[l]&&e[l]?1:0;return s}(e,a,l,l);t=(0,u.Ak)(s,l,l);let o=(0,u.IQ)(r,l,l,1);for(let e=0;e<t.length;e++)o[e]&&n[e]&&(t[e]=1)}else t=n;for(let e=0;e<t.length;e++)r[e]&&(t[e]=1);let s=!1;for(let e=0;e<t.length;e++)if(t[e]){s=!0;break}if(s&&(Y=t,w))for(let e=0;e<K.length;e++)t[e]&&(K[e]=1)}}let Q=null;if(G){let e=new Uint8Array(l*l),t=!1;for(let l=0;l<e.length;l++)G[l]&&!K[l]&&(e[l]=1,t=!0);if(t){Q=e;for(let t=0;t<K.length;t++)e[t]&&(K[t]=1)}}return w&&Y&&q&&_&&function(e,t,l,n,a,r){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:4,o=a*r;for(let i=0;i<s;i++){let s=new Int32Array(o),i=[!1],c=[],d=1;for(let l=0;l<o;l++){if(!e[l]||s[l])continue;let n=d++,o=!1;for(s[l]=n,c.push(l);c.length;){let l=c.pop();t[l]&&(o=!0);let i=l%a,d=l/a|0;i>0&&e[l-1]&&!s[l-1]&&(s[l-1]=n,c.push(l-1)),i<a-1&&e[l+1]&&!s[l+1]&&(s[l+1]=n,c.push(l+1)),d>0&&e[l-a]&&!s[l-a]&&(s[l-a]=n,c.push(l-a)),d<r-1&&e[l+a]&&!s[l+a]&&(s[l+a]=n,c.push(l+a))}i.push(o)}let u=new Uint8Array(o);for(let t=0;t<o;t++)l[t]&&n[t]&&!e[t]&&(u[t]=1);let h=new Uint8Array(o),m=0;for(let t=0;t<o;t++){if(!u[t]||h[t])continue;let l=[],n=!1,o=!1;
1for(h[t]=1,c.push(t);c.length;){let e=c.pop();l.push(e);let t=e%a,d=e/a|0,m=e=>{if(u[e]){h[e]||(h[e]=1,c.push(e));return}let t=s[e];t&&(i[t]?n=!0:o=!0)};t>0&&m(e-1),t<a-1&&m(e+1),d>0&&m(e-a),d<r-1&&m(e+a)}if(n&&o)for(let t of l)e[t]=1,m++}if(0===m)break}}(K,Y,q,_,l,l),{width:l,height:l,data:K,seaMask:Y,undergroundMask:Q,report:H}}async function U(e,t,l){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return G(await O(e,l,n),e,t,n)}},90032:(e,t,l)=>{l.d(t,{D6:()=>o,EO:()=>r,Gc:()=>n,WT:()=>s,ii:()=>a});let n={boundsKey:null,osmKey:null,osm:null,gsiWater:null,gsiDetail:null,lastSource:null};function a(e){return[e.west,e.south,e.east,e.north].map(e=>e.toFixed(6)).join(",")}function r(e){var t;let l=e.enabledLayers?[...e.enabledLayers].sort().join("|"):"",n=e.showMainRiver||(null===(t=e.enabledLayers)||void 0===t?void 0:t.has("river"));return"".concat(l,"/main:").concat(n?1:0,"/ug:").concat(e.showUndergroundWater?1:0)}function s(e){e.boundsKey=null,e.osmKey=null,e.osm=null,e.gsiWater=null,e.gsiDetail=null,e.lastSource=null}function o(e,t){e.boundsKey!==t&&(s(e),e.boundsKey=t)}},89699:(e,t,l)=>{function n(e){let t=0;for(let l of e)t+=l.length;let l=new Float64Array(2*t),n=new Int32Array(e.length+1),a=0;for(let t=0;t<e.length;t++){n[t]=a;let r=e[t];for(let e=0;e<r.length;e++)l[(a+e)*2]=r[e][0],l[(a+e)*2+1]=r[e][1];a+=r.length}return n[e.length]=a,{xy:l,offsets:n}}function a(e){let t=[];for(let l=0;l+1<e.offsets.length;l++){let n=e.offsets[l],a=e.offsets[l+1],r=Array(a-n);for(let t=n;t<a;t++)r[t-n]=[e.xy[2*t],e.xy[2*t+1]];t[l]=r}return t}function r(e){let t=0,l=0;for(let n of e)for(let e of(t+=n.length,n))l+=e.length;let n=new Float64Array(2*l),a=new Int32Array(t+1),r=new Int32Array(e.length+1),s=0,o=0;for(let t=0;t<e.length;t++)for(let l of(r[t]=s,e[t])){a[s++]=o;for(let e=0;e<l.length;e++)n[(o+e)*2]=l[e][0],n[(o+e)*2+1]=l[e][1];o+=l.length}return r[e.length]=s,a[t]=o,{xy:n,ringOffsets:a,polyOffsets:r}}function s(e){let t=[];for(let l=0;l+1<e.polyOffsets.length;l++){let n=e.polyOffsets[l],a=e.polyOffsets[l+1],r=Array(a-n);for(let t=n;t<a;t++){let l=e.ringOffsets[t],a=e.ringOffsets[t+1],s=Array(a-l);for(let t=l;t<a;t++)s[t-l]=[e.xy[2*t],e.xy[2*t+1]];r[t-n]=s}t[l]=r}return t}l.d(t,{J$:()=>d,QM:()=>c,Rb:()=>u});class o{idOf(e){if(null==e)return -1;let t=this.index.get(e);if(void 0!==t)return t;let l=this.values.length;return this.values.push(e),this.index.set(e,l),l}constructor(){this.values=[],this.index=new Map}}function i(e){return null==e?null:{name:"string"==typeof e.name?e.name:"Error",message:"string"==typeof e.message?e.message:String(e)}}function c(e){var t;return{boundsKey:e.boundsKey,osmKey:e.osmKey,osm:function(e){let t=new o,l=new o,a=n(e.lines.map(e=>e.points)),s=new Int32Array(e.lines.length),c=new Float64Array(e.lines.length),d=new Uint8Array(e.lines.length),u=new Int32Array(e.lines.length);for(let n=0;n<e.lines.length;n++){let a=e.lines[n];s[n]=t.idOf(a.kind),c[n]=a.widthMeters,d[n]=a.underground?1:0,u[n]=l.idOf(a.name)}let h=new o,m=e.relationGroups.flatMap(e=>e.segments),p=n(m.map(e=>e.points)),x=new Float64Array(m.length),f=new Int32Array(m.length);for(let e=0;e<m.length;e++)x[e]=m[e].widthMeters,f[e]=h.idOf(m[e].name);let g=new Int32Array(e.relationGroups.length+1),b=new Float64Array(e.relationGroups.length),v=new Float64Array(e.relationGroups.length),w=0;for(let t=0;t<e.relationGroups.length;t++){var y;g[t]=w,w+=e.relationGroups[t].segments.length,b[t]=e.relationGroups[t].totalLengthM,v[t]=null!==(y=e.relationGroups[t].id)&&void 0!==y?y:-1}return g[e.relationGroups.length]=w,{still:r(e.stillPolygons.map(e=>e.rings)),river:r(e.riverPolygons.map(e=>e.rings)),unknown:r(e.unknownPolygons.map(e=>e.rings)),lines:{...a,kindIds:s,widthMeters:c,underground:d,nameIds:u,kinds:t.values,names:l.values},relationGroups:{xy:p.xy,segOffsets:p.offsets,groupOffsets:g,segWidthMeters:x,segNameIds:f,totalLengthM:b,groupNames:e.relationGroups.map(e=>e.name),groupIds:v,names:h.values},meta:e.meta,error:i(e.error),parseError:i(e.parseError),elementCount:e.elementCount}}(e.osm),gsiWater:e.gsiWater?{zoom:(t=e.gsiWater).zoom,sea:r(t.sea.map(e=>e.rings)),inland:r(t.inland.map(e=>e.rings)),totalTiles:t.totalTiles,failedTiles:t.failedTiles}:null,gsiDetail:e.gsiDetail?function(e){let t=n(e.lines.map(e=>e.points.map(e=>[e.lng,e.lat]))),l=r(e.areas.map(e=>e.rings.map(e=>e.map(e=>[e.lng,e.lat]))));return{lines:{...t,vtCodes:Int32Array.from(e.lines.map(e=>
1e.vt_code)),ids:e.lines.map(e=>e.id)},areas:{...l,vtCodes:Int32Array.from(e.areas.map(e=>e.vt_code)),ids:e.areas.map(e=>e.id)},meta:e.meta}}(e.gsiDetail):null}}function d(e){var t,l;return{boundsKey:e.boundsKey,osmKey:e.osmKey,osm:function(e){let t=a(e.lines).map((t,l)=>{let n={points:t,kind:e.lines.kinds[e.lines.kindIds[l]],widthMeters:e.lines.widthMeters[l],underground:1===e.lines.underground[l]};return e.lines.nameIds[l]>=0&&(n.name=e.lines.names[e.lines.nameIds[l]]),n}),l=e.relationGroups,n=a({xy:l.xy,offsets:l.segOffsets}),r=[];for(let e=0;e+1<l.groupOffsets.length;e++){let t=l.groupOffsets[e],a=l.groupOffsets[e+1],s=[];for(let e=t;e<a;e++){let t={points:n[e],widthMeters:l.segWidthMeters[e]};l.segNameIds[e]>=0&&(t.name=l.names[l.segNameIds[e]]),s.push(t)}let o={name:l.groupNames[e],segments:s,totalLengthM:l.totalLengthM[e]};l.groupIds[e]>=0&&(o.id=l.groupIds[e]),r.push(o)}let o={stillPolygons:s(e.still).map(e=>({rings:e})),riverPolygons:s(e.river).map(e=>({rings:e})),unknownPolygons:s(e.unknown).map(e=>({rings:e})),lines:t,relationGroups:r,meta:e.meta,error:e.error,elementCount:e.elementCount};return e.parseError&&(o.parseError=e.parseError),o}(e.osm),gsiWater:e.gsiWater?{zoom:(t=e.gsiWater).zoom,sea:s(t.sea).map(e=>({rings:e})),inland:s(t.inland).map(e=>({rings:e})),totalTiles:t.totalTiles,failedTiles:t.failedTiles}:null,gsiDetail:e.gsiDetail?{lines:a((l=e.gsiDetail).lines).map((e,t)=>({id:l.lines.ids[t],vt_code:l.lines.vtCodes[t],points:e.map(e=>{let[t,l]=e;return{lat:l,lng:t}})})),areas:s(l.areas).map((e,t)=>({id:l.areas.ids[t],vt_code:l.areas.vtCodes[t],rings:e.map(e=>e.map(e=>{let[t,l]=e;return{lat:l,lng:t}}))})),meta:l.meta}:null}}function u(e){if(!e)return[];let t=new Set,l=e=>{e&&e.buffer instanceof ArrayBuffer&&t.add(e.buffer)},n=e=>{l(e.xy),l(e.offsets)},a=e=>{l(e.xy),l(e.ringOffsets),l(e.polyOffsets)};return a(e.osm.still),a(e.osm.river),a(e.osm.unknown),n(e.osm.lines),l(e.osm.lines.kindIds),l(e.osm.lines.widthMeters),l(e.osm.lines.underground),l(e.osm.lines.nameIds),l(e.osm.relationGroups.xy),l(e.osm.relationGroups.segOffsets),l(e.osm.relationGroups.groupOffsets),l(e.osm.relationGroups.segWidthMeters),l(e.osm.relationGroups.segNameIds),l(e.osm.relationGroups.totalLengthM),l(e.osm.relationGroups.groupIds),e.gsiWater&&(a(e.gsiWater.sea),a(e.gsiWater.inland)),e.gsiDetail&&(n(e.gsiDetail.lines),l(e.gsiDetail.lines.vtCodes),a(e.gsiDetail.areas),l(e.gsiDetail.areas.vtCodes)),[...t]}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.