diff --git a/_app/immutable/chunks/BaseLink.B6XhkuU3.js b/_app/immutable/chunks/BaseLink.B7sDv3Ux.js similarity index 95% rename from _app/immutable/chunks/BaseLink.B6XhkuU3.js rename to _app/immutable/chunks/BaseLink.B7sDv3Ux.js index 4ff8d6a73d9..59db3df6cfa 100644 --- a/_app/immutable/chunks/BaseLink.B6XhkuU3.js +++ b/_app/immutable/chunks/BaseLink.B7sDv3Ux.js @@ -1 +1 @@ -import{s as g,E as p,F as c,e as k,c as q,b as y,f as _,G as h,I as m,i as j,p as B,J as E,K as L,L as S,M as d,N as A,O as C}from"./scheduler.DGe1Kl3e.js";import{S as F,i as G,a as H,t as I}from"./index.BvMsa8xL.js";import{b}from"./paths.B7C1zKLQ.js";function J(n,t){const o={},f={},u={$$scope:1};let r=n.length;for(;r--;){const s=n[r],l=t[r];if(l){for(const a in s)a in l||(f[a]=1);for(const a in l)u[a]||(o[a]=l[a],u[a]=1);n[r]=l}else for(const a in s)u[a]=1}for(const s in f)s in o||(o[s]=void 0);return o}function W(n){return typeof n=="object"&&n!==null?n:{}}function K(n){let t,o,f,u;const r=n[4].default,s=p(r,n,n[3],null);let l=[{href:n[0]},n[1]],a={};for(let e=0;e{t=c(c({},t),A(i)),o(1,r=d(t,u)),"href"in i&&o(2,a=i.href),"$$scope"in i&&o(3,l=i.$$scope)},n.$$.update=()=>{n.$$.dirty&4&&o(0,f=a.startsWith("/")?`${b}${a}`:`${b}/${a}`)},[f,r,a,l,s,e]}class v extends F{constructor(t){super(),G(this,t,M,K,g,{href:2})}}export{v as B,W as a,J as g}; +import{s as g,E as p,F as c,e as k,c as q,b as y,f as _,G as h,I as m,i as j,p as B,J as E,K as L,L as S,M as d,N as A,O as C}from"./scheduler.DGe1Kl3e.js";import{S as F,i as G,a as H,t as I}from"./index.BvMsa8xL.js";import{b}from"./paths.CJUchZ3i.js";function J(n,t){const o={},f={},u={$$scope:1};let r=n.length;for(;r--;){const s=n[r],l=t[r];if(l){for(const a in s)a in l||(f[a]=1);for(const a in l)u[a]||(o[a]=l[a],u[a]=1);n[r]=l}else for(const a in s)u[a]=1}for(const s in f)s in o||(o[s]=void 0);return o}function W(n){return typeof n=="object"&&n!==null?n:{}}function K(n){let t,o,f,u;const r=n[4].default,s=p(r,n,n[3],null);let l=[{href:n[0]},n[1]],a={};for(let e=0;e{t=c(c({},t),A(i)),o(1,r=d(t,u)),"href"in i&&o(2,a=i.href),"$$scope"in i&&o(3,l=i.$$scope)},n.$$.update=()=>{n.$$.dirty&4&&o(0,f=a.startsWith("/")?`${b}${a}`:`${b}/${a}`)},[f,r,a,l,s,e]}class v extends F{constructor(t){super(),G(this,t,M,K,g,{href:2})}}export{v as B,W as a,J as g}; diff --git a/_app/immutable/chunks/entry.CzXEQA53.js b/_app/immutable/chunks/entry.BR4E40RC.js similarity index 99% rename from _app/immutable/chunks/entry.CzXEQA53.js rename to _app/immutable/chunks/entry.BR4E40RC.js index 29120c8e96c..59218f79e12 100644 --- a/_app/immutable/chunks/entry.CzXEQA53.js +++ b/_app/immutable/chunks/entry.BR4E40RC.js @@ -1,3 +1,3 @@ -import{n as G,ad as it,r as ct,s as lt,u as ft,D as ut}from"./scheduler.DGe1Kl3e.js";import{a as dt,b as P}from"./paths.B7C1zKLQ.js";new URL("sveltekit-internal://");function ht(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function pt(e){return e.split("%25").map(decodeURI).join("%25")}function gt(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function ue({href:e}){return e.split("#")[0]}const mt=["href","pathname","search","toString","toJSON"];function _t(e,n,t){const r=new URL(e);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(a,o){if(o==="get"||o==="getAll"||o==="has")return s=>(t(s),a[o](s));n();const i=Reflect.get(a,o);return typeof i=="function"?i.bind(a):i}}),enumerable:!0,configurable:!0});for(const a of mt)Object.defineProperty(r,a,{get(){return n(),e[a]},enumerable:!0,configurable:!0});return r}const yt="/__data.json",wt=".html__data.json";function bt(e){return e.endsWith(".html")?e.replace(/\.html$/,wt):e.replace(/\/$/,"")+yt}function vt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function Et(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&M.delete(_e(e)),$e(e,n));const M=new Map;function kt(e,n){const t=_e(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&M.set(t,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Et(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,n)}function St(e,n,t){if(M.size>0){const r=_e(e,t),a=M.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return de(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return de(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const u=At.exec(c),[,h,p,d,g]=u;return n.push({name:d,matcher:g,optional:!!h,rest:!!p,chained:p?l===1&&i[0]==="":!1}),p?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return de(c)}).join("")}).join("")}/?$`),params:n}}function It(e){return!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(It)}function Pt(e,n,t){const r={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;su).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||t[c.matcher](l)){r[c.name]=l;const u=n[s+1],h=a[s+1];u&&!u.rest&&u.optional&&h&&c.chained&&(i=0),!u&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function de(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function xt({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([s,[c,l,u]])=>{const{pattern:h,params:p}=Rt(s),d={id:s,exec:g=>{const f=h.exec(g);if(f)return Pt(f,p,r)},errors:[1,...u||[]].map(g=>e[g]),layouts:[0,...l||[]].map(i),leaf:o(c)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function Ce(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Pe(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}const O=[];function Tt(e,n){return{subscribe:ae(e,n).subscribe}}function ae(e,n=G){let t;const r=new Set;function a(s){if(lt(e,s)&&(e=s,t)){const c=!O.length;for(const l of r)l[1](),O.push(l,e);if(c){for(let l=0;l{r.delete(l),r.size===0&&t&&(t(),t=null)}}return{set:a,update:o,subscribe:i}}function sn(e,n,t){const r=!Array.isArray(e),a=r?[e]:e;if(!a.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=n.length<2;return Tt(t,(i,s)=>{let c=!1;const l=[];let u=0,h=G;const p=()=>{if(u)return;h();const g=n(r?l[0]:l,i,s);o?i(g):h=ft(g)?g:G},d=a.map((g,f)=>it(g,_=>{l[f]=_,u&=~(1<{u|=1<i)}function a(i){t=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||t&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}function Ot(){const{set:e,subscribe:n}=ae(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${dt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ut;return i&&(e(!0),clearTimeout(t)),i}catch{return!1}}return{subscribe:n,check:r}}function oe(e,n){return e.origin!==Y||!e.pathname.startsWith(n)}const jt=-1,Dt=-2,$t=-3,Ct=-4,Vt=-5,Ft=-6;function qt(e,n){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);function a(o,i=!1){if(o===jt)return;if(o===$t)return NaN;if(o===Ct)return 1/0;if(o===Vt)return-1/0;if(o===Ft)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=t[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const u=new Set;r[o]=u;for(let d=1;dn!=null)}class se{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class Ke{constructor(n,t){this.status=n,this.location=t}}class we extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const Bt="x-sveltekit-invalidated",Ht="x-sveltekit-trailing-slash";function Z(e){return e instanceof se||e instanceof we?e.status:500}function Kt(e){return e instanceof we?e.text:"Internal Error"}const N=Ce(Fe)??{},K=Ce(Ve)??{},T={url:Te({}),page:Te({}),navigating:ae(null),updated:Ot()};function be(e){N[e]=ye()}function zt(e,n){let t=e+1;for(;N[t];)delete N[t],t+=1;for(t=n+1;K[t];)delete K[t],t+=1}function V(e){return location.href=e.href,new Promise(()=>{})}function Ue(){}let ie,ge,Q,x,me,F;const ze=[],ee=[];let R=null;const Ye=[],Yt=[];let D=[],y={branch:[],error:null,url:null},ve=!1,te=!1,Ne=!0,z=!1,q=!1,Je=!1,Ee=!1,ke,S,L,I,ne;const B=new Set;async function ln(e,n,t){var a,o;document.URL!==location.href&&(location.href=location.href),F=e,ie=xt(e),x=document.documentElement,me=n,ge=e.nodes[0],Q=e.nodes[1],ge(),Q(),S=(a=history.state)==null?void 0:a[$],L=(o=history.state)==null?void 0:o[H],S||(S=L=Date.now(),history.replaceState({...history.state,[$]:S,[H]:L},""));const r=N[S];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await nn(me,t):en(location.href,{replaceState:!0}),tn()}function Jt(){ze.length=0,Ee=!1}function We(e){ee.some(n=>n==null?void 0:n.snapshot)&&(K[e]=ee.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function Xe(e){var n;(n=K[e])==null||n.forEach((t,r)=>{var a,o;(o=(a=ee[r])==null?void 0:a.snapshot)==null||o.restore(t)})}function Oe(){be(S),Pe(Fe,N),We(L),Pe(Ve,K)}async function Ze(e,n,t,r){return J({type:"goto",url:Ge(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Ee=!0)}})}async function Wt(e){if(e.id!==(R==null?void 0:R.id)){const n={};B.add(n),R={id:e.id,token:n,promise:et({...e,preload:n}).then(t=>(B.delete(n),t.type==="loaded"&&t.state.error&&(R=null),t))}}return R.promise}async function he(e){const n=ie.find(t=>t.exec(tt(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function Qe(e,n,t){var o;y=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),I=e.props.page,ke=new F.root({target:n,props:{...e.props,stores:T,components:ee},hydrate:t}),Xe(L);const a={from:null,to:{params:y.params,route:{id:((o=y.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};D.forEach(i=>i(a)),te=!0}function re({url:e,params:n,branch:t,status:r,error:a,route:o,form:i}){let s="never";if(P&&(e.pathname===P||e.pathname===P+"/"))s="always";else for(const d of t)(d==null?void 0:d.slash)!==void 0&&(s=d.slash);e.pathname=ht(e.pathname,s),e.search=e.search;const c={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:o},props:{constructors:Mt(t).map(d=>d.node.component),page:I}};i!==void 0&&(c.props.form=i);let l={},u=!I,h=0;for(let d=0;d(s&&(c.route=!0),f[_])}),params:new Proxy(r,{get:(f,_)=>(s&&c.params.add(_),f[_])}),data:(o==null?void 0:o.data)??null,url:_t(t,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)}),async fetch(f,_){let v;f instanceof Request?(v=f.url,_={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:f.headers,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,..._}):v=f;const A=new URL(v,t);return s&&d(A.href),A.origin===t.origin&&(v=A.href.slice(t.origin.length)),te?St(v,A.href,_):kt(v,_)},setHeaders:()=>{},depends:d,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,g)??null}return{node:l,loader:e,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((p=l.universal)==null?void 0:p.trailingSlash)??(o==null?void 0:o.slash)}}function je(e,n,t,r,a,o){if(Ee)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==y.params[i])return!0;for(const i of a.dependencies)if(ze.some(s=>s(new URL(i))))return!0;return!1}function Ae(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function Xt(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(r)}return t}function De({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:I,constructors:[]}}}async function et({id:e,invalidating:n,url:t,params:r,route:a,preload:o}){if((R==null?void 0:R.id)===e)return B.delete(R.token),R.promise;const{errors:i,layouts:s,leaf:c}=a,l=[...s,c];i.forEach(m=>m==null?void 0:m().catch(()=>{})),l.forEach(m=>m==null?void 0:m[1]().catch(()=>{}));let u=null;const h=y.url?e!==y.url.pathname+y.url.search:!1,p=y.route?a.id!==y.route.id:!1,d=Xt(y.url,t);let g=!1;const f=l.map((m,b)=>{var U;const E=y.branch[b],k=!!(m!=null&&m[0])&&((E==null?void 0:E.loader)!==m[1]||je(g,p,h,d,(U=E.server)==null?void 0:U.uses,r));return k&&(g=!0),k});if(f.some(Boolean)){try{u=await at(t,f)}catch(m){const b=await C(m,{url:t,params:r,route:{id:e}});return B.has(o)?De({error:b,url:t,params:r,route:a}):ce({status:Z(m),error:b,url:t,route:a})}if(u.type==="redirect")return u}const _=u==null?void 0:u.nodes;let v=!1;const A=l.map(async(m,b)=>{var le;if(!m)return;const E=y.branch[b],k=_==null?void 0:_[b];if((!k||k.type==="skip")&&m[1]===(E==null?void 0:E.loader)&&!je(v,p,h,d,(le=E.universal)==null?void 0:le.uses,r))return E;if(v=!0,(k==null?void 0:k.type)==="error")throw k;return Se({loader:m[1],url:t,params:r,route:a,parent:async()=>{var Le;const Ie={};for(let fe=0;fe{});const w=[];for(let m=0;mPromise.resolve({}),server_data_node:Ae(o)}),c={node:await Q(),loader:Q,universal:null,server:null,data:null};return re({url:t,params:a,branch:[s,c],status:e,error:n,route:null})}function Re(e,n){if(!e||oe(e,P))return;let t;try{t=F.hooks.reroute({url:new URL(e)})??e.pathname}catch{return}const r=tt(t);for(const a of ie){const o=a.exec(r);if(o)return{id:e.pathname+e.search,invalidating:n,route:a,params:gt(o),url:e}}}function tt(e){return pt(e.slice(P.length)||"/")}function nt({url:e,type:n,intent:t,delta:r}){let a=!1;const o=st(y,t,e,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return z||Ye.forEach(s=>s(i)),a?null:o}async function J({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=Ue,block:u=Ue}){const h=Re(n,!1),p=nt({url:n,type:e,delta:t==null?void 0:t.delta,intent:h});if(!p){u();return}const d=S,g=L;l(),z=!0,te&&T.navigating.set(p.navigation),ne=c;let f=h&&await et(h);if(!f){if(oe(n,P))return await V(n);f=await rt(n,{id:null},await C(new we(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,ne!==c)return p.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await ce({status:500,error:await C(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return Ze(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await T.updated.check()&&await V(n);if(Jt(),be(d),We(g),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=t?t.state:i,!t){const w=o?0:1,m={[$]:S+=w,[H]:L+=w,[qe]:i};(o?history.replaceState:history.pushState).call(history,m,"",n),o||zt(S,L)}if(R=null,f.props.page.state=i,te){y=f.state,f.props.page&&(f.props.page.url=n);const w=(await Promise.all(Yt.map(m=>m(p.navigation)))).filter(m=>typeof m=="function");if(w.length>0){let m=function(){D=D.filter(b=>!w.includes(b))};w.push(m),D.push(...w)}ke.$set(f.props),Je=!0}else Qe(f,me,!1);const{activeElement:_}=document;await ut();const v=t?t.scroll:a?ye():null;if(Ne){const w=n.hash&&document.getElementById(decodeURIComponent(n.hash.slice(1)));v?scrollTo(v.x,v.y):w?w.scrollIntoView():scrollTo(0,0)}const A=document.activeElement!==_&&document.activeElement!==document.body;!r&&!A&&rn(),Ne=!0,f.props.page&&(I=f.props.page),z=!1,e==="popstate"&&Xe(L),p.fulfil(void 0),D.forEach(w=>w(p.navigation)),T.navigating.set(null)}async function rt(e,n,t,r){return e.origin===Y&&e.pathname===location.pathname&&!ve?await ce({status:r,error:t,url:e,route:n}):await V(e)}function Qt(){let e;x.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{r(i,2)},20)});function n(o){r(o.composedPath()[0],1)}x.addEventListener("mousedown",n),x.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(he(i.target.href),t.unobserve(i.target))},{threshold:0});function r(o,i){const s=Be(o,x);if(!s)return;const{url:c,external:l,download:u}=pe(s,P);if(l||u)return;const h=X(s);if(!h.reload)if(i<=h.preload_data){const p=Re(c,!1);p&&Wt(p)}else i<=h.preload_code&&he(c.pathname)}function a(){t.disconnect();for(const o of x.querySelectorAll("a")){const{url:i,external:s,download:c}=pe(o,P);if(s||c)continue;const l=X(o);l.reload||(l.preload_code===W.viewport&&t.observe(o),l.preload_code===W.eager&&he(i.pathname))}}D.push(a),a()}function C(e,n){if(e instanceof se)return e.body;const t=Z(e),r=Kt(e);return F.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function en(e,n={}){return e=Ge(e),e.origin!==Y?Promise.reject(new Error("goto: invalid URL")):Ze(e,n,0)}function tn(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Oe(),!z){const a=st(y,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Ye.forEach(i=>i(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Oe()}),(n=navigator.connection)!=null&&n.saveData||Qt(),x.addEventListener("click",async t=>{var p;if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Be(t.composedPath()[0],x);if(!r)return;const{url:a,external:o,target:i,download:s}=pe(r,P);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=X(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;if(o||c.reload){nt({url:a,type:"link"})?z=!0:t.preventDefault();return}const[u,h]=a.href.split("#");if(h!==void 0&&u===ue(location)){const[,d]=y.url.href.split("#");if(d===h){t.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null?window.scrollTo({top:0}):(p=r.ownerDocument.getElementById(h))==null||p.scrollIntoView();return}if(q=!0,be(S),e(a),!c.replace_state)return;q=!1}t.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),J({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),x.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(oe(i,P))return;const s=t.target,c=X(s);if(c.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(s),u=a==null?void 0:a.getAttribute("name");u&&l.append(u,(a==null?void 0:a.getAttribute("value"))??""),i.search=new URLSearchParams(l).toString(),J({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[$]){const a=t.state[$];if(ne={},a===S)return;const o=N[a],i=t.state[qe]??{},s=new URL(t.state[Nt]??location.href),c=t.state[H],l=ue(location)===ue(y.url);if(c===L&&(Je||l)){e(s),N[S]=ye(),o&&scrollTo(o.x,o.y),i!==I.state&&(I={...I,state:i},ke.$set({page:I})),S=a;return}const h=a-S;await J({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{S=a,L=c},block:()=>{history.go(-h)},nav_token:ne})}else if(!q){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[$]:++S,[H]:L},"",location.href))});for(const t of document.querySelectorAll("link"))t.rel==="icon"&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&T.navigating.set(null)});function e(t){y.url=t,T.page.set({...I,url:t}),T.page.notify()}}async function nn(e,{status:n=200,error:t,node_ids:r,params:a,route:o,data:i,form:s}){ve=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=Re(c,!1)||{});let l;try{const u=r.map(async(d,g)=>{const f=i[g];return f!=null&&f.uses&&(f.uses=ot(f.uses)),Se({loader:F.nodes[d],url:c,params:a,route:o,parent:async()=>{const _={};for(let v=0;vd===o.id);if(p){const d=p.layouts;for(let g=0;go?"1":"0").join(""));const r=await $e(t.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new se(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(p){return qt(p,{Promise:d=>new Promise((g,f)=>{i.set(d,{fulfil:g,reject:f})})})}let u="";for(;;){const{done:p,value:d}=await s.read();if(p&&!u)break;for(u+=!d&&u?` +import{n as G,ad as it,r as ct,s as lt,u as ft,D as ut}from"./scheduler.DGe1Kl3e.js";import{a as dt,b as P}from"./paths.CJUchZ3i.js";new URL("sveltekit-internal://");function ht(e,n){return e==="/"||n==="ignore"?e:n==="never"?e.endsWith("/")?e.slice(0,-1):e:n==="always"&&!e.endsWith("/")?e+"/":e}function pt(e){return e.split("%25").map(decodeURI).join("%25")}function gt(e){for(const n in e)e[n]=decodeURIComponent(e[n]);return e}function ue({href:e}){return e.split("#")[0]}const mt=["href","pathname","search","toString","toJSON"];function _t(e,n,t){const r=new URL(e);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(a,o){if(o==="get"||o==="getAll"||o==="has")return s=>(t(s),a[o](s));n();const i=Reflect.get(a,o);return typeof i=="function"?i.bind(a):i}}),enumerable:!0,configurable:!0});for(const a of mt)Object.defineProperty(r,a,{get(){return n(),e[a]},enumerable:!0,configurable:!0});return r}const yt="/__data.json",wt=".html__data.json";function bt(e){return e.endsWith(".html")?e.replace(/\.html$/,wt):e.replace(/\/$/,"")+yt}function vt(...e){let n=5381;for(const t of e)if(typeof t=="string"){let r=t.length;for(;r;)n=n*33^t.charCodeAt(--r)}else if(ArrayBuffer.isView(t)){const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function Et(e){const n=atob(e),t=new Uint8Array(n.length);for(let r=0;r((e instanceof Request?e.method:(n==null?void 0:n.method)||"GET")!=="GET"&&M.delete(_e(e)),$e(e,n));const M=new Map;function kt(e,n){const t=_e(e,n),r=document.querySelector(t);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&M.set(t,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Et(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,n)}function St(e,n,t){if(M.size>0){const r=_e(e,t),a=M.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return de(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return de(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const u=At.exec(c),[,h,p,d,g]=u;return n.push({name:d,matcher:g,optional:!!h,rest:!!p,chained:p?l===1&&i[0]==="":!1}),p?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return de(c)}).join("")}).join("")}/?$`),params:n}}function It(e){return!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(It)}function Pt(e,n,t){const r={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;su).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||t[c.matcher](l)){r[c.name]=l;const u=n[s+1],h=a[s+1];u&&!u.rest&&u.optional&&h&&c.chained&&(i=0),!u&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function de(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function xt({nodes:e,server_loads:n,dictionary:t,matchers:r}){const a=new Set(n);return Object.entries(t).map(([s,[c,l,u]])=>{const{pattern:h,params:p}=Rt(s),d={id:s,exec:g=>{const f=h.exec(g);if(f)return Pt(f,p,r)},errors:[1,...u||[]].map(g=>e[g]),layouts:[0,...l||[]].map(i),leaf:o(c)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function Ce(e,n=JSON.parse){try{return n(sessionStorage[e])}catch{}}function Pe(e,n,t=JSON.stringify){const r=t(n);try{sessionStorage[e]=r}catch{}}const O=[];function Tt(e,n){return{subscribe:ae(e,n).subscribe}}function ae(e,n=G){let t;const r=new Set;function a(s){if(lt(e,s)&&(e=s,t)){const c=!O.length;for(const l of r)l[1](),O.push(l,e);if(c){for(let l=0;l{r.delete(l),r.size===0&&t&&(t(),t=null)}}return{set:a,update:o,subscribe:i}}function sn(e,n,t){const r=!Array.isArray(e),a=r?[e]:e;if(!a.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=n.length<2;return Tt(t,(i,s)=>{let c=!1;const l=[];let u=0,h=G;const p=()=>{if(u)return;h();const g=n(r?l[0]:l,i,s);o?i(g):h=ft(g)?g:G},d=a.map((g,f)=>it(g,_=>{l[f]=_,u&=~(1<{u|=1<i)}function a(i){t=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||t&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}function Ot(){const{set:e,subscribe:n}=ae(!1);let t;async function r(){clearTimeout(t);try{const a=await fetch(`${dt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ut;return i&&(e(!0),clearTimeout(t)),i}catch{return!1}}return{subscribe:n,check:r}}function oe(e,n){return e.origin!==Y||!e.pathname.startsWith(n)}const jt=-1,Dt=-2,$t=-3,Ct=-4,Vt=-5,Ft=-6;function qt(e,n){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,r=Array(t.length);function a(o,i=!1){if(o===jt)return;if(o===$t)return NaN;if(o===Ct)return 1/0;if(o===Vt)return-1/0;if(o===Ft)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=t[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const u=new Set;r[o]=u;for(let d=1;dn!=null)}class se{constructor(n,t){this.status=n,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class Ke{constructor(n,t){this.status=n,this.location=t}}class we extends Error{constructor(n,t,r){super(r),this.status=n,this.text=t}}const Bt="x-sveltekit-invalidated",Ht="x-sveltekit-trailing-slash";function Z(e){return e instanceof se||e instanceof we?e.status:500}function Kt(e){return e instanceof we?e.text:"Internal Error"}const N=Ce(Fe)??{},K=Ce(Ve)??{},T={url:Te({}),page:Te({}),navigating:ae(null),updated:Ot()};function be(e){N[e]=ye()}function zt(e,n){let t=e+1;for(;N[t];)delete N[t],t+=1;for(t=n+1;K[t];)delete K[t],t+=1}function V(e){return location.href=e.href,new Promise(()=>{})}function Ue(){}let ie,ge,Q,x,me,F;const ze=[],ee=[];let R=null;const Ye=[],Yt=[];let D=[],y={branch:[],error:null,url:null},ve=!1,te=!1,Ne=!0,z=!1,q=!1,Je=!1,Ee=!1,ke,S,L,I,ne;const B=new Set;async function ln(e,n,t){var a,o;document.URL!==location.href&&(location.href=location.href),F=e,ie=xt(e),x=document.documentElement,me=n,ge=e.nodes[0],Q=e.nodes[1],ge(),Q(),S=(a=history.state)==null?void 0:a[$],L=(o=history.state)==null?void 0:o[H],S||(S=L=Date.now(),history.replaceState({...history.state,[$]:S,[H]:L},""));const r=N[S];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),t?await nn(me,t):en(location.href,{replaceState:!0}),tn()}function Jt(){ze.length=0,Ee=!1}function We(e){ee.some(n=>n==null?void 0:n.snapshot)&&(K[e]=ee.map(n=>{var t;return(t=n==null?void 0:n.snapshot)==null?void 0:t.capture()}))}function Xe(e){var n;(n=K[e])==null||n.forEach((t,r)=>{var a,o;(o=(a=ee[r])==null?void 0:a.snapshot)==null||o.restore(t)})}function Oe(){be(S),Pe(Fe,N),We(L),Pe(Ve,K)}async function Ze(e,n,t,r){return J({type:"goto",url:Ge(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:t,nav_token:r,accept:()=>{n.invalidateAll&&(Ee=!0)}})}async function Wt(e){if(e.id!==(R==null?void 0:R.id)){const n={};B.add(n),R={id:e.id,token:n,promise:et({...e,preload:n}).then(t=>(B.delete(n),t.type==="loaded"&&t.state.error&&(R=null),t))}}return R.promise}async function he(e){const n=ie.find(t=>t.exec(tt(e)));n&&await Promise.all([...n.layouts,n.leaf].map(t=>t==null?void 0:t[1]()))}function Qe(e,n,t){var o;y=e.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),I=e.props.page,ke=new F.root({target:n,props:{...e.props,stores:T,components:ee},hydrate:t}),Xe(L);const a={from:null,to:{params:y.params,route:{id:((o=y.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};D.forEach(i=>i(a)),te=!0}function re({url:e,params:n,branch:t,status:r,error:a,route:o,form:i}){let s="never";if(P&&(e.pathname===P||e.pathname===P+"/"))s="always";else for(const d of t)(d==null?void 0:d.slash)!==void 0&&(s=d.slash);e.pathname=ht(e.pathname,s),e.search=e.search;const c={type:"loaded",state:{url:e,params:n,branch:t,error:a,route:o},props:{constructors:Mt(t).map(d=>d.node.component),page:I}};i!==void 0&&(c.props.form=i);let l={},u=!I,h=0;for(let d=0;d(s&&(c.route=!0),f[_])}),params:new Proxy(r,{get:(f,_)=>(s&&c.params.add(_),f[_])}),data:(o==null?void 0:o.data)??null,url:_t(t,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)}),async fetch(f,_){let v;f instanceof Request?(v=f.url,_={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:f.headers,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,..._}):v=f;const A=new URL(v,t);return s&&d(A.href),A.origin===t.origin&&(v=A.href.slice(t.origin.length)),te?St(v,A.href,_):kt(v,_)},setHeaders:()=>{},depends:d,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,g)??null}return{node:l,loader:e,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((p=l.universal)==null?void 0:p.trailingSlash)??(o==null?void 0:o.slash)}}function je(e,n,t,r,a,o){if(Ee)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&t)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==y.params[i])return!0;for(const i of a.dependencies)if(ze.some(s=>s(new URL(i))))return!0;return!1}function Ae(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}function Xt(e,n){if(!e)return new Set(n.searchParams.keys());const t=new Set([...e.searchParams.keys(),...n.searchParams.keys()]);for(const r of t){const a=e.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(r)}return t}function De({error:e,url:n,route:t,params:r}){return{type:"loaded",state:{error:e,url:n,route:t,params:r,branch:[]},props:{page:I,constructors:[]}}}async function et({id:e,invalidating:n,url:t,params:r,route:a,preload:o}){if((R==null?void 0:R.id)===e)return B.delete(R.token),R.promise;const{errors:i,layouts:s,leaf:c}=a,l=[...s,c];i.forEach(m=>m==null?void 0:m().catch(()=>{})),l.forEach(m=>m==null?void 0:m[1]().catch(()=>{}));let u=null;const h=y.url?e!==y.url.pathname+y.url.search:!1,p=y.route?a.id!==y.route.id:!1,d=Xt(y.url,t);let g=!1;const f=l.map((m,b)=>{var U;const E=y.branch[b],k=!!(m!=null&&m[0])&&((E==null?void 0:E.loader)!==m[1]||je(g,p,h,d,(U=E.server)==null?void 0:U.uses,r));return k&&(g=!0),k});if(f.some(Boolean)){try{u=await at(t,f)}catch(m){const b=await C(m,{url:t,params:r,route:{id:e}});return B.has(o)?De({error:b,url:t,params:r,route:a}):ce({status:Z(m),error:b,url:t,route:a})}if(u.type==="redirect")return u}const _=u==null?void 0:u.nodes;let v=!1;const A=l.map(async(m,b)=>{var le;if(!m)return;const E=y.branch[b],k=_==null?void 0:_[b];if((!k||k.type==="skip")&&m[1]===(E==null?void 0:E.loader)&&!je(v,p,h,d,(le=E.universal)==null?void 0:le.uses,r))return E;if(v=!0,(k==null?void 0:k.type)==="error")throw k;return Se({loader:m[1],url:t,params:r,route:a,parent:async()=>{var Le;const Ie={};for(let fe=0;fe{});const w=[];for(let m=0;mPromise.resolve({}),server_data_node:Ae(o)}),c={node:await Q(),loader:Q,universal:null,server:null,data:null};return re({url:t,params:a,branch:[s,c],status:e,error:n,route:null})}function Re(e,n){if(!e||oe(e,P))return;let t;try{t=F.hooks.reroute({url:new URL(e)})??e.pathname}catch{return}const r=tt(t);for(const a of ie){const o=a.exec(r);if(o)return{id:e.pathname+e.search,invalidating:n,route:a,params:gt(o),url:e}}}function tt(e){return pt(e.slice(P.length)||"/")}function nt({url:e,type:n,intent:t,delta:r}){let a=!1;const o=st(y,t,e,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return z||Ye.forEach(s=>s(i)),a?null:o}async function J({type:e,url:n,popped:t,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=Ue,block:u=Ue}){const h=Re(n,!1),p=nt({url:n,type:e,delta:t==null?void 0:t.delta,intent:h});if(!p){u();return}const d=S,g=L;l(),z=!0,te&&T.navigating.set(p.navigation),ne=c;let f=h&&await et(h);if(!f){if(oe(n,P))return await V(n);f=await rt(n,{id:null},await C(new we(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,ne!==c)return p.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await ce({status:500,error:await C(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return Ze(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await T.updated.check()&&await V(n);if(Jt(),be(d),We(g),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=t?t.state:i,!t){const w=o?0:1,m={[$]:S+=w,[H]:L+=w,[qe]:i};(o?history.replaceState:history.pushState).call(history,m,"",n),o||zt(S,L)}if(R=null,f.props.page.state=i,te){y=f.state,f.props.page&&(f.props.page.url=n);const w=(await Promise.all(Yt.map(m=>m(p.navigation)))).filter(m=>typeof m=="function");if(w.length>0){let m=function(){D=D.filter(b=>!w.includes(b))};w.push(m),D.push(...w)}ke.$set(f.props),Je=!0}else Qe(f,me,!1);const{activeElement:_}=document;await ut();const v=t?t.scroll:a?ye():null;if(Ne){const w=n.hash&&document.getElementById(decodeURIComponent(n.hash.slice(1)));v?scrollTo(v.x,v.y):w?w.scrollIntoView():scrollTo(0,0)}const A=document.activeElement!==_&&document.activeElement!==document.body;!r&&!A&&rn(),Ne=!0,f.props.page&&(I=f.props.page),z=!1,e==="popstate"&&Xe(L),p.fulfil(void 0),D.forEach(w=>w(p.navigation)),T.navigating.set(null)}async function rt(e,n,t,r){return e.origin===Y&&e.pathname===location.pathname&&!ve?await ce({status:r,error:t,url:e,route:n}):await V(e)}function Qt(){let e;x.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{r(i,2)},20)});function n(o){r(o.composedPath()[0],1)}x.addEventListener("mousedown",n),x.addEventListener("touchstart",n,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(he(i.target.href),t.unobserve(i.target))},{threshold:0});function r(o,i){const s=Be(o,x);if(!s)return;const{url:c,external:l,download:u}=pe(s,P);if(l||u)return;const h=X(s);if(!h.reload)if(i<=h.preload_data){const p=Re(c,!1);p&&Wt(p)}else i<=h.preload_code&&he(c.pathname)}function a(){t.disconnect();for(const o of x.querySelectorAll("a")){const{url:i,external:s,download:c}=pe(o,P);if(s||c)continue;const l=X(o);l.reload||(l.preload_code===W.viewport&&t.observe(o),l.preload_code===W.eager&&he(i.pathname))}}D.push(a),a()}function C(e,n){if(e instanceof se)return e.body;const t=Z(e),r=Kt(e);return F.hooks.handleError({error:e,event:n,status:t,message:r})??{message:r}}function en(e,n={}){return e=Ge(e),e.origin!==Y?Promise.reject(new Error("goto: invalid URL")):Ze(e,n,0)}function tn(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(Oe(),!z){const a=st(y,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Ye.forEach(i=>i(o))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Oe()}),(n=navigator.connection)!=null&&n.saveData||Qt(),x.addEventListener("click",async t=>{var p;if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=Be(t.composedPath()[0],x);if(!r)return;const{url:a,external:o,target:i,download:s}=pe(r,P);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=X(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;if(o||c.reload){nt({url:a,type:"link"})?z=!0:t.preventDefault();return}const[u,h]=a.href.split("#");if(h!==void 0&&u===ue(location)){const[,d]=y.url.href.split("#");if(d===h){t.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null?window.scrollTo({top:0}):(p=r.ownerDocument.getElementById(h))==null||p.scrollIntoView();return}if(q=!0,be(S),e(a),!c.replace_state)return;q=!1}t.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),J({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),x.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(oe(i,P))return;const s=t.target,c=X(s);if(c.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(s),u=a==null?void 0:a.getAttribute("name");u&&l.append(u,(a==null?void 0:a.getAttribute("value"))??""),i.search=new URLSearchParams(l).toString(),J({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href})}),addEventListener("popstate",async t=>{var r;if((r=t.state)!=null&&r[$]){const a=t.state[$];if(ne={},a===S)return;const o=N[a],i=t.state[qe]??{},s=new URL(t.state[Nt]??location.href),c=t.state[H],l=ue(location)===ue(y.url);if(c===L&&(Je||l)){e(s),N[S]=ye(),o&&scrollTo(o.x,o.y),i!==I.state&&(I={...I,state:i},ke.$set({page:I})),S=a;return}const h=a-S;await J({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{S=a,L=c},block:()=>{history.go(-h)},nav_token:ne})}else if(!q){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[$]:++S,[H]:L},"",location.href))});for(const t of document.querySelectorAll("link"))t.rel==="icon"&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&T.navigating.set(null)});function e(t){y.url=t,T.page.set({...I,url:t}),T.page.notify()}}async function nn(e,{status:n=200,error:t,node_ids:r,params:a,route:o,data:i,form:s}){ve=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=Re(c,!1)||{});let l;try{const u=r.map(async(d,g)=>{const f=i[g];return f!=null&&f.uses&&(f.uses=ot(f.uses)),Se({loader:F.nodes[d],url:c,params:a,route:o,parent:async()=>{const _={};for(let v=0;vd===o.id);if(p){const d=p.layouts;for(let g=0;go?"1":"0").join(""));const r=await $e(t.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new se(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(p){return qt(p,{Promise:d=>new Promise((g,f)=>{i.set(d,{fulfil:g,reject:f})})})}let u="";for(;;){const{done:p,value:d}=await s.read();if(p&&!u)break;for(u+=!d&&u?` `:c.decode(d,{stream:!0});;){const g=u.indexOf(` `);if(g===-1)break;const f=JSON.parse(u.slice(0,g));if(u=u.slice(g+1),f.type==="redirect")return o(f);if(f.type==="data")(h=f.nodes)==null||h.forEach(_=>{(_==null?void 0:_.type)==="data"&&(_.uses=ot(_.uses),_.data=l(_.data))}),o(f);else if(f.type==="chunk"){const{id:_,data:v,error:A}=f,w=i.get(_);i.delete(_),A?w.reject(l(A)):w.fulfil(l(v))}}}})}function ot(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function rn(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const n=document.body,t=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),t!==null?n.setAttribute("tabindex",t):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let o=0;o{if(r.rangeCount===a.length){for(let o=0;o{a=u,o=h});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url},to:t&&{params:(n==null?void 0:n.params)??null,route:{id:((l=n==null?void 0:n.route)==null?void 0:l.id)??null},url:t},willUnload:!n,type:r,complete:i},fulfil:a,reject:o}}export{cn as a,ln as b,sn as d,en as g,Tt as r,T as s,ae as w}; diff --git a/_app/immutable/chunks/paths.B7C1zKLQ.js b/_app/immutable/chunks/paths.B7C1zKLQ.js deleted file mode 100644 index 8f52c600c2c..00000000000 --- a/_app/immutable/chunks/paths.B7C1zKLQ.js +++ /dev/null @@ -1 +0,0 @@ -var s;const a=((s=globalThis.__sveltekit_bchexm)==null?void 0:s.base)??"/corpus-building";var e;const t=((e=globalThis.__sveltekit_bchexm)==null?void 0:e.assets)??a;export{t as a,a as b}; diff --git a/_app/immutable/chunks/paths.CJUchZ3i.js b/_app/immutable/chunks/paths.CJUchZ3i.js new file mode 100644 index 00000000000..1173e50b31c --- /dev/null +++ b/_app/immutable/chunks/paths.CJUchZ3i.js @@ -0,0 +1 @@ +var s;const e=((s=globalThis.__sveltekit_pxz9nc)==null?void 0:s.base)??"/corpus-building";var a;const t=((a=globalThis.__sveltekit_pxz9nc)==null?void 0:a.assets)??e;export{t as a,e as b}; diff --git a/_app/immutable/chunks/stores.BxDQ-H_k.js b/_app/immutable/chunks/stores.VOhvxRcD.js similarity index 72% rename from _app/immutable/chunks/stores.BxDQ-H_k.js rename to _app/immutable/chunks/stores.VOhvxRcD.js index 87cf211d58b..a90f921152c 100644 --- a/_app/immutable/chunks/stores.BxDQ-H_k.js +++ b/_app/immutable/chunks/stores.VOhvxRcD.js @@ -1 +1 @@ -import{s as e}from"./entry.CzXEQA53.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p}; +import{s as e}from"./entry.BR4E40RC.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p}; diff --git a/_app/immutable/entry/app.BsGS0scN.js b/_app/immutable/entry/app.DUcp7sGb.js similarity index 86% rename from _app/immutable/entry/app.BsGS0scN.js rename to _app/immutable/entry/app.DUcp7sGb.js index a594a56e8e5..4de0f7caa83 100644 --- a/_app/immutable/entry/app.BsGS0scN.js +++ b/_app/immutable/entry/app.DUcp7sGb.js @@ -1,2 +1,2 @@ -const __vite__fileDeps=["../nodes/0.CwfR-EWZ.js","../chunks/scheduler.DGe1Kl3e.js","../chunks/index.BvMsa8xL.js","../chunks/stores.BxDQ-H_k.js","../chunks/entry.CzXEQA53.js","../chunks/paths.B7C1zKLQ.js","../chunks/BaseLink.B6XhkuU3.js","../assets/BaseLink.gbVv4t7N.css","../chunks/config.BRz4fPYa.js","../assets/0.CaEhabUM.css","../nodes/1.BT5A7RMa.js","../assets/1.Bu2Rf3eO.css","../nodes/2.Br4xmzXS.js","../chunks/each.CkTSCmMZ.js","../chunks/_commonjsHelpers.Cpj98o6Y.js","../assets/2.7px_o3vB.css","../nodes/3.Dlr5A1Wc.js","../assets/3.CCT1BhpF.css","../nodes/4.BsWpSaoR.js","../chunks/preload-helper.D6kgxu3v.js","../assets/4.CJNL7w9c.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -import{_ as A}from"../chunks/preload-helper.D6kgxu3v.js";import{s as C,a as S,z as p,g as z,i as w,f as d,A as B,w as M,e as U,c as j,b as F,h as R,v as m,t as G,d as H,k as J,B as V,C as k,D as K}from"../chunks/scheduler.DGe1Kl3e.js";import{S as Q,i as W,t as h,c as I,a as g,g as P,b as v,d as y,m as E,e as D}from"../chunks/index.BvMsa8xL.js";const ie={};function X(o){let e,n,i;var s=o[1][0];function c(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,c(o)),o[12](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[12](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&8&&(a.data=t[3]),r&4&&(a.form=t[2]),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[12](null),e&&D(e,t)}}}function Y(o){let e,n,i;var s=o[1][0];function c(t,r){return{props:{data:t[3],$$slots:{default:[Z]},$$scope:{ctx:t}}}}return s&&(e=k(s,c(o)),o[11](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[11](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&8&&(a.data=t[3]),r&8215&&(a.$$scope={dirty:r,ctx:t}),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[11](null),e&&D(e,t)}}}function Z(o){let e,n,i;var s=o[1][1];function c(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,c(o)),o[10](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[10](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&16&&(a.data=t[4]),r&4&&(a.form=t[2]),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[10](null),e&&D(e,t)}}}function L(o){let e,n=o[6]&&N(o);return{c(){e=U("div"),n&&n.c(),this.h()},l(i){e=j(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=F(e);n&&n.l(s),s.forEach(d),this.h()},h(){R(e,"id","svelte-announcer"),R(e,"aria-live","assertive"),R(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){w(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=N(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&d(e),n&&n.d()}}}function N(o){let e;return{c(){e=G(o[7])},l(n){e=H(n,o[7])},m(n,i){w(n,e,i)},p(n,i){i&128&&J(e,n[7])},d(n){n&&d(e)}}}function $(o){let e,n,i,s,c;const t=[Y,X],r=[];function a(f,u){return f[1][1]?0:1}e=a(o),n=r[e]=t[e](o);let _=o[5]&&L(o);return{c(){n.c(),i=S(),_&&_.c(),s=p()},l(f){n.l(f),i=z(f),_&&_.l(f),s=p()},m(f,u){r[e].m(f,u),w(f,i,u),_&&_.m(f,u),w(f,s,u),c=!0},p(f,[u]){let b=e;e=a(f),e===b?r[e].p(f,u):(P(),h(r[b],1,1,()=>{r[b]=null}),I(),n=r[e],n?n.p(f,u):(n=r[e]=t[e](f),n.c()),g(n,1),n.m(i.parentNode,i)),f[5]?_?_.p(f,u):(_=L(f),_.c(),_.m(s.parentNode,s)):_&&(_.d(1),_=null)},i(f){c||(g(n),c=!0)},o(f){h(n),c=!1},d(f){f&&(d(i),d(s)),r[e].d(f),_&&_.d(f)}}}function x(o,e,n){let{stores:i}=e,{page:s}=e,{constructors:c}=e,{components:t=[]}=e,{form:r}=e,{data_0:a=null}=e,{data_1:_=null}=e;B(i.page.notify);let f=!1,u=!1,b=null;M(()=>{const l=i.page.subscribe(()=>{f&&(n(6,u=!0),K().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,f=!0),l});function O(l){V[l?"unshift":"push"](()=>{t[1]=l,n(0,t)})}function T(l){V[l?"unshift":"push"](()=>{t[0]=l,n(0,t)})}function q(l){V[l?"unshift":"push"](()=>{t[0]=l,n(0,t)})}return o.$$set=l=>{"stores"in l&&n(8,i=l.stores),"page"in l&&n(9,s=l.page),"constructors"in l&&n(1,c=l.constructors),"components"in l&&n(0,t=l.components),"form"in l&&n(2,r=l.form),"data_0"in l&&n(3,a=l.data_0),"data_1"in l&&n(4,_=l.data_1)},o.$$.update=()=>{o.$$.dirty&768&&i.page.set(s)},[t,c,r,a,_,f,u,b,i,s,O,T,q]}class se extends Q{constructor(e){super(),W(this,e,x,$,C,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const re=[()=>A(()=>import("../nodes/0.CwfR-EWZ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>A(()=>import("../nodes/1.BT5A7RMa.js"),__vite__mapDeps([10,1,2,3,4,5,11]),import.meta.url),()=>A(()=>import("../nodes/2.Br4xmzXS.js"),__vite__mapDeps([12,1,2,13,8,6,5,7,14,4,3,15]),import.meta.url),()=>A(()=>import("../nodes/3.Dlr5A1Wc.js"),__vite__mapDeps([16,1,2,13,6,5,7,17]),import.meta.url),()=>A(()=>import("../nodes/4.BsWpSaoR.js"),__vite__mapDeps([18,19,1,13,2,5,8,20]),import.meta.url)],oe=[0],ae={"/":[-3],"/_qa":[-4],"/inscription/[slug]":[-5]},fe={handleError:({error:o})=>{console.error(o)},reroute:()=>{}};export{ae as dictionary,fe as hooks,ie as matchers,re as nodes,se as root,oe as server_loads}; +const __vite__fileDeps=["../nodes/0.DZghdR8O.js","../chunks/scheduler.DGe1Kl3e.js","../chunks/index.BvMsa8xL.js","../chunks/stores.VOhvxRcD.js","../chunks/entry.BR4E40RC.js","../chunks/paths.CJUchZ3i.js","../chunks/BaseLink.B7sDv3Ux.js","../assets/BaseLink.gbVv4t7N.css","../chunks/config.BRz4fPYa.js","../assets/0.CaEhabUM.css","../nodes/1.PV53mBWN.js","../assets/1.Bu2Rf3eO.css","../nodes/2.BG6eUCwT.js","../chunks/each.CkTSCmMZ.js","../chunks/_commonjsHelpers.Cpj98o6Y.js","../assets/2.7px_o3vB.css","../nodes/3.B0Yc1Hjf.js","../assets/3.CCT1BhpF.css","../nodes/4.BC4TC24m.js","../chunks/preload-helper.D6kgxu3v.js","../assets/4.CJNL7w9c.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +import{_ as A}from"../chunks/preload-helper.D6kgxu3v.js";import{s as C,a as S,z as p,g as z,i as w,f as d,A as B,w as M,e as U,c as j,b as F,h as R,v as m,t as G,d as H,k as J,B as V,C as k,D as K}from"../chunks/scheduler.DGe1Kl3e.js";import{S as Q,i as W,t as h,c as I,a as g,g as P,b as v,d as y,m as E,e as D}from"../chunks/index.BvMsa8xL.js";const ie={};function X(o){let e,n,i;var s=o[1][0];function c(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,c(o)),o[12](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[12](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&8&&(a.data=t[3]),r&4&&(a.form=t[2]),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[12](null),e&&D(e,t)}}}function Y(o){let e,n,i;var s=o[1][0];function c(t,r){return{props:{data:t[3],$$slots:{default:[Z]},$$scope:{ctx:t}}}}return s&&(e=k(s,c(o)),o[11](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[11](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&8&&(a.data=t[3]),r&8215&&(a.$$scope={dirty:r,ctx:t}),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[11](null),e&&D(e,t)}}}function Z(o){let e,n,i;var s=o[1][1];function c(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,c(o)),o[10](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&y(e.$$.fragment,t),n=p()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){P();const a=e;h(a.$$.fragment,1,0,()=>{D(a,1)}),I()}s?(e=k(s,c(t)),t[10](e),v(e.$$.fragment),g(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const a={};r&16&&(a.data=t[4]),r&4&&(a.form=t[2]),e.$set(a)}},i(t){i||(e&&g(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){t&&d(n),o[10](null),e&&D(e,t)}}}function L(o){let e,n=o[6]&&N(o);return{c(){e=U("div"),n&&n.c(),this.h()},l(i){e=j(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=F(e);n&&n.l(s),s.forEach(d),this.h()},h(){R(e,"id","svelte-announcer"),R(e,"aria-live","assertive"),R(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){w(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=N(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&d(e),n&&n.d()}}}function N(o){let e;return{c(){e=G(o[7])},l(n){e=H(n,o[7])},m(n,i){w(n,e,i)},p(n,i){i&128&&J(e,n[7])},d(n){n&&d(e)}}}function $(o){let e,n,i,s,c;const t=[Y,X],r=[];function a(f,u){return f[1][1]?0:1}e=a(o),n=r[e]=t[e](o);let _=o[5]&&L(o);return{c(){n.c(),i=S(),_&&_.c(),s=p()},l(f){n.l(f),i=z(f),_&&_.l(f),s=p()},m(f,u){r[e].m(f,u),w(f,i,u),_&&_.m(f,u),w(f,s,u),c=!0},p(f,[u]){let b=e;e=a(f),e===b?r[e].p(f,u):(P(),h(r[b],1,1,()=>{r[b]=null}),I(),n=r[e],n?n.p(f,u):(n=r[e]=t[e](f),n.c()),g(n,1),n.m(i.parentNode,i)),f[5]?_?_.p(f,u):(_=L(f),_.c(),_.m(s.parentNode,s)):_&&(_.d(1),_=null)},i(f){c||(g(n),c=!0)},o(f){h(n),c=!1},d(f){f&&(d(i),d(s)),r[e].d(f),_&&_.d(f)}}}function x(o,e,n){let{stores:i}=e,{page:s}=e,{constructors:c}=e,{components:t=[]}=e,{form:r}=e,{data_0:a=null}=e,{data_1:_=null}=e;B(i.page.notify);let f=!1,u=!1,b=null;M(()=>{const l=i.page.subscribe(()=>{f&&(n(6,u=!0),K().then(()=>{n(7,b=document.title||"untitled page")}))});return n(5,f=!0),l});function O(l){V[l?"unshift":"push"](()=>{t[1]=l,n(0,t)})}function T(l){V[l?"unshift":"push"](()=>{t[0]=l,n(0,t)})}function q(l){V[l?"unshift":"push"](()=>{t[0]=l,n(0,t)})}return o.$$set=l=>{"stores"in l&&n(8,i=l.stores),"page"in l&&n(9,s=l.page),"constructors"in l&&n(1,c=l.constructors),"components"in l&&n(0,t=l.components),"form"in l&&n(2,r=l.form),"data_0"in l&&n(3,a=l.data_0),"data_1"in l&&n(4,_=l.data_1)},o.$$.update=()=>{o.$$.dirty&768&&i.page.set(s)},[t,c,r,a,_,f,u,b,i,s,O,T,q]}class se extends Q{constructor(e){super(),W(this,e,x,$,C,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const re=[()=>A(()=>import("../nodes/0.DZghdR8O.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>A(()=>import("../nodes/1.PV53mBWN.js"),__vite__mapDeps([10,1,2,3,4,5,11]),import.meta.url),()=>A(()=>import("../nodes/2.BG6eUCwT.js"),__vite__mapDeps([12,1,2,13,8,6,5,7,14,4,3,15]),import.meta.url),()=>A(()=>import("../nodes/3.B0Yc1Hjf.js"),__vite__mapDeps([16,1,2,13,6,5,7,17]),import.meta.url),()=>A(()=>import("../nodes/4.BC4TC24m.js"),__vite__mapDeps([18,19,1,13,2,5,8,20]),import.meta.url)],oe=[0],ae={"/":[-3],"/_qa":[-4],"/inscription/[slug]":[-5]},fe={handleError:({error:o})=>{console.error(o)},reroute:()=>{}};export{ae as dictionary,fe as hooks,ie as matchers,re as nodes,se as root,oe as server_loads}; diff --git a/_app/immutable/entry/start.CHG_aEgP.js b/_app/immutable/entry/start.CHG_aEgP.js deleted file mode 100644 index e7941a6b54b..00000000000 --- a/_app/immutable/entry/start.CHG_aEgP.js +++ /dev/null @@ -1 +0,0 @@ -import{b as a}from"../chunks/entry.CzXEQA53.js";export{a as start}; diff --git a/_app/immutable/entry/start.CgPftaqa.js b/_app/immutable/entry/start.CgPftaqa.js new file mode 100644 index 00000000000..40f456742ed --- /dev/null +++ b/_app/immutable/entry/start.CgPftaqa.js @@ -0,0 +1 @@ +import{b as a}from"../chunks/entry.BR4E40RC.js";export{a as start}; diff --git a/_app/immutable/nodes/0.CwfR-EWZ.js b/_app/immutable/nodes/0.DZghdR8O.js similarity index 96% rename from _app/immutable/nodes/0.CwfR-EWZ.js rename to _app/immutable/nodes/0.DZghdR8O.js index f6b0ce1212c..09574453fb0 100644 --- a/_app/immutable/nodes/0.CwfR-EWZ.js +++ b/_app/immutable/nodes/0.DZghdR8O.js @@ -1 +1 @@ -import{s as _e,E as de,z as se,a as E,e as m,t as G,$ as me,f,g as y,c as p,b,m as ne,d as z,h as S,j as r,i as B,J as pe,K as he,L as ve,l as be,n as g}from"../chunks/scheduler.DGe1Kl3e.js";import{S as ge,i as $e,b as re,d as ie,m as ce,a as q,t as w,c as ke,e as fe,g as Ee}from"../chunks/index.BvMsa8xL.js";import{p as ye}from"../chunks/stores.BxDQ-H_k.js";import{B as ue}from"../chunks/BaseLink.B6XhkuU3.js";import{t as P}from"../chunks/config.BRz4fPYa.js";const Ae=!0,Be=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ae},Symbol.toStringTag,{value:"Module"}));function Ce(s){return document.title=P,{c:g,l:g,m:g,d:g}}function Le(s){return document.title=P+" | "+s[1].data.title,{c:g,l:g,m:g,d:g}}function je(s){let a=P+"",e;return{c(){e=G(a)},l(t){e=z(t,a)},m(t,n){B(t,e,n)},p:g,d(t){t&&f(e)}}}function oe(s){let a,e,t;return e=new ue({props:{href:"/_qa",$$slots:{default:[Ie]},$$scope:{ctx:s}}}),{c(){a=m("li"),re(e.$$.fragment)},l(n){a=p(n,"LI",{});var c=b(a);ie(e.$$.fragment,c),c.forEach(f)},m(n,c){B(n,a,c),ce(e,a,null),t=!0},i(n){t||(q(e.$$.fragment,n),t=!0)},o(n){w(e.$$.fragment,n),t=!1},d(n){n&&f(a),fe(e)}}}function Ie(s){let a;return{c(){a=G("QA")},l(e){a=z(e,"QA")},m(e,t){B(e,a,t)},d(e){e&&f(a)}}}function Oe(s){let a,e,t,n,c,d,N,i,A,Y="About",Q,C,Z="Guide",R,T,L,V,j,$,x=P+"",F,J,k,K,U,I;function ee(l,_){return l[1].data.title?Le:Ce}let D=ee(s),h=D(s);d=new ue({props:{href:"/",class:"title",$$slots:{default:[je]},$$scope:{ctx:s}}});let o=s[0].debug&&oe(s);const W=s[3].default,u=de(W,s,s[4],null);return{c(){h.c(),a=se(),e=E(),t=m("div"),n=m("header"),c=m("nav"),re(d.$$.fragment),N=E(),i=m("ul"),A=m("li"),A.textContent=Y,Q=E(),C=m("li"),C.textContent=Z,R=E(),o&&o.c(),T=E(),L=m("main"),u&&u.c(),V=E(),j=m("footer"),$=m("p"),F=G(x),J=E(),k=m("a"),K=G("v"),U=G(s[2]),this.h()},l(l){const _=me("svelte-vs5quk",document.head);h.l(_),a=se(),_.forEach(f),e=y(l),t=p(l,"DIV",{class:!0});var v=b(t);n=p(v,"HEADER",{});var te=b(n);c=p(te,"NAV",{class:!0});var H=b(c);ie(d.$$.fragment,H),N=y(H),i=p(H,"UL",{});var O=b(i);A=p(O,"LI",{"data-svelte-h":!0}),ne(A)!=="svelte-plfgqh"&&(A.textContent=Y),Q=y(O),C=p(O,"LI",{"data-svelte-h":!0}),ne(C)!=="svelte-iwmhy2"&&(C.textContent=Z),R=y(O),o&&o.l(O),O.forEach(f),H.forEach(f),te.forEach(f),T=y(v),L=p(v,"MAIN",{class:!0});var le=b(L);u&&u.l(le),le.forEach(f),V=y(v),j=p(v,"FOOTER",{class:!0});var ae=b(j);$=p(ae,"P",{});var M=b($);F=z(M,x),J=y(M),k=p(M,"A",{href:!0});var X=b(k);K=z(X,"v"),U=z(X,s[2]),X.forEach(f),M.forEach(f),ae.forEach(f),v.forEach(f),this.h()},h(){S(c,"class","svelte-1jflotc"),S(L,"class","svelte-1jflotc"),S(k,"href","https://github.com/kingsdigitallab/corpus-building/blob/v"+s[2]+"/CHANGELOG.md"),S(j,"class","svelte-1jflotc"),S(t,"class","layout svelte-1jflotc")},m(l,_){h.m(document.head,null),r(document.head,a),B(l,e,_),B(l,t,_),r(t,n),r(n,c),ce(d,c,null),r(c,N),r(c,i),r(i,A),r(i,Q),r(i,C),r(i,R),o&&o.m(i,null),r(t,T),r(t,L),u&&u.m(L,null),r(t,V),r(t,j),r(j,$),r($,F),r($,J),r($,k),r(k,K),r(k,U),I=!0},p(l,[_]){D!==(D=ee(l))&&(h.d(1),h=D(l),h&&(h.c(),h.m(a.parentNode,a)));const v={};_&16&&(v.$$scope={dirty:_,ctx:l}),d.$set(v),l[0].debug?o?_&1&&q(o,1):(o=oe(l),o.c(),q(o,1),o.m(i,null)):o&&(Ee(),w(o,1,1,()=>{o=null}),ke()),u&&u.p&&(!I||_&16)&&pe(u,W,l,l[4],I?ve(W,l[4],_,null):he(l[4]),null)},i(l){I||(q(d.$$.fragment,l),q(o),q(u,l),I=!0)},o(l){w(d.$$.fragment,l),w(o),w(u,l),I=!1},d(l){l&&(f(e),f(t)),h.d(l),f(a),fe(d),o&&o.d(),u&&u.d(l)}}}function qe(s,a,e){let t;be(s,ye,i=>e(1,t=i));let{$$slots:n={},$$scope:c}=a,{data:d}=a;const N="0.6.0";return s.$$set=i=>{"data"in i&&e(0,d=i.data),"$$scope"in i&&e(4,c=i.$$scope)},[d,t,N,n,c]}class De extends ge{constructor(a){super(),$e(this,a,qe,Oe,_e,{data:0})}}export{De as component,Be as universal}; +import{s as _e,E as de,z as se,a as E,e as m,t as G,$ as me,f,g as y,c as p,b,m as ne,d as z,h as S,j as r,i as B,J as pe,K as he,L as ve,l as be,n as g}from"../chunks/scheduler.DGe1Kl3e.js";import{S as ge,i as $e,b as re,d as ie,m as ce,a as q,t as w,c as ke,e as fe,g as Ee}from"../chunks/index.BvMsa8xL.js";import{p as ye}from"../chunks/stores.VOhvxRcD.js";import{B as ue}from"../chunks/BaseLink.B7sDv3Ux.js";import{t as P}from"../chunks/config.BRz4fPYa.js";const Ae=!0,Be=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ae},Symbol.toStringTag,{value:"Module"}));function Ce(s){return document.title=P,{c:g,l:g,m:g,d:g}}function Le(s){return document.title=P+" | "+s[1].data.title,{c:g,l:g,m:g,d:g}}function je(s){let a=P+"",e;return{c(){e=G(a)},l(t){e=z(t,a)},m(t,n){B(t,e,n)},p:g,d(t){t&&f(e)}}}function oe(s){let a,e,t;return e=new ue({props:{href:"/_qa",$$slots:{default:[Ie]},$$scope:{ctx:s}}}),{c(){a=m("li"),re(e.$$.fragment)},l(n){a=p(n,"LI",{});var c=b(a);ie(e.$$.fragment,c),c.forEach(f)},m(n,c){B(n,a,c),ce(e,a,null),t=!0},i(n){t||(q(e.$$.fragment,n),t=!0)},o(n){w(e.$$.fragment,n),t=!1},d(n){n&&f(a),fe(e)}}}function Ie(s){let a;return{c(){a=G("QA")},l(e){a=z(e,"QA")},m(e,t){B(e,a,t)},d(e){e&&f(a)}}}function Oe(s){let a,e,t,n,c,d,N,i,A,Y="About",Q,C,Z="Guide",R,T,L,V,j,$,x=P+"",F,J,k,K,U,I;function ee(l,_){return l[1].data.title?Le:Ce}let D=ee(s),h=D(s);d=new ue({props:{href:"/",class:"title",$$slots:{default:[je]},$$scope:{ctx:s}}});let o=s[0].debug&&oe(s);const W=s[3].default,u=de(W,s,s[4],null);return{c(){h.c(),a=se(),e=E(),t=m("div"),n=m("header"),c=m("nav"),re(d.$$.fragment),N=E(),i=m("ul"),A=m("li"),A.textContent=Y,Q=E(),C=m("li"),C.textContent=Z,R=E(),o&&o.c(),T=E(),L=m("main"),u&&u.c(),V=E(),j=m("footer"),$=m("p"),F=G(x),J=E(),k=m("a"),K=G("v"),U=G(s[2]),this.h()},l(l){const _=me("svelte-vs5quk",document.head);h.l(_),a=se(),_.forEach(f),e=y(l),t=p(l,"DIV",{class:!0});var v=b(t);n=p(v,"HEADER",{});var te=b(n);c=p(te,"NAV",{class:!0});var H=b(c);ie(d.$$.fragment,H),N=y(H),i=p(H,"UL",{});var O=b(i);A=p(O,"LI",{"data-svelte-h":!0}),ne(A)!=="svelte-plfgqh"&&(A.textContent=Y),Q=y(O),C=p(O,"LI",{"data-svelte-h":!0}),ne(C)!=="svelte-iwmhy2"&&(C.textContent=Z),R=y(O),o&&o.l(O),O.forEach(f),H.forEach(f),te.forEach(f),T=y(v),L=p(v,"MAIN",{class:!0});var le=b(L);u&&u.l(le),le.forEach(f),V=y(v),j=p(v,"FOOTER",{class:!0});var ae=b(j);$=p(ae,"P",{});var M=b($);F=z(M,x),J=y(M),k=p(M,"A",{href:!0});var X=b(k);K=z(X,"v"),U=z(X,s[2]),X.forEach(f),M.forEach(f),ae.forEach(f),v.forEach(f),this.h()},h(){S(c,"class","svelte-1jflotc"),S(L,"class","svelte-1jflotc"),S(k,"href","https://github.com/kingsdigitallab/corpus-building/blob/v"+s[2]+"/CHANGELOG.md"),S(j,"class","svelte-1jflotc"),S(t,"class","layout svelte-1jflotc")},m(l,_){h.m(document.head,null),r(document.head,a),B(l,e,_),B(l,t,_),r(t,n),r(n,c),ce(d,c,null),r(c,N),r(c,i),r(i,A),r(i,Q),r(i,C),r(i,R),o&&o.m(i,null),r(t,T),r(t,L),u&&u.m(L,null),r(t,V),r(t,j),r(j,$),r($,F),r($,J),r($,k),r(k,K),r(k,U),I=!0},p(l,[_]){D!==(D=ee(l))&&(h.d(1),h=D(l),h&&(h.c(),h.m(a.parentNode,a)));const v={};_&16&&(v.$$scope={dirty:_,ctx:l}),d.$set(v),l[0].debug?o?_&1&&q(o,1):(o=oe(l),o.c(),q(o,1),o.m(i,null)):o&&(Ee(),w(o,1,1,()=>{o=null}),ke()),u&&u.p&&(!I||_&16)&&pe(u,W,l,l[4],I?ve(W,l[4],_,null):he(l[4]),null)},i(l){I||(q(d.$$.fragment,l),q(o),q(u,l),I=!0)},o(l){w(d.$$.fragment,l),w(o),w(u,l),I=!1},d(l){l&&(f(e),f(t)),h.d(l),f(a),fe(d),o&&o.d(),u&&u.d(l)}}}function qe(s,a,e){let t;be(s,ye,i=>e(1,t=i));let{$$slots:n={},$$scope:c}=a,{data:d}=a;const N="0.6.0";return s.$$set=i=>{"data"in i&&e(0,d=i.data),"$$scope"in i&&e(4,c=i.$$scope)},[d,t,N,n,c]}class De extends ge{constructor(a){super(),$e(this,a,qe,Oe,_e,{data:0})}}export{De as component,Be as universal}; diff --git a/_app/immutable/nodes/1.BT5A7RMa.js b/_app/immutable/nodes/1.PV53mBWN.js similarity index 94% rename from _app/immutable/nodes/1.BT5A7RMa.js rename to _app/immutable/nodes/1.PV53mBWN.js index 1be2e2b50dc..ac485ca1a82 100644 --- a/_app/immutable/nodes/1.BT5A7RMa.js +++ b/_app/immutable/nodes/1.PV53mBWN.js @@ -1 +1 @@ -import{s as I,e as E,t as m,a as q,c as b,b as T,d as f,f as _,g as A,h as L,i as O,j as a,k as S,n as H,l as R}from"../chunks/scheduler.DGe1Kl3e.js";import{S as w,i as x}from"../chunks/index.BvMsa8xL.js";import{p as y}from"../chunks/stores.BxDQ-H_k.js";function z(n){var U;let e,o,r=n[0].status+"",i,$,p,c=((U=n[0].error)==null?void 0:U.message)+"",d,k,l,C,h=n[0].url.pathname+"",g,P;return{c(){e=E("article"),o=E("h1"),i=m(r),$=q(),p=E("output"),d=m(c),k=q(),l=E("p"),C=m("Error loading the page "),g=m(h),P=m("."),this.h()},l(s){e=b(s,"ARTICLE",{});var t=T(e);o=b(t,"H1",{});var u=T(o);i=f(u,r),u.forEach(_),$=A(t),p=b(t,"OUTPUT",{class:!0});var j=T(p);d=f(j,c),j.forEach(_),k=A(t),l=b(t,"P",{});var v=T(l);C=f(v,"Error loading the page "),g=f(v,h),P=f(v,"."),v.forEach(_),t.forEach(_),this.h()},h(){L(p,"class","svelte-f58rkg")},m(s,t){O(s,e,t),a(e,o),a(o,i),a(e,$),a(e,p),a(p,d),a(e,k),a(e,l),a(l,C),a(l,g),a(l,P)},p(s,[t]){var u;t&1&&r!==(r=s[0].status+"")&&S(i,r),t&1&&c!==(c=((u=s[0].error)==null?void 0:u.message)+"")&&S(d,c),t&1&&h!==(h=s[0].url.pathname+"")&&S(g,h)},i:H,o:H,d(s){s&&_(e)}}}function B(n,e,o){let r;return R(n,y,i=>o(0,r=i)),[r]}class J extends w{constructor(e){super(),x(this,e,B,z,I,{})}}export{J as component}; +import{s as I,e as E,t as m,a as q,c as b,b as T,d as f,f as _,g as A,h as L,i as O,j as a,k as S,n as H,l as R}from"../chunks/scheduler.DGe1Kl3e.js";import{S as w,i as x}from"../chunks/index.BvMsa8xL.js";import{p as y}from"../chunks/stores.VOhvxRcD.js";function z(n){var U;let e,o,r=n[0].status+"",i,$,p,c=((U=n[0].error)==null?void 0:U.message)+"",d,k,l,C,h=n[0].url.pathname+"",g,P;return{c(){e=E("article"),o=E("h1"),i=m(r),$=q(),p=E("output"),d=m(c),k=q(),l=E("p"),C=m("Error loading the page "),g=m(h),P=m("."),this.h()},l(s){e=b(s,"ARTICLE",{});var t=T(e);o=b(t,"H1",{});var u=T(o);i=f(u,r),u.forEach(_),$=A(t),p=b(t,"OUTPUT",{class:!0});var j=T(p);d=f(j,c),j.forEach(_),k=A(t),l=b(t,"P",{});var v=T(l);C=f(v,"Error loading the page "),g=f(v,h),P=f(v,"."),v.forEach(_),t.forEach(_),this.h()},h(){L(p,"class","svelte-f58rkg")},m(s,t){O(s,e,t),a(e,o),a(o,i),a(e,$),a(e,p),a(p,d),a(e,k),a(e,l),a(l,C),a(l,g),a(l,P)},p(s,[t]){var u;t&1&&r!==(r=s[0].status+"")&&S(i,r),t&1&&c!==(c=((u=s[0].error)==null?void 0:u.message)+"")&&S(d,c),t&1&&h!==(h=s[0].url.pathname+"")&&S(g,h)},i:H,o:H,d(s){s&&_(e)}}}function B(n,e,o){let r;return R(n,y,i=>o(0,r=i)),[r]}class J extends w{constructor(e){super(),x(this,e,B,z,I,{})}}export{J as component}; diff --git a/_app/immutable/nodes/2.Br4xmzXS.js b/_app/immutable/nodes/2.BG6eUCwT.js similarity index 95% rename from _app/immutable/nodes/2.Br4xmzXS.js rename to _app/immutable/nodes/2.BG6eUCwT.js index b47a79eb523..22f9e2aba4f 100644 --- a/_app/immutable/nodes/2.Br4xmzXS.js +++ b/_app/immutable/nodes/2.BG6eUCwT.js @@ -1,10 +1,10 @@ -import{s as vt,F as De,e as ce,c as se,G as Wn,i as oe,p as It,a0 as Ih,n as bn,f as ji,r as hc,N as Qt,O as Ut,t as Ne,b as Se,d as Ge,h as Je,j as Mi,k as Nt,a as lt,g as ct,E as wa,J as ka,K as _a,L as xa,m as yc,o as jp,I as hd,w as Qd,A as wh,a1 as kh,B as mc,a2 as _h,a3 as xh,z as wt,M as vn,a4 as Yr,a5 as Mo,u as jh,a6 as bh,a7 as vh,l as yl,a8 as iy,a9 as ey,aa as Qr,ab as fd,ac as Ur}from"../chunks/scheduler.DGe1Kl3e.js";import{S as zt,i as Et,b as Pe,d as Me,m as ze,a as Fi,t as Di,e as Ee,g as Ka,c as Ja}from"../chunks/index.BvMsa8xL.js";import{e as Gl,u as Ah,o as Lh}from"../chunks/each.CkTSCmMZ.js";import{i as gd,a as Sd,s as Do,d as Bh}from"../chunks/config.BRz4fPYa.js";import{g as Za,B as Ch,a as ys}from"../chunks/BaseLink.B6XhkuU3.js";import{c as Fh,g as Th}from"../chunks/_commonjsHelpers.Cpj98o6Y.js";import{d as i0,w as e0,r as No,a as dp,g as Rh}from"../chunks/entry.CzXEQA53.js";import"../chunks/paths.B7C1zKLQ.js";import{p as Dh}from"../chunks/stores.BxDQ-H_k.js";const Nh={"images.ctfassets.net":"contentful","cdn.builder.io":"builder.io","images.prismic.io":"imgix","www.datocms-assets.com":"imgix","cdn.sanity.io":"imgix","images.unsplash.com":"imgix","cdn.shopify.com":"shopify","s7d1.scene7.com":"scene7","ip.keycdn.com":"keycdn","assets.caisy.io":"bunny","images.contentstack.io":"contentstack","ucarecdn.com":"uploadcare"},Gh={"imgix.net":"imgix","files.wordpress.com":"wordpress","b-cdn.net":"bunny","storyblok.com":"storyblok","kc-usercontent.com":"kontent.ai","cloudinary.com":"cloudinary","kxcdn.com":"keycdn","imgeng.in":"imageengine","imagekit.io":"imagekit","cloudimg.io":"cloudimage","ucarecdn.com":"uploadcare","supabase.co":"supabase"},Ph={"/cdn-cgi/image/":"cloudflare","/cdn-cgi/imagedelivery/":"cloudflare_images","/_next/image":"nextjs","/_next/static":"nextjs","/_vercel/image":"vercel","/is/image":"scene7","/_ipx/":"ipx","/_image":"astro","/.netlify/images":"netlify","/storage/v1/object/public/":"supabase","/storage/v1/render/image/public/":"supabase"},ds=I=>{if(!I)return I;const p=Number(I);return isNaN(p)?I:Math.round(p)},ve=(I,p,f,h,g)=>{f?(g&&(f=ds(f)),I.searchParams.set(p,f.toString())):h&&I.searchParams.delete(p)},tn=(I,p,f)=>{I.searchParams.has(p)||I.searchParams.set(p,f.toString())},Go=(I,p)=>{const f=Number(I.searchParams.get(p));return isNaN(f)?void 0:f},ty=I=>{const{pathname:p,search:f}=I;return`${p}${f}`},bp=I=>I.hostname==="n"?ty(I):I.toString(),at=(I,p)=>typeof I=="string"?new URL(I,p??"http://n/"):I,Id=new Map(Object.entries(Nh)),Mh=Object.entries(Gh);function zh(I){return ay(I)||Eh(I)}function ay(I){if(typeof I=="string"&&!I.startsWith("https://"))return!1;const{hostname:p}=at(I);if(Id.has(p))return Id.get(p);for(const[f,h]of Mh)if(p.endsWith(`.${f}`))return h;return!1}function Eh(I){const{pathname:p}=at(I);for(const[f,h]of Object.entries(Ph))if(p.startsWith(f))return h;return!1}const qh=({url:I,width:p,height:f,format:h})=>{const g=at(I);return p&&p>4e3&&(f&&(f=Math.round(f*4e3/p)),p=4e3),f&&f>4e3&&(p&&(p=Math.round(p*4e3/f)),f=4e3),ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),ve(g,"fm",h),tn(g,"fit","fill"),g},Hh=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),p&&f&&(tn(g,"fit","cover"),tn(g,"sharp","true")),g},Vh=({url:I,width:p,height:f,format:h})=>{var b;const g=at(I);if(ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),tn(g,"fit","min"),h){g.searchParams.set("fm",h);const w=g.searchParams.get("auto");w==="format"?g.searchParams.delete("auto"):w!=null&&w.includes("format")&&g.searchParams.set("auto",w.split(",").filter(r=>r!=="format").join(","))}else g.searchParams.delete("fm"),(b=g.searchParams.get("auto"))!=null&&b.includes("format")||g.searchParams.append("auto","format");return g},Oh=/(.+?)(?:_(?:(pico|icon|thumb|small|compact|medium|large|grande|original|master)|(\d*)x(\d*)))?(?:_crop_([a-z]+))?(\.[a-zA-Z]+)(\.png|\.jpg|\.webp|\.avif)?$/,$h=I=>{const p=at(I),f=p.pathname.match(Oh);if(!f)throw new Error("Invalid Shopify URL");const[,h,g,b,w,r,P,z]=f;p.pathname=`${h}${P}`;const U=b||p.searchParams.get("width"),V=w||p.searchParams.get("height");return p.searchParams.delete("width"),p.searchParams.delete("height"),{base:p.toString(),width:Number(U)||void 0,height:Number(V)||void 0,format:z?z.slice(1):void 0,params:{crop:r,size:g},cdn:"shopify"}},Uh=({base:I,width:p,height:f,format:h,params:g})=>{const b=at(I);return ve(b,"width",p,!0,!0),ve(b,"height",f,!0,!0),ve(b,"crop",g==null?void 0:g.crop),ve(b,"format",h),b},Kh=({url:I,width:p,height:f})=>{const h=$h(I);if(!h)return;const g={...h,width:p,height:f};return Uh(g)},Jh=({url:I,width:p,height:f})=>{const h=at(I);return ve(h,"w",p,!0,!0),ve(h,"h",f,!0,!0),tn(h,"crop","1"),h},Zh=({url:I,width:p,height:f})=>{const h=at(I);return ve(h,"w",p,!0,!0),ve(h,"h",f,!0,!0),ve(h,"q",Go(h,"q"),!0),h},Wh=/https?:\/\/(?[^\/]+)\/(?[^\/]+)\/(?image|video|raw)\/(?upload|fetch|private|authenticated|sprite|facebook|twitter|youtube|vimeo)\/?(?s\-\-[a-zA-Z0-9]+\-\-)?\/?(?(?:[^_\/]+_[^,\/]+,?)*)?\/(?:(?v\d+)\/)?(?[^\s]+)$/g,Xh=I=>I?Object.fromEntries(I.split(",").map(p=>p.split("_"))):{},ny=({host:I,cloudName:p,assetType:f,deliveryType:h,signature:g,transformations:b={},version:w,id:r,format:P})=>{P&&(b.f=P);const z=Object.entries(b).map(([V,E])=>`${V}_${E}`).join(",");return`https://${[I,p,f,h,g,z,w,r].filter(Boolean).join("/")}`},ly=I=>{const f=[...at(I).toString().matchAll(Wh)];if(!f.length)throw new Error("Invalid Cloudinary URL");const h=f[0].groups||{},{transformations:g="",idAndFormat:b,...w}=h;delete h.idAndFormat;const r=b.lastIndexOf("."),P=r<0?b:b.slice(0,r),z=r<0?void 0:b.slice(r+1),{w:U,h:V,f:E,..._i}=Xh(g),ti=E&&E!=="auto"?E:z;return{base:ny({...w,id:P,transformations:_i}),width:Number(U)||void 0,height:Number(V)||void 0,format:ti,cdn:"cloudinary",params:{...h,id:h.deliveryType==="fetch"?b:P,format:ti,transformations:_i}}},Yh=({base:I,width:p,height:f,format:h,params:g})=>{var r;const b=ly(I.toString()),w={transformations:{},...b.params,...g,format:h||"auto"};return p&&(w.transformations.w=ds(p).toString()),f&&(w.transformations.h=ds(f).toString()),(r=w.transformations).c||(r.c="lfill"),ny(w)},Qh=({url:I,width:p,height:f,format:h="auto"})=>{var w,r;const g=ly(I);if(!g)throw new Error("Invalid Cloudinary URL");if(((w=g.params)==null?void 0:w.assetType)!=="image")throw new Error("Cloudinary transformer only supports images");if((r=g.params)!=null&&r.signature)throw new Error("Cloudinary transformer does not support signed URLs");const b={...g,width:p,height:f,format:h};return Yh(b)},ef=/https?:\/\/(?[^\/]+)\/cdn-cgi\/image\/(?[^\/]+)?\/(?.*)$/g,tf=I=>Object.fromEntries(I.split(",").map(p=>p.split("="))),cy=({host:I,transformations:p={},path:f})=>{const h=Object.entries(p).map(([b,w])=>`${b}=${w}`).join(",");return`https://${[I,"cdn-cgi","image",h,f].join("/")}`},sy=I=>{const p=at(I),f=[...p.toString().matchAll(ef)];if(!f.length)throw new Error("Invalid Cloudflare URL");const h=f[0].groups||{},{transformations:g,...b}=h,{width:w,height:r,f:P,...z}=tf(g);return cy({...b,transformations:z}),{base:p.toString(),width:Number(w)||void 0,height:Number(r)||void 0,format:P,cdn:"cloudflare",params:{...h,transformations:z}}},af=({base:I,width:p,height:f,format:h,params:g})=>{var r;const b=sy(I.toString()),w={transformations:{},...b.params,...g};return p&&(w.transformations.width=p==null?void 0:p.toString()),f&&(w.transformations.height=f==null?void 0:f.toString()),h&&(w.transformations.f=h==="jpg"?"jpeg":h),(r=w.transformations).fit||(r.fit="cover"),new URL(cy(w))},nf=({url:I,width:p,height:f,format:h="auto"})=>{const g=sy(I);if(!g)throw new Error("Invalid Cloudflare URL");const b={...g,width:p,height:f,format:h};return af(b)},lf=({url:I,width:p,height:f})=>{const h=at(I);return ve(h,"width",p,!0,!0),p&&f&&tn(h,"aspect_ratio",`${p}:${f}`),h},cf=/(?\/f\/\d+\/\d+x\d+\/\w+\/[^\/]+)\/?(?m\/?(?\d+x\d+:\d+x\d+)?\/?(?(?\-)?(?\d+)x(?\-)?(?\d+))?\/?(filters\:(?[^\/]+))?)?$/g,sf=/^(?\/(?\d+x\d+:\d+x\d+)?\/?(?(?\-)?(?\d+)x(?\-)?(?\d+))?\/?(filters\:(?[^\/]+))?\/?)?(?\/f\/.+)$/g,of=I=>I?Object.fromEntries(I.split(":").map(p=>{if(!p)return[];const[f,h]=p.split("(");return[f,h.replace(")","")]})):{},rf=I=>{if(!I)return;const p=Object.entries(I).map(([f,h])=>`${f}(${h??""})`);if(p.length!==0)return`filters:${p.join(":")}`},pf=I=>{const p=at(I),f=p.hostname==="img2.storyblok.com"?sf:cf,[h]=p.pathname.matchAll(f);if(!h||!h.groups)throw new Error("Invalid Storyblok URL");const{id:g,crop:b,width:w,height:r,filters:P,flipx:z,flipy:U}=h.groups,{format:V,...E}=of(P);return p.hostname==="img2.storyblok.com"&&(p.hostname="a.storyblok.com"),{base:p.origin+g,width:Number(w)||void 0,height:Number(r)||void 0,format:V,params:{crop:b,filters:E,flipx:z,flipy:U},cdn:"storyblok"}},uf=({base:I,width:p=0,height:f=0,format:h,params:g={}})=>{const{crop:b,filters:w,flipx:r="",flipy:P=""}=g,z=`${r}${p}x${P}${f}`;return new URL([I,"m",b,z,rf(w),h].filter(Boolean).join("/"))},df=({url:I,width:p,height:f,format:h})=>{const g=pf(I);if(g)return h&&(g.params||(g.params={filters:{}}),g.params.filters||(g.params.filters={}),g.params.filters.format=h),uf({...g,width:p,height:f})},yf=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),ve(g,"fm",h,!0),p&&f&&tn(g,"fit","crop"),g},wd=I=>{const f=at(I).searchParams.get("url");if(!f||!f.startsWith("http"))return!1;const h=ay(f);return h?{cdn:h,url:f}:!1},mf=({base:I,width:p,params:{quality:f=75,root:h="_vercel"}={}})=>{const g=new URL("http://n");return g.pathname=`/${h}/image`,g.searchParams.set("url",I.toString()),ve(g,"w",p,!1,!0),tn(g,"q",f),ty(g)},oy=({url:I,width:p,cdn:f})=>{const h=at(I),g=h.pathname.startsWith("/_next/image")||h.pathname.startsWith("/_vercel/image"),b=g?h.searchParams.get("url"):I.toString();if(b)return ve(h,"w",p,!0,!0),g?bp(h):mf({base:b,width:p,params:{root:f==="nextjs"?"_next":"_vercel"}})},hf=I=>oy({...I,cdn:"nextjs"}),ff=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"wid",p,!0,!0),ve(g,"hei",f,!0,!0),ve(g,"fmt",h,!0),ve(g,"qlt",Go(g,"qlt"),!0),ve(g,"scl",Go(g,"scl"),!0),tn(g,"fit","crop"),!p&&!f&&tn(g,"scl",1),g},gf=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h,!0),ve(g,"quality",Go(g,"quality"),!0),tn(g,"enlarge",0),g},Sf=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),ve(g,"quality",Go(g,"quality"),!0),g},xp={width:"w",height:"h",autoWidthWithFallback:"w_auto",auto_width_fallback:"w_auto",scaleToScreenWidth:"pc",scale_to_screen_width:"pc",crop:"cr",outputFormat:"f",format:"f",fit:"m",fitMethod:"m",compression:"cmpr",sharpness:"s",rotate:"r",inline:"in",keepMeta:"meta",keep_meta:"meta",noOptimization:"pass",no_optimization:"pass",force_download:"dl",max_device_pixel_ratio:"maxdpr",maxDevicePixelRatio:"maxdpr"};function If(I){return Object.keys(xp).find(h=>xp[h]===I)||""}function wf(I){let p=I.toString(),f=[];if(p){let h=p.split("imgeng=");h.length>1&&(f=h[1].split("/"))}return f}function kf(I){let p=I.toString(),f="";if(p){let h=p.split("imgeng=");h.length>1?f=h[0].slice(0,-1):f=p}return f}const _f=({url:I,width:p,height:f,format:h})=>{const g=at(I),b=kf(g);let w={};const r=g.toString()===b?[]:wf(g);r.length&&(w=vf(r)),p&&(w.width=p),f&&(w.height=f),h&&(w.format=h),w.hasOwnProperty("fit")||(w={...w,fit:"cropbox"});let P=xf(w),z=jf(P),U=z===""?"":b.includes("?")?"&":"?";return`${b}${U}${z}`};function xf(I){return Object.entries(I).reduce((p,[f,h])=>p+bf(f,h),"")}function jf(I){return I&&I!==""?`imgeng=${I}`:""}function bf(I,p){let f=xp[I];return f&&(p||p===0)?`/${f}_${p}`:""}function vf(I){let p={};return I.forEach(f=>{let h=f.split("_");if(h.length>1){let g=h[0],b=h[1],w=If(g);w&&(p[w]=b)}}),p}const Af=({url:I,width:p,height:f,format:h})=>{const g=at(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),g.searchParams.has("format")||tn(g,"auto","webp"),p&&f&&tn(g,"fit","crop"),g},Lf=/https?:\/\/(?[^\/]+)\/cdn-cgi\/imagedelivery\/(?[^\/]+)\/(?[^\/]+)\/*(?[^\/]+)*$/g,Bf=I=>{var p;return Object.fromEntries(((p=I==null?void 0:I.split(","))==null?void 0:p.map(f=>f.split("=")))??[])},Cf=({host:I,accountHash:p,transformations:f={},imageId:h})=>{const g=Object.entries(f).map(([w,r])=>`${w}=${r}`).join(",");return`https://${[I,"cdn-cgi","imagedelivery",p,h,g].join("/")}`},ry=I=>{const p=at(I),f=[...p.toString().matchAll(Lf)];if(!f.length)throw new Error("Invalid Cloudflare Images URL");const h=f[0].groups||{},{transformations:g,...b}=h,{w,h:r,f:P,...z}=Bf(g);return{base:p.toString(),width:Number(w)||void 0,height:Number(r)||void 0,format:P,cdn:"cloudflare_images",params:{...b,transformations:z}}},Ff=({base:I,width:p,height:f,format:h,params:g})=>{var r;const b=ry(I.toString()),w={transformations:{},...b.params,...g};return p&&(w.transformations.w=p==null?void 0:p.toString()),f&&(w.transformations.h=f==null?void 0:f.toString()),h&&(w.transformations.f=h),(r=w.transformations).fit||(r.fit="cover"),new URL(Cf(w))},Tf=({url:I,width:p,height:f,format:h="auto"})=>{const g=ry(I);if(!g)throw new Error("Invalid Cloudflare Images URL");const b={...g,width:p,height:f,format:h};return Ff(b)},Rf=I=>{const p=at(I),[f,...h]=p.pathname.split("/").slice(1),g=Object.fromEntries(f.split(",").map(b=>{const[w,r]=b.split("_");return[w,r]}));if(g.s){const[b,w]=g.s.split("x");g.w||(g.w=b),g.h||(g.h=w)}return{base:h.join("/"),width:Number(g.w)||void 0,height:Number(g.h)||void 0,quality:Number(g.q)||void 0,format:g.f||"auto",params:g,cdn:"ipx"}},kd=({base:I,width:p,height:f,format:h,params:g})=>{const b=(g==null?void 0:g.modifiers)??{};p&&f?b.s=`${p}x${f}`:p?b.w=`${p}`:f&&(b.h=`${f}`),h&&(b.f=h);const w=g!=null&&g.base.endsWith("/")?g==null?void 0:g.base:`${g==null?void 0:g.base}/`,r=Object.entries(b).map(([U,V])=>`${U}_${V}`).join(","),P=I.toString(),z=P.startsWith("/")?P.slice(1):P;return`${w}${r}/${z}`},Df=I=>{var w,r,P,z;const p=String(I.url),f=at(p),h=f.pathname.startsWith("/_ipx")&&f.hostname!=="n"?`${f.origin}/_ipx`:"/_ipx",g=((r=(w=I.cdnOptions)==null?void 0:w.ipx)==null?void 0:r.base)??h;if(g&&g!=="/"&&p.startsWith(g)){const U=Rf(p.replace(g,""));return kd({...U,...I,params:{...(P=I.cdnOptions)==null?void 0:P.ipx,base:g}})}return kd({...I,base:p,params:{...(z=I.cdnOptions)==null?void 0:z.ipx,base:g}})},Nf=({url:I,width:p,height:f,format:h})=>{const g=at(I),b=bp(new URL(g.pathname,g.origin)),w={searchParams:new URLSearchParams};return ve(w,"href",b,!0,!0),ve(w,"w",p,!0,!0),ve(w,"h",f,!0,!0),ve(w,"f",h),`/_image?${w.searchParams.toString()}`},Gf=new Set(["w","h","q","fm","url","width","height","quality"]),Pf=I=>{const p=at(I),f=Number(p.searchParams.get("w")??p.searchParams.get("width"))??void 0,h=Number(p.searchParams.get("h")??p.searchParams.get("height"))??void 0,g=Number(p.searchParams.get("q")??p.searchParams.get("quality"))||void 0,b=p.searchParams.get("fm")||void 0,w=p.searchParams.get("url")||"",r={quality:g};return p.searchParams.forEach((P,z)=>{Gf.has(z)||(r[z]=P)}),p.search="",{base:w,width:f,height:h,format:b,params:r,cdn:"netlify"}},_d=({base:I,width:p,height:f,format:h,params:{site:g,quality:b,...w}={}})=>{const r=at("/.netlify/images",g);return Object.entries(w).forEach(([P,z])=>ve(r,P,z)),ve(r,"q",b,!0,!0),ve(r,"w",p,!0,!0),ve(r,"h",f,!0,!0),ve(r,"fm",h),tn(r,"fit","cover"),r.searchParams.set("url",I.toString()),bp(r)},Mf=I=>{var f,h;const p=at(I.url);if(p.pathname.startsWith("/.netlify/images")){const{params:g,base:b,format:w}=Pf(p);return _d({base:b,format:w,...I,params:{...g,site:p.hostname==="n"?void 0:p.origin}})}return _d({...I,base:I.url,params:{site:(h=(f=I.cdnOptions)==null?void 0:f.netlify)==null?void 0:h.site}})},zf=I=>(I.searchParams.get("tr")||"").split(",").reduce((f,h)=>{const[g,b]=h.split("-");return f[g]=b,f},{}),Ef=({url:I,width:p,height:f,format:h})=>{const g=at(I),b=zf(g);b.w=p&&Math.round(p),b.h=f&&Math.round(f),b.f||(b.f="auto"),h&&(b.f=h);const w=Object.keys(b).map(r=>{const P=b[r];if(P)return`${r}-${P}`}).filter(r=>r).join(",");return g.searchParams.set("tr",w),g},qf=/^https?:\/\/(?[^\/]+)\/(?[^\/]+)/g;function py(I){const p=new URL(I),f=p.pathname+p.search+p.hash,h=f.lastIndexOf("http"),g=f.lastIndexOf("/");let b="";return h>=0?b=f.slice(h):g>=0&&(b=f.slice(g+1)),b}function Hf(I){return I.startsWith("http")}function Vf(I){const p=new URL(I);return{pathname:p.origin+p.pathname||"",search:p.search||"",hash:p.hash||""}}function Of(I){const p=new URL(I),f=py(I),h=Hf(f)?Vf(f).pathname:f;return p.pathname=p.pathname.replace(h,""),p.search="",p.hash="",p.toString()}const $f=I=>{if(typeof I!="string"||!I)return"";let p=I.trim();return p.startsWith("-/")?p=p.slice(2):p.startsWith("/")&&(p=p.slice(1)),p.endsWith("/")&&(p=p.slice(0,p.length-1)),p};function Uf(I){const p=Of(I),f=new URL(p),h=f.pathname.indexOf("/-/");return h===-1?[]:f.pathname.substring(h).split("/-/").filter(Boolean).map(b=>$f(b))}const Kf=I=>I.length?I.reduce((p,f)=>{const[h,g]=f.split("/");return{...p,[h]:g}},{}):{},uy=({host:I,uuid:p,operations:f={},filename:h})=>{const g=Object.entries(f).map(([w,r])=>`${w}/${r}`).join("/-/");return`https://${[I,p,g?`-/${g}`:"",h].join("/")}`},dy=I=>{const p=at(I),f=[...p.toString().matchAll(qf)];if(!f.length)throw new Error("Invalid Uploadcare URL");const h=f[0].groups||{},{...g}=h,b=py(p.toString()),{format:w,...r}=Kf(Uf(p.toString())),P=w&&w!=="auto"?w:"auto";return{base:uy({...g,filename:b||void 0,operations:{...r,format:P}}),cdn:"uploadcare",params:{...h,filename:b||void 0,operations:{...r,format:P}}}},Jf=({base:I,width:p,height:f,params:h})=>{const g=I.toString(),b=dy(g.endsWith("/")?g:`${g}/`),w={operations:{},...b.params,...h};return p&&f?w.operations={...w.operations,resize:`${p}x${f}`}:(p&&(w.operations={...w.operations,resize:`${p}x`}),f&&(w.operations={...w.operations,resize:`x${f}`})),uy(w)},Zf=({url:I,width:p,height:f})=>{const h=dy(I);if(!h)throw new Error("Invalid Uploadcare URL");const g={...h,width:p,height:f};return Jf(g)},Wf=["origin"],yy="/storage/v1/object/public/",vp="/storage/v1/render/image/public/",Xf=I=>I.pathname.startsWith(vp),my=I=>{const p=at(I);if(!Xf(p))return{cdn:"supabase",base:p.origin+p.pathname};const h=p.pathname.replace(vp,""),g=p.searchParams.has("quality")?Number(p.searchParams.get("quality")):void 0,b=p.searchParams.has("width")?Number(p.searchParams.get("width")):void 0,w=p.searchParams.has("height")?Number(p.searchParams.get("height")):void 0,r=p.searchParams.has("format")?p.searchParams.get("format"):void 0,P=p.searchParams.has("resize")?p.searchParams.get("resize"):void 0;return{cdn:"supabase",base:p.origin+yy+h,width:b,height:w,format:r,params:{quality:g,resize:P}}},Yf=({base:I,width:p,height:f,format:h,params:g})=>{const b=my(I.toString());I=b.base,p=p||b.width,f=f||b.height,h=h||b.format,g={...b.params,...g};const w=new URLSearchParams;return p&&w.set("width",ds(p).toString()),f&&w.set("height",ds(f).toString()),h&&Wf.includes(h)&&w.set("format",h),g!=null&&g.quality&&w.set("quality",ds(g.quality).toString()),g!=null&&g.resize&&w.set("resize",g.resize),w.toString()===""?I:b.base.replace(yy,vp)+"?"+w.toString()},Qf=({url:I,width:p,height:f,format:h,cdnOptions:g})=>{const b=my(I);return Yf({base:b.base,width:p||b.width,height:f||b.height,format:h||b.format,params:(g==null?void 0:g.supabase)||b.params})},xd={vercel:wd,nextjs:wd};function ig(I,p){if(!(p in xd))return!1;const f=xd[p];return f?f(I):!1}function Ap(I,p){const f=zh(I)||p;if(!f)return!1;const h=ig(I,f);return h||{cdn:f,url:I}}const Lp=I=>({imgix:Vh,contentful:qh,"builder.io":Hh,shopify:Kh,wordpress:Jh,cloudimage:Zh,cloudinary:Qh,bunny:lf,storyblok:df,cloudflare:nf,vercel:oy,nextjs:hf,scene7:ff,"kontent.ai":yf,keycdn:gf,directus:Sf,imageengine:_f,contentstack:Af,cloudflare_images:Tf,ipx:Df,astro:Nf,netlify:Mf,imagekit:Ef,uploadcare:Zf,supabase:Qf})[I];var eg=(I,p)=>{if(!(!I||!p))switch(p){case"constrained":return`(min-width: ${I}px) ${I}px, 100vw`;case"fixed":return`${I}px`;case"fullWidth":return"100vw";default:return}},Fo=I=>I||I===0?`${I}px`:void 0,tg=({width:I,height:p,aspectRatio:f,layout:h,objectFit:g="cover",background:b})=>{const w=[["object-fit",g]];return b!=null&&b.startsWith("https:")||b!=null&&b.startsWith("http:")||b!=null&&b.startsWith("data:")?(w.push(["background-image",`url(${b})`]),w.push(["background-size","cover"]),w.push(["background-repeat","no-repeat"])):w.push(["background",b]),h==="fixed"&&(w.push(["width",Fo(I)]),w.push(["height",Fo(p)])),h==="constrained"&&(w.push(["max-width",Fo(I)]),w.push(["max-height",Fo(p)]),w.push(["aspect-ratio",f?`${f}`:void 0]),w.push(["width","100%"])),h==="fullWidth"&&(w.push(["width","100%"]),w.push(["aspect-ratio",f?`${f}`:void 0]),w.push(["height",Fo(p)])),Object.fromEntries(w.filter(([,r])=>r))},ag=[6016,5120,4480,3840,3200,2560,2048,1920,1668,1280,1080,960,828,750,640],jd=24,ng=({width:I,layout:p,resolutions:f=ag})=>{if(p==="fullWidth")return f;if(!I)return[];const h=I*2;return p==="fixed"?[I,h]:p==="constrained"?[I,h,...f.filter(g=>g{const z=Ap(I,w);return z&&!r&&(r=Lp(z.cdn)),r?(b||(b=ng({width:p,layout:f})),b.sort((U,V)=>U-V).map(U=>{let V;return h&&g&&(V=Math.round(U/g)),{url:z?z.url:I,width:U,height:V,format:P}})):[]},cg=I=>{let{src:p,cdn:f,transformer:h}=I;const g=Ap(p,f);return g&&!h&&(h=Lp(g.cdn)),h?lg({...I,transformer:h}).map(b=>{const w=h(b);return`${w==null?void 0:w.toString()} ${b.width}w`}).join(`, -`):""};function sg({width:I,height:p,priority:f,layout:h="constrained",aspectRatio:g,...b}){return I=I&&Number(I)||void 0,p=p&&Number(p)||void 0,f?(b.loading||(b.loading="eager"),b.fetchpriority||(b.fetchpriority="high")):(b.loading||(b.loading="lazy"),b.decoding||(b.decoding="async")),b.alt===""&&(b.role||(b.role="presentation")),g?I?p||(p=Math.round(I/g)):p&&(I=Math.round(p*g)):I&&p&&(g=I/p),{width:I,height:p,aspectRatio:g,layout:h,...b}}function og(I){let{src:p,cdn:f,transformer:h,background:g,layout:b,objectFit:w,breakpoints:r,width:P,height:z,aspectRatio:U,unstyled:V,...E}=sg(I);const _i=p?Ap(p,f):void 0;let ti=p;if(_i&&(ti=_i.url,h||(h=Lp(_i.cdn))),h&&g==="auto"){const pi=U?Math.round(jd/U):void 0,Li=h({url:ti,width:jd,height:pi});Li&&(g=Li.toString())}const hi={width:P,height:z,aspectRatio:U,layout:b,objectFit:w,background:g};if(E.sizes||(E.sizes=eg(P,b)),V||(E.style={...tg(hi),...E.style}),h){E.srcset=cg({src:ti,width:P,height:z,aspectRatio:U,layout:b,breakpoints:r,transformer:h,cdn:f});const pi=h({url:ti,width:P,height:z});pi&&(ti=pi),(b==="fullWidth"||b==="constrained")&&(P=void 0,z=void 0)}return{...E,src:ti==null?void 0:ti.toString(),width:P,height:z}}function rg(I,p){const f=RegExp(I,"g");return h=>{if(typeof h!="string")throw new TypeError(`expected an argument of type string, but got ${typeof h}`);return h.match(f)?h.replace(f,p):h}}const pg=rg(/[A-Z]/,I=>`-${I.toLowerCase()}`);function ug(I,p=pg){if(!I||typeof I!="object"||Array.isArray(I))throw new TypeError(`expected an argument of type object, but got ${typeof I}`);return Object.keys(I).map(f=>`${p(f)}: ${I[f]};`).join(` -`)}function dg(I){var U,V,E,_i;let p,f,h,g,b,w,r,P=[I[11],{style:I[0]},{loading:I[6]},{width:I[8]},{height:I[7]},{decoding:I[5]},{role:I[3]},{fetchpriority:I[1]},{alt:f=(U=I[10])==null?void 0:U.toString()},{src:h=(V=I[9])==null?void 0:V.toString()},{srcset:g=(E=I[4])==null?void 0:E.toString()},{sizes:b=(_i=I[2])==null?void 0:_i.toString()}],z={};for(let ti=0;ti{f(11,p=De(De({},p),Qt(Pi)))},I.$$.update=()=>{f(12,{style:h,...g}=p,h,(f(14,g),f(11,p))),I.$$.dirty&16384&&f(10,{alt:b,style:w,src:r,width:P,height:z,loading:U,decoding:V,srcset:E,role:_i,sizes:ti,fetchpriority:hi}=og(g),b,(f(13,w),f(14,g),f(11,p)),(f(9,r),f(14,g),f(11,p)),(f(8,P),f(14,g),f(11,p)),(f(7,z),f(14,g),f(11,p)),(f(6,U),f(14,g),f(11,p)),(f(5,V),f(14,g),f(11,p)),(f(4,E),f(14,g),f(11,p)),(f(3,_i),f(14,g),f(11,p)),(f(2,ti),f(14,g),f(11,p)),(f(1,hi),f(14,g),f(11,p))),I.$$.dirty&12288&&f(0,pi=[ug(w||{}),h].filter(Boolean).join(";"))},p=Qt(p),[pi,hi,ti,_i,E,V,U,z,P,r,b,p,h,w,g,Li,Vi]}let mg=class extends zt{constructor(p){super(),Et(this,p,yg,dg,vt,{})}};function hg(I){let p,f;return{c(){p=ce("div"),f=Ne(I[0]),this.h()},l(h){p=se(h,"DIV",{class:!0});var g=Se(p);f=Ge(g,I[0]),g.forEach(ji),this.h()},h(){Je(p,"class","inscription-date")},m(h,g){oe(h,p,g),Mi(p,f)},p(h,[g]){g&1&&Nt(f,h[0])},i:bn,o:bn,d(h){h&&ji(p)}}}function fg(I,p,f){let h,{inscription:g}=p,b=[];for(const w of["notBefore","notAfter"])g[w]?g[w]<0?b.push(`${Math.abs(g[w])} BC`):b.push(`AD ${g[w]}`):b.push("Unknown");return I.$$set=w=>{"inscription"in w&&f(1,g=w.inscription)},f(0,h=b.join(" – ")),[h,g]}class hy extends zt{constructor(p){super(),Et(this,p,fg,hg,vt,{inscription:1})}}function bd(I){let p,f=I[0].place.offset+"",h;return{c(){p=ce("em"),h=Ne(f)},l(g){p=se(g,"EM",{});var b=Se(p);h=Ge(b,f),b.forEach(ji)},m(g,b){oe(g,p,b),Mi(p,h)},p(g,b){b&1&&f!==(f=g[0].place.offset+"")&&Nt(h,f)},d(g){g&&ji(p)}}}function gg(I){let p=I[0].place._+"",f;return{c(){f=Ne(p)},l(h){f=Ge(h,p)},m(h,g){oe(h,f,g)},p(h,g){g&1&&p!==(p=h[0].place._+"")&&Nt(f,p)},d(h){h&&ji(f)}}}function Sg(I){let p,f=I[0].place._+"",h,g;return{c(){p=ce("a"),h=Ne(f),this.h()},l(b){p=se(b,"A",{href:!0});var w=Se(p);h=Ge(w,f),w.forEach(ji),this.h()},h(){Je(p,"href",g=I[0].place.ref)},m(b,w){oe(b,p,w),Mi(p,h)},p(b,w){w&1&&f!==(f=b[0].place._+"")&&Nt(h,f),w&1&&g!==(g=b[0].place.ref)&&Je(p,"href",g)},d(b){b&&ji(p)}}}function Ig(I){let p,f,h=I[0].place.offset&&bd(I);function g(r,P){return r[0].place.ref?Sg:gg}let b=g(I),w=b(I);return{c(){p=ce("div"),h&&h.c(),f=lt(),w.c(),this.h()},l(r){p=se(r,"DIV",{class:!0});var P=Se(p);h&&h.l(P),f=ct(P),w.l(P),P.forEach(ji),this.h()},h(){Je(p,"class","inscription-place")},m(r,P){oe(r,p,P),h&&h.m(p,null),Mi(p,f),w.m(p,null)},p(r,[P]){r[0].place.offset?h?h.p(r,P):(h=bd(r),h.c(),h.m(p,f)):h&&(h.d(1),h=null),b===(b=g(r))&&w?w.p(r,P):(w.d(1),w=b(r),w&&(w.c(),w.m(p,null)))},i:bn,o:bn,d(r){r&&ji(p),h&&h.d(),w.d()}}}function wg(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class fy extends zt{constructor(p){super(),Et(this,p,wg,Ig,vt,{inscription:0})}}function kg(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function _g(I){let p,f;return p=new Ch({props:{href:"inscription/"+I[0],title:I[1]||I[0],$$slots:{default:[kg]},$$scope:{ctx:I}}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,[g]){const b={};g&1&&(b.href="inscription/"+h[0]),g&3&&(b.title=h[1]||h[0]),g&8&&(b.$$scope={dirty:g,ctx:h}),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function xg(I,p,f){let{$$slots:h={},$$scope:g}=p,{id:b}=p,{title:w=""}=p;return I.$$set=r=>{"id"in r&&f(0,b=r.id),"title"in r&&f(1,w=r.title),"$$scope"in r&&f(3,g=r.$$scope)},[b,w,h,g]}class Po extends zt{constructor(p){super(),Et(this,p,xg,_g,vt,{id:0,title:1})}}function vd(I){let p,f;return p=new Po({props:{id:I[0].file,title:I[0].title,$$slots:{default:[jg]},$$scope:{ctx:I}}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&1&&(b.id=h[0].file),g&1&&(b.title=h[0].title),g&3&&(b.$$scope={dirty:g,ctx:h}),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function jg(I){let p,f;return p=new mg({props:{src:gd+I[0].file+"/"+I[0].facsimile.url+"/"+Sd,alt:I[0].facsimile.desc,width:400,height:200}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&1&&(b.src=gd+h[0].file+"/"+h[0].facsimile.url+"/"+Sd),g&1&&(b.alt=h[0].facsimile.desc),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function bg(I){let p=I[0].title+"",f;return{c(){f=Ne(p)},l(h){f=Ge(h,p)},m(h,g){oe(h,f,g)},p(h,g){g&1&&p!==(p=h[0].title+"")&&Nt(f,p)},d(h){h&&ji(f)}}}function vg(I){let p=I[0].file+"",f;return{c(){f=Ne(p)},l(h){f=Ge(h,p)},m(h,g){oe(h,f,g)},p(h,g){g&1&&p!==(p=h[0].file+"")&&Nt(f,p)},d(h){h&&ji(f)}}}function Ag(I){var g;let p,f=(((g=I[0].type)==null?void 0:g._)||"N/A")+"",h;return{c(){p=ce("dd"),h=Ne(f)},l(b){p=se(b,"DD",{});var w=Se(p);h=Ge(w,f),w.forEach(ji)},m(b,w){oe(b,p,w),Mi(p,h)},p(b,w){var r;w&1&&f!==(f=(((r=b[0].type)==null?void 0:r._)||"N/A")+"")&&Nt(h,f)},d(b){b&&ji(p)}}}function Lg(I){var w;let p,f,h=((w=I[0].type)==null?void 0:w._)+"",g,b;return{c(){p=ce("dd"),f=ce("a"),g=Ne(h),this.h()},l(r){p=se(r,"DD",{});var P=Se(p);f=se(P,"A",{href:!0});var z=Se(f);g=Ge(z,h),z.forEach(ji),P.forEach(ji),this.h()},h(){Je(f,"href",b=I[0].type.ref)},m(r,P){oe(r,p,P),Mi(p,f),Mi(f,g)},p(r,P){var z;P&1&&h!==(h=((z=r[0].type)==null?void 0:z._)+"")&&Nt(g,h),P&1&&b!==(b=r[0].type.ref)&&Je(f,"href",b)},d(r){r&&ji(p)}}}function Bg(I){var Kt;let p,f,h,g,b,w,r,P,z,U,V,E,_i="ID",ti,hi,pi,Li,Vi,Pi="Status",Ui,Ki=I[0].status+"",de,ue,dt="Type",Be,we="Language",Yi,ke=(((Kt=I[0].textLang)==null?void 0:Kt._)||"N/A")+"",qe,He,Le=I[0].facsimile&&vd(I);g=new Po({props:{id:I[0].file,title:I[0].title,$$slots:{default:[bg]},$$scope:{ctx:I}}}),r=new hy({props:{inscription:I[0]}}),z=new fy({props:{inscription:I[0]}}),pi=new Po({props:{id:I[0].file,$$slots:{default:[vg]},$$scope:{ctx:I}}});function Gt(fe,ye){return fe[0].type.ref?Lg:Ag}let We=Gt(I),qi=We(I);return{c(){p=ce("div"),Le&&Le.c(),f=lt(),h=ce("p"),Pe(g.$$.fragment),b=lt(),w=ce("p"),Pe(r.$$.fragment),P=lt(),Pe(z.$$.fragment),U=lt(),V=ce("dl"),E=ce("dt"),E.textContent=_i,ti=ce("dd"),hi=ce("small"),Pe(pi.$$.fragment),Li=lt(),Vi=ce("dt"),Vi.textContent=Pi,Ui=ce("dd"),de=Ne(Ki),ue=ce("dt"),ue.textContent=dt,qi.c(),Be=ce("dt"),Be.textContent=we,Yi=ce("dd"),qe=Ne(ke),this.h()},l(fe){p=se(fe,"DIV",{class:!0});var ye=Se(p);Le&&Le.l(ye),f=ct(ye),h=se(ye,"P",{class:!0});var Ye=Se(h);Me(g.$$.fragment,Ye),Ye.forEach(ji),b=ct(ye),w=se(ye,"P",{class:!0});var Jt=Se(w);Me(r.$$.fragment,Jt),P=ct(Jt),Me(z.$$.fragment,Jt),Jt.forEach(ji),U=ct(ye),V=se(ye,"DL",{class:!0});var kt=Se(V);E=se(kt,"DT",{class:!0,"data-svelte-h":!0}),yc(E)!=="svelte-zwbns7"&&(E.textContent=_i),ti=se(kt,"DD",{});var st=Se(ti);hi=se(st,"SMALL",{});var Ct=Se(hi);Me(pi.$$.fragment,Ct),Ct.forEach(ji),Li=ct(st),st.forEach(ji),Vi=se(kt,"DT",{class:!0,"data-svelte-h":!0}),yc(Vi)!=="svelte-1e9eis"&&(Vi.textContent=Pi),Ui=se(kt,"DD",{});var qt=Se(Ui);de=Ge(qt,Ki),qt.forEach(ji),ue=se(kt,"DT",{class:!0,"data-svelte-h":!0}),yc(ue)!=="svelte-lncgha"&&(ue.textContent=dt),qi.l(kt),Be=se(kt,"DT",{class:!0,"data-svelte-h":!0}),yc(Be)!=="svelte-1aab11o"&&(Be.textContent=we),Yi=se(kt,"DD",{});var jt=Se(Yi);qe=Ge(jt,ke),jt.forEach(ji),kt.forEach(ji),ye.forEach(ji),this.h()},h(){Je(h,"class","inscription-title svelte-8ttggs"),Je(w,"class","inscription-date-place svelte-8ttggs"),Je(E,"class","svelte-8ttggs"),Je(Vi,"class","svelte-8ttggs"),Je(ue,"class","svelte-8ttggs"),Je(Be,"class","svelte-8ttggs"),Je(V,"class","svelte-8ttggs"),Je(p,"class","inscription-card")},m(fe,ye){oe(fe,p,ye),Le&&Le.m(p,null),Mi(p,f),Mi(p,h),ze(g,h,null),Mi(p,b),Mi(p,w),ze(r,w,null),Mi(w,P),ze(z,w,null),Mi(p,U),Mi(p,V),Mi(V,E),Mi(V,ti),Mi(ti,hi),ze(pi,hi,null),Mi(ti,Li),Mi(V,Vi),Mi(V,Ui),Mi(Ui,de),Mi(V,ue),qi.m(V,null),Mi(V,Be),Mi(V,Yi),Mi(Yi,qe),He=!0},p(fe,[ye]){var Ct;fe[0].facsimile?Le?(Le.p(fe,ye),ye&1&&Fi(Le,1)):(Le=vd(fe),Le.c(),Fi(Le,1),Le.m(p,f)):Le&&(Ka(),Di(Le,1,1,()=>{Le=null}),Ja());const Ye={};ye&1&&(Ye.id=fe[0].file),ye&1&&(Ye.title=fe[0].title),ye&3&&(Ye.$$scope={dirty:ye,ctx:fe}),g.$set(Ye);const Jt={};ye&1&&(Jt.inscription=fe[0]),r.$set(Jt);const kt={};ye&1&&(kt.inscription=fe[0]),z.$set(kt);const st={};ye&1&&(st.id=fe[0].file),ye&3&&(st.$$scope={dirty:ye,ctx:fe}),pi.$set(st),(!He||ye&1)&&Ki!==(Ki=fe[0].status+"")&&Nt(de,Ki),We===(We=Gt(fe))&&qi?qi.p(fe,ye):(qi.d(1),qi=We(fe),qi&&(qi.c(),qi.m(V,Be))),(!He||ye&1)&&ke!==(ke=(((Ct=fe[0].textLang)==null?void 0:Ct._)||"N/A")+"")&&Nt(qe,ke)},i(fe){He||(Fi(Le),Fi(g.$$.fragment,fe),Fi(r.$$.fragment,fe),Fi(z.$$.fragment,fe),Fi(pi.$$.fragment,fe),He=!0)},o(fe){Di(Le),Di(g.$$.fragment,fe),Di(r.$$.fragment,fe),Di(z.$$.fragment,fe),Di(pi.$$.fragment,fe),He=!1},d(fe){fe&&ji(p),Le&&Le.d(),Ee(g),Ee(r),Ee(z),Ee(pi),qi.d()}}}function Cg(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class Fg extends zt{constructor(p){super(),Et(this,p,Cg,Bg,vt,{inscription:0})}}function Ad(I,p,f){const h=I.slice();return h[1]=p[f],h}function Ld(I){let p,f,h,g;return f=new Fg({props:{inscription:I[1]}}),{c(){p=ce("li"),Pe(f.$$.fragment),h=lt()},l(b){p=se(b,"LI",{});var w=Se(p);Me(f.$$.fragment,w),h=ct(w),w.forEach(ji)},m(b,w){oe(b,p,w),ze(f,p,null),Mi(p,h),g=!0},p(b,w){const r={};w&1&&(r.inscription=b[1]),f.$set(r)},i(b){g||(Fi(f.$$.fragment,b),g=!0)},o(b){Di(f.$$.fragment,b),g=!1},d(b){b&&ji(p),Ee(f)}}}function Tg(I){let p,f,h=Gl(I[0]),g=[];for(let w=0;wDi(g[w],1,1,()=>{g[w]=null});return{c(){p=ce("ol");for(let w=0;w{"inscriptions"in g&&f(0,h=g.inscriptions)},[h]}class Dg extends zt{constructor(p){super(),Et(this,p,Rg,Tg,vt,{inscriptions:0})}}var gy={exports:{}};/** +import{s as Rt,F as Ne,e as ne,c as le,G as Wn,i as ce,p as vt,a0 as Ih,n as bn,f as ki,r as hc,N as ea,O as Wt,t as Le,b as ye,d as Be,h as De,j as Di,k as Lt,a as st,g as ot,E as ka,J as _a,K as xa,L as ja,m as Gl,o as jp,I as hd,w as Qd,A as wh,a1 as kh,B as mc,a2 as _h,a3 as xh,z as At,M as vn,a4 as Yr,a5 as Mo,u as jh,a6 as bh,a7 as vh,l as yl,a8 as iy,a9 as ey,aa as Qr,ab as fd,ac as Ur}from"../chunks/scheduler.DGe1Kl3e.js";import{S as Ot,i as $t,b as Ge,d as Pe,m as Me,a as Ti,t as Gi,e as ze,g as Za,c as Wa}from"../chunks/index.BvMsa8xL.js";import{e as Pl,u as Ah,o as Lh}from"../chunks/each.CkTSCmMZ.js";import{i as gd,a as Sd,s as Do,d as Bh}from"../chunks/config.BRz4fPYa.js";import{g as Xa,B as Ch,a as ys}from"../chunks/BaseLink.B7sDv3Ux.js";import{c as Fh,g as Th}from"../chunks/_commonjsHelpers.Cpj98o6Y.js";import{d as i0,w as e0,r as No,a as dp,g as Rh}from"../chunks/entry.BR4E40RC.js";import"../chunks/paths.CJUchZ3i.js";import{p as Dh}from"../chunks/stores.VOhvxRcD.js";const Nh={"images.ctfassets.net":"contentful","cdn.builder.io":"builder.io","images.prismic.io":"imgix","www.datocms-assets.com":"imgix","cdn.sanity.io":"imgix","images.unsplash.com":"imgix","cdn.shopify.com":"shopify","s7d1.scene7.com":"scene7","ip.keycdn.com":"keycdn","assets.caisy.io":"bunny","images.contentstack.io":"contentstack","ucarecdn.com":"uploadcare"},Gh={"imgix.net":"imgix","files.wordpress.com":"wordpress","b-cdn.net":"bunny","storyblok.com":"storyblok","kc-usercontent.com":"kontent.ai","cloudinary.com":"cloudinary","kxcdn.com":"keycdn","imgeng.in":"imageengine","imagekit.io":"imagekit","cloudimg.io":"cloudimage","ucarecdn.com":"uploadcare","supabase.co":"supabase"},Ph={"/cdn-cgi/image/":"cloudflare","/cdn-cgi/imagedelivery/":"cloudflare_images","/_next/image":"nextjs","/_next/static":"nextjs","/_vercel/image":"vercel","/is/image":"scene7","/_ipx/":"ipx","/_image":"astro","/.netlify/images":"netlify","/storage/v1/object/public/":"supabase","/storage/v1/render/image/public/":"supabase"},ds=I=>{if(!I)return I;const p=Number(I);return isNaN(p)?I:Math.round(p)},ve=(I,p,f,h,g)=>{f?(g&&(f=ds(f)),I.searchParams.set(p,f.toString())):h&&I.searchParams.delete(p)},an=(I,p,f)=>{I.searchParams.has(p)||I.searchParams.set(p,f.toString())},Go=(I,p)=>{const f=Number(I.searchParams.get(p));return isNaN(f)?void 0:f},ty=I=>{const{pathname:p,search:f}=I;return`${p}${f}`},bp=I=>I.hostname==="n"?ty(I):I.toString(),rt=(I,p)=>typeof I=="string"?new URL(I,p??"http://n/"):I,Id=new Map(Object.entries(Nh)),Mh=Object.entries(Gh);function zh(I){return ay(I)||Eh(I)}function ay(I){if(typeof I=="string"&&!I.startsWith("https://"))return!1;const{hostname:p}=rt(I);if(Id.has(p))return Id.get(p);for(const[f,h]of Mh)if(p.endsWith(`.${f}`))return h;return!1}function Eh(I){const{pathname:p}=rt(I);for(const[f,h]of Object.entries(Ph))if(p.startsWith(f))return h;return!1}const qh=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return p&&p>4e3&&(f&&(f=Math.round(f*4e3/p)),p=4e3),f&&f>4e3&&(p&&(p=Math.round(p*4e3/f)),f=4e3),ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),ve(g,"fm",h),an(g,"fit","fill"),g},Hh=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),p&&f&&(an(g,"fit","cover"),an(g,"sharp","true")),g},Vh=({url:I,width:p,height:f,format:h})=>{var j;const g=rt(I);if(ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),an(g,"fit","min"),h){g.searchParams.set("fm",h);const w=g.searchParams.get("auto");w==="format"?g.searchParams.delete("auto"):w!=null&&w.includes("format")&&g.searchParams.set("auto",w.split(",").filter(r=>r!=="format").join(","))}else g.searchParams.delete("fm"),(j=g.searchParams.get("auto"))!=null&&j.includes("format")||g.searchParams.append("auto","format");return g},Oh=/(.+?)(?:_(?:(pico|icon|thumb|small|compact|medium|large|grande|original|master)|(\d*)x(\d*)))?(?:_crop_([a-z]+))?(\.[a-zA-Z]+)(\.png|\.jpg|\.webp|\.avif)?$/,$h=I=>{const p=rt(I),f=p.pathname.match(Oh);if(!f)throw new Error("Invalid Shopify URL");const[,h,g,j,w,r,G,z]=f;p.pathname=`${h}${G}`;const U=j||p.searchParams.get("width"),V=w||p.searchParams.get("height");return p.searchParams.delete("width"),p.searchParams.delete("height"),{base:p.toString(),width:Number(U)||void 0,height:Number(V)||void 0,format:z?z.slice(1):void 0,params:{crop:r,size:g},cdn:"shopify"}},Uh=({base:I,width:p,height:f,format:h,params:g})=>{const j=rt(I);return ve(j,"width",p,!0,!0),ve(j,"height",f,!0,!0),ve(j,"crop",g==null?void 0:g.crop),ve(j,"format",h),j},Kh=({url:I,width:p,height:f})=>{const h=$h(I);if(!h)return;const g={...h,width:p,height:f};return Uh(g)},Jh=({url:I,width:p,height:f})=>{const h=rt(I);return ve(h,"w",p,!0,!0),ve(h,"h",f,!0,!0),an(h,"crop","1"),h},Zh=({url:I,width:p,height:f})=>{const h=rt(I);return ve(h,"w",p,!0,!0),ve(h,"h",f,!0,!0),ve(h,"q",Go(h,"q"),!0),h},Wh=/https?:\/\/(?[^\/]+)\/(?[^\/]+)\/(?image|video|raw)\/(?upload|fetch|private|authenticated|sprite|facebook|twitter|youtube|vimeo)\/?(?s\-\-[a-zA-Z0-9]+\-\-)?\/?(?(?:[^_\/]+_[^,\/]+,?)*)?\/(?:(?v\d+)\/)?(?[^\s]+)$/g,Xh=I=>I?Object.fromEntries(I.split(",").map(p=>p.split("_"))):{},ny=({host:I,cloudName:p,assetType:f,deliveryType:h,signature:g,transformations:j={},version:w,id:r,format:G})=>{G&&(j.f=G);const z=Object.entries(j).map(([V,E])=>`${V}_${E}`).join(",");return`https://${[I,p,f,h,g,z,w,r].filter(Boolean).join("/")}`},ly=I=>{const f=[...rt(I).toString().matchAll(Wh)];if(!f.length)throw new Error("Invalid Cloudinary URL");const h=f[0].groups||{},{transformations:g="",idAndFormat:j,...w}=h;delete h.idAndFormat;const r=j.lastIndexOf("."),G=r<0?j:j.slice(0,r),z=r<0?void 0:j.slice(r+1),{w:U,h:V,f:E,...xi}=Xh(g),ti=E&&E!=="auto"?E:z;return{base:ny({...w,id:G,transformations:xi}),width:Number(U)||void 0,height:Number(V)||void 0,format:ti,cdn:"cloudinary",params:{...h,id:h.deliveryType==="fetch"?j:G,format:ti,transformations:xi}}},Yh=({base:I,width:p,height:f,format:h,params:g})=>{var r;const j=ly(I.toString()),w={transformations:{},...j.params,...g,format:h||"auto"};return p&&(w.transformations.w=ds(p).toString()),f&&(w.transformations.h=ds(f).toString()),(r=w.transformations).c||(r.c="lfill"),ny(w)},Qh=({url:I,width:p,height:f,format:h="auto"})=>{var w,r;const g=ly(I);if(!g)throw new Error("Invalid Cloudinary URL");if(((w=g.params)==null?void 0:w.assetType)!=="image")throw new Error("Cloudinary transformer only supports images");if((r=g.params)!=null&&r.signature)throw new Error("Cloudinary transformer does not support signed URLs");const j={...g,width:p,height:f,format:h};return Yh(j)},ef=/https?:\/\/(?[^\/]+)\/cdn-cgi\/image\/(?[^\/]+)?\/(?.*)$/g,tf=I=>Object.fromEntries(I.split(",").map(p=>p.split("="))),cy=({host:I,transformations:p={},path:f})=>{const h=Object.entries(p).map(([j,w])=>`${j}=${w}`).join(",");return`https://${[I,"cdn-cgi","image",h,f].join("/")}`},sy=I=>{const p=rt(I),f=[...p.toString().matchAll(ef)];if(!f.length)throw new Error("Invalid Cloudflare URL");const h=f[0].groups||{},{transformations:g,...j}=h,{width:w,height:r,f:G,...z}=tf(g);return cy({...j,transformations:z}),{base:p.toString(),width:Number(w)||void 0,height:Number(r)||void 0,format:G,cdn:"cloudflare",params:{...h,transformations:z}}},af=({base:I,width:p,height:f,format:h,params:g})=>{var r;const j=sy(I.toString()),w={transformations:{},...j.params,...g};return p&&(w.transformations.width=p==null?void 0:p.toString()),f&&(w.transformations.height=f==null?void 0:f.toString()),h&&(w.transformations.f=h==="jpg"?"jpeg":h),(r=w.transformations).fit||(r.fit="cover"),new URL(cy(w))},nf=({url:I,width:p,height:f,format:h="auto"})=>{const g=sy(I);if(!g)throw new Error("Invalid Cloudflare URL");const j={...g,width:p,height:f,format:h};return af(j)},lf=({url:I,width:p,height:f})=>{const h=rt(I);return ve(h,"width",p,!0,!0),p&&f&&an(h,"aspect_ratio",`${p}:${f}`),h},cf=/(?\/f\/\d+\/\d+x\d+\/\w+\/[^\/]+)\/?(?m\/?(?\d+x\d+:\d+x\d+)?\/?(?(?\-)?(?\d+)x(?\-)?(?\d+))?\/?(filters\:(?[^\/]+))?)?$/g,sf=/^(?\/(?\d+x\d+:\d+x\d+)?\/?(?(?\-)?(?\d+)x(?\-)?(?\d+))?\/?(filters\:(?[^\/]+))?\/?)?(?\/f\/.+)$/g,of=I=>I?Object.fromEntries(I.split(":").map(p=>{if(!p)return[];const[f,h]=p.split("(");return[f,h.replace(")","")]})):{},rf=I=>{if(!I)return;const p=Object.entries(I).map(([f,h])=>`${f}(${h??""})`);if(p.length!==0)return`filters:${p.join(":")}`},pf=I=>{const p=rt(I),f=p.hostname==="img2.storyblok.com"?sf:cf,[h]=p.pathname.matchAll(f);if(!h||!h.groups)throw new Error("Invalid Storyblok URL");const{id:g,crop:j,width:w,height:r,filters:G,flipx:z,flipy:U}=h.groups,{format:V,...E}=of(G);return p.hostname==="img2.storyblok.com"&&(p.hostname="a.storyblok.com"),{base:p.origin+g,width:Number(w)||void 0,height:Number(r)||void 0,format:V,params:{crop:j,filters:E,flipx:z,flipy:U},cdn:"storyblok"}},uf=({base:I,width:p=0,height:f=0,format:h,params:g={}})=>{const{crop:j,filters:w,flipx:r="",flipy:G=""}=g,z=`${r}${p}x${G}${f}`;return new URL([I,"m",j,z,rf(w),h].filter(Boolean).join("/"))},df=({url:I,width:p,height:f,format:h})=>{const g=pf(I);if(g)return h&&(g.params||(g.params={filters:{}}),g.params.filters||(g.params.filters={}),g.params.filters.format=h),uf({...g,width:p,height:f})},yf=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"w",p,!0,!0),ve(g,"h",f,!0,!0),ve(g,"fm",h,!0),p&&f&&an(g,"fit","crop"),g},wd=I=>{const f=rt(I).searchParams.get("url");if(!f||!f.startsWith("http"))return!1;const h=ay(f);return h?{cdn:h,url:f}:!1},mf=({base:I,width:p,params:{quality:f=75,root:h="_vercel"}={}})=>{const g=new URL("http://n");return g.pathname=`/${h}/image`,g.searchParams.set("url",I.toString()),ve(g,"w",p,!1,!0),an(g,"q",f),ty(g)},oy=({url:I,width:p,cdn:f})=>{const h=rt(I),g=h.pathname.startsWith("/_next/image")||h.pathname.startsWith("/_vercel/image"),j=g?h.searchParams.get("url"):I.toString();if(j)return ve(h,"w",p,!0,!0),g?bp(h):mf({base:j,width:p,params:{root:f==="nextjs"?"_next":"_vercel"}})},hf=I=>oy({...I,cdn:"nextjs"}),ff=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"wid",p,!0,!0),ve(g,"hei",f,!0,!0),ve(g,"fmt",h,!0),ve(g,"qlt",Go(g,"qlt"),!0),ve(g,"scl",Go(g,"scl"),!0),an(g,"fit","crop"),!p&&!f&&an(g,"scl",1),g},gf=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h,!0),ve(g,"quality",Go(g,"quality"),!0),an(g,"enlarge",0),g},Sf=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),ve(g,"quality",Go(g,"quality"),!0),g},xp={width:"w",height:"h",autoWidthWithFallback:"w_auto",auto_width_fallback:"w_auto",scaleToScreenWidth:"pc",scale_to_screen_width:"pc",crop:"cr",outputFormat:"f",format:"f",fit:"m",fitMethod:"m",compression:"cmpr",sharpness:"s",rotate:"r",inline:"in",keepMeta:"meta",keep_meta:"meta",noOptimization:"pass",no_optimization:"pass",force_download:"dl",max_device_pixel_ratio:"maxdpr",maxDevicePixelRatio:"maxdpr"};function If(I){return Object.keys(xp).find(h=>xp[h]===I)||""}function wf(I){let p=I.toString(),f=[];if(p){let h=p.split("imgeng=");h.length>1&&(f=h[1].split("/"))}return f}function kf(I){let p=I.toString(),f="";if(p){let h=p.split("imgeng=");h.length>1?f=h[0].slice(0,-1):f=p}return f}const _f=({url:I,width:p,height:f,format:h})=>{const g=rt(I),j=kf(g);let w={};const r=g.toString()===j?[]:wf(g);r.length&&(w=vf(r)),p&&(w.width=p),f&&(w.height=f),h&&(w.format=h),w.hasOwnProperty("fit")||(w={...w,fit:"cropbox"});let G=xf(w),z=jf(G),U=z===""?"":j.includes("?")?"&":"?";return`${j}${U}${z}`};function xf(I){return Object.entries(I).reduce((p,[f,h])=>p+bf(f,h),"")}function jf(I){return I&&I!==""?`imgeng=${I}`:""}function bf(I,p){let f=xp[I];return f&&(p||p===0)?`/${f}_${p}`:""}function vf(I){let p={};return I.forEach(f=>{let h=f.split("_");if(h.length>1){let g=h[0],j=h[1],w=If(g);w&&(p[w]=j)}}),p}const Af=({url:I,width:p,height:f,format:h})=>{const g=rt(I);return ve(g,"width",p,!0,!0),ve(g,"height",f,!0,!0),ve(g,"format",h),g.searchParams.has("format")||an(g,"auto","webp"),p&&f&&an(g,"fit","crop"),g},Lf=/https?:\/\/(?[^\/]+)\/cdn-cgi\/imagedelivery\/(?[^\/]+)\/(?[^\/]+)\/*(?[^\/]+)*$/g,Bf=I=>{var p;return Object.fromEntries(((p=I==null?void 0:I.split(","))==null?void 0:p.map(f=>f.split("=")))??[])},Cf=({host:I,accountHash:p,transformations:f={},imageId:h})=>{const g=Object.entries(f).map(([w,r])=>`${w}=${r}`).join(",");return`https://${[I,"cdn-cgi","imagedelivery",p,h,g].join("/")}`},ry=I=>{const p=rt(I),f=[...p.toString().matchAll(Lf)];if(!f.length)throw new Error("Invalid Cloudflare Images URL");const h=f[0].groups||{},{transformations:g,...j}=h,{w,h:r,f:G,...z}=Bf(g);return{base:p.toString(),width:Number(w)||void 0,height:Number(r)||void 0,format:G,cdn:"cloudflare_images",params:{...j,transformations:z}}},Ff=({base:I,width:p,height:f,format:h,params:g})=>{var r;const j=ry(I.toString()),w={transformations:{},...j.params,...g};return p&&(w.transformations.w=p==null?void 0:p.toString()),f&&(w.transformations.h=f==null?void 0:f.toString()),h&&(w.transformations.f=h),(r=w.transformations).fit||(r.fit="cover"),new URL(Cf(w))},Tf=({url:I,width:p,height:f,format:h="auto"})=>{const g=ry(I);if(!g)throw new Error("Invalid Cloudflare Images URL");const j={...g,width:p,height:f,format:h};return Ff(j)},Rf=I=>{const p=rt(I),[f,...h]=p.pathname.split("/").slice(1),g=Object.fromEntries(f.split(",").map(j=>{const[w,r]=j.split("_");return[w,r]}));if(g.s){const[j,w]=g.s.split("x");g.w||(g.w=j),g.h||(g.h=w)}return{base:h.join("/"),width:Number(g.w)||void 0,height:Number(g.h)||void 0,quality:Number(g.q)||void 0,format:g.f||"auto",params:g,cdn:"ipx"}},kd=({base:I,width:p,height:f,format:h,params:g})=>{const j=(g==null?void 0:g.modifiers)??{};p&&f?j.s=`${p}x${f}`:p?j.w=`${p}`:f&&(j.h=`${f}`),h&&(j.f=h);const w=g!=null&&g.base.endsWith("/")?g==null?void 0:g.base:`${g==null?void 0:g.base}/`,r=Object.entries(j).map(([U,V])=>`${U}_${V}`).join(","),G=I.toString(),z=G.startsWith("/")?G.slice(1):G;return`${w}${r}/${z}`},Df=I=>{var w,r,G,z;const p=String(I.url),f=rt(p),h=f.pathname.startsWith("/_ipx")&&f.hostname!=="n"?`${f.origin}/_ipx`:"/_ipx",g=((r=(w=I.cdnOptions)==null?void 0:w.ipx)==null?void 0:r.base)??h;if(g&&g!=="/"&&p.startsWith(g)){const U=Rf(p.replace(g,""));return kd({...U,...I,params:{...(G=I.cdnOptions)==null?void 0:G.ipx,base:g}})}return kd({...I,base:p,params:{...(z=I.cdnOptions)==null?void 0:z.ipx,base:g}})},Nf=({url:I,width:p,height:f,format:h})=>{const g=rt(I),j=bp(new URL(g.pathname,g.origin)),w={searchParams:new URLSearchParams};return ve(w,"href",j,!0,!0),ve(w,"w",p,!0,!0),ve(w,"h",f,!0,!0),ve(w,"f",h),`/_image?${w.searchParams.toString()}`},Gf=new Set(["w","h","q","fm","url","width","height","quality"]),Pf=I=>{const p=rt(I),f=Number(p.searchParams.get("w")??p.searchParams.get("width"))??void 0,h=Number(p.searchParams.get("h")??p.searchParams.get("height"))??void 0,g=Number(p.searchParams.get("q")??p.searchParams.get("quality"))||void 0,j=p.searchParams.get("fm")||void 0,w=p.searchParams.get("url")||"",r={quality:g};return p.searchParams.forEach((G,z)=>{Gf.has(z)||(r[z]=G)}),p.search="",{base:w,width:f,height:h,format:j,params:r,cdn:"netlify"}},_d=({base:I,width:p,height:f,format:h,params:{site:g,quality:j,...w}={}})=>{const r=rt("/.netlify/images",g);return Object.entries(w).forEach(([G,z])=>ve(r,G,z)),ve(r,"q",j,!0,!0),ve(r,"w",p,!0,!0),ve(r,"h",f,!0,!0),ve(r,"fm",h),an(r,"fit","cover"),r.searchParams.set("url",I.toString()),bp(r)},Mf=I=>{var f,h;const p=rt(I.url);if(p.pathname.startsWith("/.netlify/images")){const{params:g,base:j,format:w}=Pf(p);return _d({base:j,format:w,...I,params:{...g,site:p.hostname==="n"?void 0:p.origin}})}return _d({...I,base:I.url,params:{site:(h=(f=I.cdnOptions)==null?void 0:f.netlify)==null?void 0:h.site}})},zf=I=>(I.searchParams.get("tr")||"").split(",").reduce((f,h)=>{const[g,j]=h.split("-");return f[g]=j,f},{}),Ef=({url:I,width:p,height:f,format:h})=>{const g=rt(I),j=zf(g);j.w=p&&Math.round(p),j.h=f&&Math.round(f),j.f||(j.f="auto"),h&&(j.f=h);const w=Object.keys(j).map(r=>{const G=j[r];if(G)return`${r}-${G}`}).filter(r=>r).join(",");return g.searchParams.set("tr",w),g},qf=/^https?:\/\/(?[^\/]+)\/(?[^\/]+)/g;function py(I){const p=new URL(I),f=p.pathname+p.search+p.hash,h=f.lastIndexOf("http"),g=f.lastIndexOf("/");let j="";return h>=0?j=f.slice(h):g>=0&&(j=f.slice(g+1)),j}function Hf(I){return I.startsWith("http")}function Vf(I){const p=new URL(I);return{pathname:p.origin+p.pathname||"",search:p.search||"",hash:p.hash||""}}function Of(I){const p=new URL(I),f=py(I),h=Hf(f)?Vf(f).pathname:f;return p.pathname=p.pathname.replace(h,""),p.search="",p.hash="",p.toString()}const $f=I=>{if(typeof I!="string"||!I)return"";let p=I.trim();return p.startsWith("-/")?p=p.slice(2):p.startsWith("/")&&(p=p.slice(1)),p.endsWith("/")&&(p=p.slice(0,p.length-1)),p};function Uf(I){const p=Of(I),f=new URL(p),h=f.pathname.indexOf("/-/");return h===-1?[]:f.pathname.substring(h).split("/-/").filter(Boolean).map(j=>$f(j))}const Kf=I=>I.length?I.reduce((p,f)=>{const[h,g]=f.split("/");return{...p,[h]:g}},{}):{},uy=({host:I,uuid:p,operations:f={},filename:h})=>{const g=Object.entries(f).map(([w,r])=>`${w}/${r}`).join("/-/");return`https://${[I,p,g?`-/${g}`:"",h].join("/")}`},dy=I=>{const p=rt(I),f=[...p.toString().matchAll(qf)];if(!f.length)throw new Error("Invalid Uploadcare URL");const h=f[0].groups||{},{...g}=h,j=py(p.toString()),{format:w,...r}=Kf(Uf(p.toString())),G=w&&w!=="auto"?w:"auto";return{base:uy({...g,filename:j||void 0,operations:{...r,format:G}}),cdn:"uploadcare",params:{...h,filename:j||void 0,operations:{...r,format:G}}}},Jf=({base:I,width:p,height:f,params:h})=>{const g=I.toString(),j=dy(g.endsWith("/")?g:`${g}/`),w={operations:{},...j.params,...h};return p&&f?w.operations={...w.operations,resize:`${p}x${f}`}:(p&&(w.operations={...w.operations,resize:`${p}x`}),f&&(w.operations={...w.operations,resize:`x${f}`})),uy(w)},Zf=({url:I,width:p,height:f})=>{const h=dy(I);if(!h)throw new Error("Invalid Uploadcare URL");const g={...h,width:p,height:f};return Jf(g)},Wf=["origin"],yy="/storage/v1/object/public/",vp="/storage/v1/render/image/public/",Xf=I=>I.pathname.startsWith(vp),my=I=>{const p=rt(I);if(!Xf(p))return{cdn:"supabase",base:p.origin+p.pathname};const h=p.pathname.replace(vp,""),g=p.searchParams.has("quality")?Number(p.searchParams.get("quality")):void 0,j=p.searchParams.has("width")?Number(p.searchParams.get("width")):void 0,w=p.searchParams.has("height")?Number(p.searchParams.get("height")):void 0,r=p.searchParams.has("format")?p.searchParams.get("format"):void 0,G=p.searchParams.has("resize")?p.searchParams.get("resize"):void 0;return{cdn:"supabase",base:p.origin+yy+h,width:j,height:w,format:r,params:{quality:g,resize:G}}},Yf=({base:I,width:p,height:f,format:h,params:g})=>{const j=my(I.toString());I=j.base,p=p||j.width,f=f||j.height,h=h||j.format,g={...j.params,...g};const w=new URLSearchParams;return p&&w.set("width",ds(p).toString()),f&&w.set("height",ds(f).toString()),h&&Wf.includes(h)&&w.set("format",h),g!=null&&g.quality&&w.set("quality",ds(g.quality).toString()),g!=null&&g.resize&&w.set("resize",g.resize),w.toString()===""?I:j.base.replace(yy,vp)+"?"+w.toString()},Qf=({url:I,width:p,height:f,format:h,cdnOptions:g})=>{const j=my(I);return Yf({base:j.base,width:p||j.width,height:f||j.height,format:h||j.format,params:(g==null?void 0:g.supabase)||j.params})},xd={vercel:wd,nextjs:wd};function ig(I,p){if(!(p in xd))return!1;const f=xd[p];return f?f(I):!1}function Ap(I,p){const f=zh(I)||p;if(!f)return!1;const h=ig(I,f);return h||{cdn:f,url:I}}const Lp=I=>({imgix:Vh,contentful:qh,"builder.io":Hh,shopify:Kh,wordpress:Jh,cloudimage:Zh,cloudinary:Qh,bunny:lf,storyblok:df,cloudflare:nf,vercel:oy,nextjs:hf,scene7:ff,"kontent.ai":yf,keycdn:gf,directus:Sf,imageengine:_f,contentstack:Af,cloudflare_images:Tf,ipx:Df,astro:Nf,netlify:Mf,imagekit:Ef,uploadcare:Zf,supabase:Qf})[I];var eg=(I,p)=>{if(!(!I||!p))switch(p){case"constrained":return`(min-width: ${I}px) ${I}px, 100vw`;case"fixed":return`${I}px`;case"fullWidth":return"100vw";default:return}},Fo=I=>I||I===0?`${I}px`:void 0,tg=({width:I,height:p,aspectRatio:f,layout:h,objectFit:g="cover",background:j})=>{const w=[["object-fit",g]];return j!=null&&j.startsWith("https:")||j!=null&&j.startsWith("http:")||j!=null&&j.startsWith("data:")?(w.push(["background-image",`url(${j})`]),w.push(["background-size","cover"]),w.push(["background-repeat","no-repeat"])):w.push(["background",j]),h==="fixed"&&(w.push(["width",Fo(I)]),w.push(["height",Fo(p)])),h==="constrained"&&(w.push(["max-width",Fo(I)]),w.push(["max-height",Fo(p)]),w.push(["aspect-ratio",f?`${f}`:void 0]),w.push(["width","100%"])),h==="fullWidth"&&(w.push(["width","100%"]),w.push(["aspect-ratio",f?`${f}`:void 0]),w.push(["height",Fo(p)])),Object.fromEntries(w.filter(([,r])=>r))},ag=[6016,5120,4480,3840,3200,2560,2048,1920,1668,1280,1080,960,828,750,640],jd=24,ng=({width:I,layout:p,resolutions:f=ag})=>{if(p==="fullWidth")return f;if(!I)return[];const h=I*2;return p==="fixed"?[I,h]:p==="constrained"?[I,h,...f.filter(g=>g{const z=Ap(I,w);return z&&!r&&(r=Lp(z.cdn)),r?(j||(j=ng({width:p,layout:f})),j.sort((U,V)=>U-V).map(U=>{let V;return h&&g&&(V=Math.round(U/g)),{url:z?z.url:I,width:U,height:V,format:G}})):[]},cg=I=>{let{src:p,cdn:f,transformer:h}=I;const g=Ap(p,f);return g&&!h&&(h=Lp(g.cdn)),h?lg({...I,transformer:h}).map(j=>{const w=h(j);return`${w==null?void 0:w.toString()} ${j.width}w`}).join(`, +`):""};function sg({width:I,height:p,priority:f,layout:h="constrained",aspectRatio:g,...j}){return I=I&&Number(I)||void 0,p=p&&Number(p)||void 0,f?(j.loading||(j.loading="eager"),j.fetchpriority||(j.fetchpriority="high")):(j.loading||(j.loading="lazy"),j.decoding||(j.decoding="async")),j.alt===""&&(j.role||(j.role="presentation")),g?I?p||(p=Math.round(I/g)):p&&(I=Math.round(p*g)):I&&p&&(g=I/p),{width:I,height:p,aspectRatio:g,layout:h,...j}}function og(I){let{src:p,cdn:f,transformer:h,background:g,layout:j,objectFit:w,breakpoints:r,width:G,height:z,aspectRatio:U,unstyled:V,...E}=sg(I);const xi=p?Ap(p,f):void 0;let ti=p;if(xi&&(ti=xi.url,h||(h=Lp(xi.cdn))),h&&g==="auto"){const pi=U?Math.round(jd/U):void 0,Bi=h({url:ti,width:jd,height:pi});Bi&&(g=Bi.toString())}const hi={width:G,height:z,aspectRatio:U,layout:j,objectFit:w,background:g};if(E.sizes||(E.sizes=eg(G,j)),V||(E.style={...tg(hi),...E.style}),h){E.srcset=cg({src:ti,width:G,height:z,aspectRatio:U,layout:j,breakpoints:r,transformer:h,cdn:f});const pi=h({url:ti,width:G,height:z});pi&&(ti=pi),(j==="fullWidth"||j==="constrained")&&(G=void 0,z=void 0)}return{...E,src:ti==null?void 0:ti.toString(),width:G,height:z}}function rg(I,p){const f=RegExp(I,"g");return h=>{if(typeof h!="string")throw new TypeError(`expected an argument of type string, but got ${typeof h}`);return h.match(f)?h.replace(f,p):h}}const pg=rg(/[A-Z]/,I=>`-${I.toLowerCase()}`);function ug(I,p=pg){if(!I||typeof I!="object"||Array.isArray(I))throw new TypeError(`expected an argument of type object, but got ${typeof I}`);return Object.keys(I).map(f=>`${p(f)}: ${I[f]};`).join(` +`)}function dg(I){var U,V,E,xi;let p,f,h,g,j,w,r,G=[I[11],{style:I[0]},{loading:I[6]},{width:I[8]},{height:I[7]},{decoding:I[5]},{role:I[3]},{fetchpriority:I[1]},{alt:f=(U=I[10])==null?void 0:U.toString()},{src:h=(V=I[9])==null?void 0:V.toString()},{srcset:g=(E=I[4])==null?void 0:E.toString()},{sizes:j=(xi=I[2])==null?void 0:xi.toString()}],z={};for(let ti=0;ti{f(11,p=Ne(Ne({},p),ea(Ei)))},I.$$.update=()=>{f(12,{style:h,...g}=p,h,(f(14,g),f(11,p))),I.$$.dirty&16384&&f(10,{alt:j,style:w,src:r,width:G,height:z,loading:U,decoding:V,srcset:E,role:xi,sizes:ti,fetchpriority:hi}=og(g),j,(f(13,w),f(14,g),f(11,p)),(f(9,r),f(14,g),f(11,p)),(f(8,G),f(14,g),f(11,p)),(f(7,z),f(14,g),f(11,p)),(f(6,U),f(14,g),f(11,p)),(f(5,V),f(14,g),f(11,p)),(f(4,E),f(14,g),f(11,p)),(f(3,xi),f(14,g),f(11,p)),(f(2,ti),f(14,g),f(11,p)),(f(1,hi),f(14,g),f(11,p))),I.$$.dirty&12288&&f(0,pi=[ug(w||{}),h].filter(Boolean).join(";"))},p=ea(p),[pi,hi,ti,xi,E,V,U,z,G,r,j,p,h,w,g,Bi,zi]}let mg=class extends Ot{constructor(p){super(),$t(this,p,yg,dg,Rt,{})}};function hg(I){let p,f;return{c(){p=ne("div"),f=Le(I[0]),this.h()},l(h){p=le(h,"DIV",{class:!0});var g=ye(p);f=Be(g,I[0]),g.forEach(ki),this.h()},h(){De(p,"class","inscription-date")},m(h,g){ce(h,p,g),Di(p,f)},p(h,[g]){g&1&&Lt(f,h[0])},i:bn,o:bn,d(h){h&&ki(p)}}}function fg(I,p,f){let h,{inscription:g}=p,j=[];for(const w of["notBefore","notAfter"])g[w]?g[w]<0?j.push(`${Math.abs(g[w])} BC`):j.push(`AD ${g[w]}`):j.push("Unknown");return I.$$set=w=>{"inscription"in w&&f(1,g=w.inscription)},f(0,h=j.join(" – ")),[h,g]}class hy extends Ot{constructor(p){super(),$t(this,p,fg,hg,Rt,{inscription:1})}}function bd(I){let p,f=I[0].place.offset+"",h;return{c(){p=ne("em"),h=Le(f)},l(g){p=le(g,"EM",{});var j=ye(p);h=Be(j,f),j.forEach(ki)},m(g,j){ce(g,p,j),Di(p,h)},p(g,j){j&1&&f!==(f=g[0].place.offset+"")&&Lt(h,f)},d(g){g&&ki(p)}}}function gg(I){let p=I[0].place._+"",f;return{c(){f=Le(p)},l(h){f=Be(h,p)},m(h,g){ce(h,f,g)},p(h,g){g&1&&p!==(p=h[0].place._+"")&&Lt(f,p)},d(h){h&&ki(f)}}}function Sg(I){let p,f=I[0].place._+"",h,g;return{c(){p=ne("a"),h=Le(f),this.h()},l(j){p=le(j,"A",{href:!0});var w=ye(p);h=Be(w,f),w.forEach(ki),this.h()},h(){De(p,"href",g=I[0].place.ref)},m(j,w){ce(j,p,w),Di(p,h)},p(j,w){w&1&&f!==(f=j[0].place._+"")&&Lt(h,f),w&1&&g!==(g=j[0].place.ref)&&De(p,"href",g)},d(j){j&&ki(p)}}}function Ig(I){let p,f,h=I[0].place.offset&&bd(I);function g(r,G){return r[0].place.ref?Sg:gg}let j=g(I),w=j(I);return{c(){p=ne("div"),h&&h.c(),f=st(),w.c(),this.h()},l(r){p=le(r,"DIV",{class:!0});var G=ye(p);h&&h.l(G),f=ot(G),w.l(G),G.forEach(ki),this.h()},h(){De(p,"class","inscription-place")},m(r,G){ce(r,p,G),h&&h.m(p,null),Di(p,f),w.m(p,null)},p(r,[G]){r[0].place.offset?h?h.p(r,G):(h=bd(r),h.c(),h.m(p,f)):h&&(h.d(1),h=null),j===(j=g(r))&&w?w.p(r,G):(w.d(1),w=j(r),w&&(w.c(),w.m(p,null)))},i:bn,o:bn,d(r){r&&ki(p),h&&h.d(),w.d()}}}function wg(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class fy extends Ot{constructor(p){super(),$t(this,p,wg,Ig,Rt,{inscription:0})}}function kg(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function _g(I){let p,f;return p=new Ch({props:{href:"inscription/"+I[0],title:I[1]||I[0],$$slots:{default:[kg]},$$scope:{ctx:I}}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,[g]){const j={};g&1&&(j.href="inscription/"+h[0]),g&3&&(j.title=h[1]||h[0]),g&8&&(j.$$scope={dirty:g,ctx:h}),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function xg(I,p,f){let{$$slots:h={},$$scope:g}=p,{id:j}=p,{title:w=""}=p;return I.$$set=r=>{"id"in r&&f(0,j=r.id),"title"in r&&f(1,w=r.title),"$$scope"in r&&f(3,g=r.$$scope)},[j,w,h,g]}class Po extends Ot{constructor(p){super(),$t(this,p,xg,_g,Rt,{id:0,title:1})}}function vd(I){let p,f;return p=new Po({props:{id:I[0].file,title:I[0].title,$$slots:{default:[jg]},$$scope:{ctx:I}}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&1&&(j.id=h[0].file),g&1&&(j.title=h[0].title),g&3&&(j.$$scope={dirty:g,ctx:h}),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function jg(I){let p,f;return p=new mg({props:{src:gd+I[0].file+"/"+I[0].facsimile.url+"/"+Sd,alt:I[0].facsimile.desc,width:400,height:200}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&1&&(j.src=gd+h[0].file+"/"+h[0].facsimile.url+"/"+Sd),g&1&&(j.alt=h[0].facsimile.desc),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function bg(I){let p=I[0].title+"",f;return{c(){f=Le(p)},l(h){f=Be(h,p)},m(h,g){ce(h,f,g)},p(h,g){g&1&&p!==(p=h[0].title+"")&&Lt(f,p)},d(h){h&&ki(f)}}}function vg(I){let p=I[0].file+"",f;return{c(){f=Le(p)},l(h){f=Be(h,p)},m(h,g){ce(h,f,g)},p(h,g){g&1&&p!==(p=h[0].file+"")&&Lt(f,p)},d(h){h&&ki(f)}}}function Ag(I){var g;let p,f=(((g=I[0].type)==null?void 0:g._)||"N/A")+"",h;return{c(){p=ne("dd"),h=Le(f)},l(j){p=le(j,"DD",{});var w=ye(p);h=Be(w,f),w.forEach(ki)},m(j,w){ce(j,p,w),Di(p,h)},p(j,w){var r;w&1&&f!==(f=(((r=j[0].type)==null?void 0:r._)||"N/A")+"")&&Lt(h,f)},d(j){j&&ki(p)}}}function Lg(I){var w;let p,f,h=((w=I[0].type)==null?void 0:w._)+"",g,j;return{c(){p=ne("dd"),f=ne("a"),g=Le(h),this.h()},l(r){p=le(r,"DD",{});var G=ye(p);f=le(G,"A",{href:!0});var z=ye(f);g=Be(z,h),z.forEach(ki),G.forEach(ki),this.h()},h(){De(f,"href",j=I[0].type.ref)},m(r,G){ce(r,p,G),Di(p,f),Di(f,g)},p(r,G){var z;G&1&&h!==(h=((z=r[0].type)==null?void 0:z._)+"")&&Lt(g,h),G&1&&j!==(j=r[0].type.ref)&&De(f,"href",j)},d(r){r&&ki(p)}}}function Bg(I){var g;let p,f=(((g=I[0].objectType)==null?void 0:g._)||"N/A")+"",h;return{c(){p=ne("dd"),h=Le(f)},l(j){p=le(j,"DD",{});var w=ye(p);h=Be(w,f),w.forEach(ki)},m(j,w){ce(j,p,w),Di(p,h)},p(j,w){var r;w&1&&f!==(f=(((r=j[0].objectType)==null?void 0:r._)||"N/A")+"")&&Lt(h,f)},d(j){j&&ki(p)}}}function Cg(I){var w;let p,f,h=((w=I[0].objectType)==null?void 0:w._)+"",g,j;return{c(){p=ne("dd"),f=ne("a"),g=Le(h),this.h()},l(r){p=le(r,"DD",{});var G=ye(p);f=le(G,"A",{href:!0});var z=ye(f);g=Be(z,h),z.forEach(ki),G.forEach(ki),this.h()},h(){De(f,"href",j=I[0].objectType.ref)},m(r,G){ce(r,p,G),Di(p,f),Di(f,g)},p(r,G){var z;G&1&&h!==(h=((z=r[0].objectType)==null?void 0:z._)+"")&&Lt(g,h),G&1&&j!==(j=r[0].objectType.ref)&&De(f,"href",j)},d(r){r&&ki(p)}}}function Fg(I){var ta;let p,f,h,g,j,w,r,G,z,U,V,E,xi="ID",ti,hi,pi,Bi,zi,Ei="Status",$i,Ji=I[0].status+"",me,pe,St="Type",qe,Ie="Object type",we,yt="Language",Ze,We=(((ta=I[0].textLang)==null?void 0:ta._)||"N/A")+"",Ye,Pt,Ki=I[0].facsimile&&vd(I);g=new Po({props:{id:I[0].file,title:I[0].title,$$slots:{default:[bg]},$$scope:{ctx:I}}}),r=new hy({props:{inscription:I[0]}}),z=new fy({props:{inscription:I[0]}}),pi=new Po({props:{id:I[0].file,$$slots:{default:[vg]},$$scope:{ctx:I}}});function Ai(oe,ke){return oe[0].type.ref?Lg:Ag}let it=Ai(I),Ee=it(I);function Oe(oe,ke){var pt;return(pt=oe[0].objectType)!=null&&pt.ref?Cg:Bg}let $e=Oe(I),at=$e(I);return{c(){p=ne("div"),Ki&&Ki.c(),f=st(),h=ne("p"),Ge(g.$$.fragment),j=st(),w=ne("p"),Ge(r.$$.fragment),G=st(),Ge(z.$$.fragment),U=st(),V=ne("dl"),E=ne("dt"),E.textContent=xi,ti=ne("dd"),hi=ne("small"),Ge(pi.$$.fragment),Bi=st(),zi=ne("dt"),zi.textContent=Ei,$i=ne("dd"),me=Le(Ji),pe=ne("dt"),pe.textContent=St,Ee.c(),qe=ne("dt"),qe.textContent=Ie,at.c(),we=ne("dt"),we.textContent=yt,Ze=ne("dd"),Ye=Le(We),this.h()},l(oe){p=le(oe,"DIV",{class:!0});var ke=ye(p);Ki&&Ki.l(ke),f=ot(ke),h=le(ke,"P",{class:!0});var pt=ye(h);Pe(g.$$.fragment,pt),pt.forEach(ki),j=ot(ke),w=le(ke,"P",{class:!0});var nt=ye(w);Pe(r.$$.fragment,nt),G=ot(nt),Pe(z.$$.fragment,nt),nt.forEach(ki),U=ot(ke),V=le(ke,"DL",{class:!0});var It=ye(V);E=le(It,"DT",{class:!0,"data-svelte-h":!0}),Gl(E)!=="svelte-zwbns7"&&(E.textContent=xi),ti=le(It,"DD",{});var ut=ye(ti);hi=le(ut,"SMALL",{});var Ft=ye(hi);Pe(pi.$$.fragment,Ft),Ft.forEach(ki),Bi=ot(ut),ut.forEach(ki),zi=le(It,"DT",{class:!0,"data-svelte-h":!0}),Gl(zi)!=="svelte-1e9eis"&&(zi.textContent=Ei),$i=le(It,"DD",{});var Ut=ye($i);me=Be(Ut,Ji),Ut.forEach(ki),pe=le(It,"DT",{class:!0,"data-svelte-h":!0}),Gl(pe)!=="svelte-lncgha"&&(pe.textContent=St),Ee.l(It),qe=le(It,"DT",{class:!0,"data-svelte-h":!0}),Gl(qe)!=="svelte-adyv91"&&(qe.textContent=Ie),at.l(It),we=le(It,"DT",{class:!0,"data-svelte-h":!0}),Gl(we)!=="svelte-1aab11o"&&(we.textContent=yt),Ze=le(It,"DD",{});var ba=ye(Ze);Ye=Be(ba,We),ba.forEach(ki),It.forEach(ki),ke.forEach(ki),this.h()},h(){De(h,"class","inscription-title svelte-8ttggs"),De(w,"class","inscription-date-place svelte-8ttggs"),De(E,"class","svelte-8ttggs"),De(zi,"class","svelte-8ttggs"),De(pe,"class","svelte-8ttggs"),De(qe,"class","svelte-8ttggs"),De(we,"class","svelte-8ttggs"),De(V,"class","svelte-8ttggs"),De(p,"class","inscription-card")},m(oe,ke){ce(oe,p,ke),Ki&&Ki.m(p,null),Di(p,f),Di(p,h),Me(g,h,null),Di(p,j),Di(p,w),Me(r,w,null),Di(w,G),Me(z,w,null),Di(p,U),Di(p,V),Di(V,E),Di(V,ti),Di(ti,hi),Me(pi,hi,null),Di(ti,Bi),Di(V,zi),Di(V,$i),Di($i,me),Di(V,pe),Ee.m(V,null),Di(V,qe),at.m(V,null),Di(V,we),Di(V,Ze),Di(Ze,Ye),Pt=!0},p(oe,[ke]){var Ft;oe[0].facsimile?Ki?(Ki.p(oe,ke),ke&1&&Ti(Ki,1)):(Ki=vd(oe),Ki.c(),Ti(Ki,1),Ki.m(p,f)):Ki&&(Za(),Gi(Ki,1,1,()=>{Ki=null}),Wa());const pt={};ke&1&&(pt.id=oe[0].file),ke&1&&(pt.title=oe[0].title),ke&3&&(pt.$$scope={dirty:ke,ctx:oe}),g.$set(pt);const nt={};ke&1&&(nt.inscription=oe[0]),r.$set(nt);const It={};ke&1&&(It.inscription=oe[0]),z.$set(It);const ut={};ke&1&&(ut.id=oe[0].file),ke&3&&(ut.$$scope={dirty:ke,ctx:oe}),pi.$set(ut),(!Pt||ke&1)&&Ji!==(Ji=oe[0].status+"")&&Lt(me,Ji),it===(it=Ai(oe))&&Ee?Ee.p(oe,ke):(Ee.d(1),Ee=it(oe),Ee&&(Ee.c(),Ee.m(V,qe))),$e===($e=Oe(oe))&&at?at.p(oe,ke):(at.d(1),at=$e(oe),at&&(at.c(),at.m(V,we))),(!Pt||ke&1)&&We!==(We=(((Ft=oe[0].textLang)==null?void 0:Ft._)||"N/A")+"")&&Lt(Ye,We)},i(oe){Pt||(Ti(Ki),Ti(g.$$.fragment,oe),Ti(r.$$.fragment,oe),Ti(z.$$.fragment,oe),Ti(pi.$$.fragment,oe),Pt=!0)},o(oe){Gi(Ki),Gi(g.$$.fragment,oe),Gi(r.$$.fragment,oe),Gi(z.$$.fragment,oe),Gi(pi.$$.fragment,oe),Pt=!1},d(oe){oe&&ki(p),Ki&&Ki.d(),ze(g),ze(r),ze(z),ze(pi),Ee.d(),at.d()}}}function Tg(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class Rg extends Ot{constructor(p){super(),$t(this,p,Tg,Fg,Rt,{inscription:0})}}function Ad(I,p,f){const h=I.slice();return h[1]=p[f],h}function Ld(I){let p,f,h,g;return f=new Rg({props:{inscription:I[1]}}),{c(){p=ne("li"),Ge(f.$$.fragment),h=st()},l(j){p=le(j,"LI",{});var w=ye(p);Pe(f.$$.fragment,w),h=ot(w),w.forEach(ki)},m(j,w){ce(j,p,w),Me(f,p,null),Di(p,h),g=!0},p(j,w){const r={};w&1&&(r.inscription=j[1]),f.$set(r)},i(j){g||(Ti(f.$$.fragment,j),g=!0)},o(j){Gi(f.$$.fragment,j),g=!1},d(j){j&&ki(p),ze(f)}}}function Dg(I){let p,f,h=Pl(I[0]),g=[];for(let w=0;wGi(g[w],1,1,()=>{g[w]=null});return{c(){p=ne("ol");for(let w=0;w{"inscriptions"in g&&f(0,h=g.inscriptions)},[h]}class Gg extends Ot{constructor(p){super(),$t(this,p,Ng,Dg,Rt,{inscriptions:0})}}var gy={exports:{}};/** * MapLibre GL JS * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.5.0/LICENSE.txt - */(function(I,p){(function(f,h){I.exports=h()})(Fh,function(){var f={},h={};function g(w,r,P){if(h[w]=P,w==="index"){var z="var sharedModule = {}; ("+h.shared+")(sharedModule); ("+h.worker+")(sharedModule);",U={};return h.shared(U),h.index(f,U),typeof window<"u"&&f.setWorkerUrl(window.URL.createObjectURL(new Blob([z],{type:"text/javascript"}))),f}}g("shared",["exports"],function(w){function r(t,i,a,l){return new(a||(a=Promise))(function(s,u){function m(v){try{_(l.next(v))}catch(L){u(L)}}function S(v){try{_(l.throw(v))}catch(L){u(L)}}function _(v){var L;v.done?s(v.value):(L=v.value,L instanceof a?L:new a(function(B){B(L)})).then(m,S)}_((l=l.apply(t,i||[])).next())})}function P(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}typeof SuppressedError=="function"&&SuppressedError;var z=U;function U(t,i){this.x=t,this.y=i}U.prototype={clone:function(){return new U(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,i){return this.clone()._rotateAround(t,i)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var i=t.x-this.x,a=t.y-this.y;return i*i+a*a},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,i){return Math.atan2(this.x*i-this.y*t,this.x*t+this.y*i)},_matMult:function(t){var i=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var i=Math.cos(t),a=Math.sin(t),l=a*this.x+i*this.y;return this.x=i*this.x-a*this.y,this.y=l,this},_rotateAround:function(t,i){var a=Math.cos(t),l=Math.sin(t),s=i.y+l*(this.x-i.x)+a*(this.y-i.y);return this.x=i.x+a*(this.x-i.x)-l*(this.y-i.y),this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},U.convert=function(t){return t instanceof U?t:Array.isArray(t)?new U(t[0],t[1]):t};var V=P(z),E=_i;function _i(t,i,a,l){this.cx=3*t,this.bx=3*(a-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(l-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=i,this.p2x=a,this.p2y=l}_i.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,i){if(i===void 0&&(i=1e-6),t<0)return 0;if(t>1)return 1;for(var a=t,l=0;l<8;l++){var s=this.sampleCurveX(a)-t;if(Math.abs(s)s?m=a:S=a,a=.5*(S-m)+m;return a},solve:function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}};var ti=P(E);let hi,pi;function Li(){return hi==null&&(hi=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),hi}function Vi(){if(pi==null&&(pi=!1,Li())){const i=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(i){for(let l=0;l<5*5;l++){const s=4*l;i.fillStyle=`rgb(${s},${s+1},${s+2})`,i.fillRect(l%5,Math.floor(l/5),1,1)}const a=i.getImageData(0,0,5,5).data;for(let l=0;l<5*5*4;l++)if(l%4!=3&&a[l]!==l){pi=!0;break}}}return pi||!1}function Pi(t,i,a,l){const s=new ti(t,i,a,l);return u=>s.solve(u)}const Ui=Pi(.25,.1,.25,1);function Ki(t,i,a){return Math.min(a,Math.max(i,t))}function de(t,i,a){const l=a-i,s=((t-i)%l+l)%l+i;return s===i?a:s}function ue(t,...i){for(const a of i)for(const l in a)t[l]=a[l];return t}let dt=1;function Be(t,i,a){const l={};for(const s in t)l[s]=i.call(this,t[s],s,t);return l}function we(t,i,a){const l={};for(const s in t)i.call(this,t[s],s,t)&&(l[s]=t[s]);return l}function Yi(t){return Array.isArray(t)?t.map(Yi):typeof t=="object"&&t?Be(t,Yi):t}const ke={};function qe(t){ke[t]||(typeof console<"u"&&console.warn(t),ke[t]=!0)}function He(t,i,a){return(a.y-t.y)*(i.x-t.x)>(i.y-t.y)*(a.x-t.x)}function Le(t){return typeof WorkerGlobalScope<"u"&&t!==void 0&&t instanceof WorkerGlobalScope}let Gt=null;function We(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap}const qi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function Kt(t,i,a,l,s){return r(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");const u=new VideoFrame(t,{timestamp:0});try{const m=u==null?void 0:u.format;if(!m||!m.startsWith("BGR")&&!m.startsWith("RGB"))throw new Error(`Unrecognized format ${m}`);const S=m.startsWith("BGR"),_=new Uint8ClampedArray(l*s*4);if(yield u.copyTo(_,function(v,L,B,T,N){const M=4*Math.max(-L,0),O=(Math.max(0,B)-B)*T*4+M,J=4*T,ii=Math.max(0,L),ri=Math.max(0,B);return{rect:{x:ii,y:ri,width:Math.min(v.width,L+T)-ii,height:Math.min(v.height,B+N)-ri},layout:[{offset:O,stride:J}]}}(t,i,a,l,s)),S)for(let v=0;v<_.length;v+=4){const L=_[v];_[v]=_[v+2],_[v+2]=L}return _}finally{u.close()}})}let fe,ye;const Ye="AbortError";function Jt(){return new Error(Ye)}const kt={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function st(t){return kt.REGISTERED_PROTOCOLS[t.substring(0,t.indexOf("://"))]}const Ct="global-dispatcher";class qt extends Error{constructor(i,a,l,s){super(`AJAXError: ${a} (${i}): ${l}`),this.status=i,this.statusText=a,this.url=l,this.body=s}}const jt=()=>Le(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,an=function(t,i){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const l=st(t.url);if(l)return l(t,i);if(Le(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:Ct},i)}if(!(/^file:/.test(a=t.url)||/^file:/.test(jt())&&!/^\w+:/.test(a))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(l,s){return r(this,void 0,void 0,function*(){const u=new Request(l.url,{method:l.method||"GET",body:l.body,credentials:l.credentials,headers:l.headers,cache:l.cache,referrer:jt(),signal:s.signal});l.type!=="json"||u.headers.has("Accept")||u.headers.set("Accept","application/json");const m=yield fetch(u);if(!m.ok){const v=yield m.blob();throw new qt(m.status,m.statusText,l.url,v)}let S;S=l.type==="arrayBuffer"||l.type==="image"?m.arrayBuffer():l.type==="json"?m.json():m.text();const _=yield S;if(s.signal.aborted)throw Jt();return{data:_,cacheControl:m.headers.get("Cache-Control"),expires:m.headers.get("Expires")}})}(t,i);if(Le(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:Ct},i)}var a;return function(l,s){return new Promise((u,m)=>{var S;const _=new XMLHttpRequest;_.open(l.method||"GET",l.url,!0),l.type!=="arrayBuffer"&&l.type!=="image"||(_.responseType="arraybuffer");for(const v in l.headers)_.setRequestHeader(v,l.headers[v]);l.type==="json"&&(_.responseType="text",!((S=l.headers)===null||S===void 0)&&S.Accept||_.setRequestHeader("Accept","application/json")),_.withCredentials=l.credentials==="include",_.onerror=()=>{m(new Error(_.statusText))},_.onload=()=>{if(!s.signal.aborted)if((_.status>=200&&_.status<300||_.status===0)&&_.response!==null){let v=_.response;if(l.type==="json")try{v=JSON.parse(_.response)}catch(L){return void m(L)}u({data:v,cacheControl:_.getResponseHeader("Cache-Control"),expires:_.getResponseHeader("Expires")})}else{const v=new Blob([_.response],{type:_.getResponseHeader("Content-Type")});m(new qt(_.status,_.statusText,l.url,v))}},s.signal.addEventListener("abort",()=>{_.abort(),m(Jt())}),_.send(l.body)})}(t,i)};function Ht(t){if(!t||t.indexOf("://")<=0||t.indexOf("data:image/")===0||t.indexOf("blob:")===0)return!0;const i=new URL(t),a=window.location;return i.protocol===a.protocol&&i.host===a.host}function ia(t,i,a){a[t]&&a[t].indexOf(i)!==-1||(a[t]=a[t]||[],a[t].push(i))}function la(t,i,a){if(a&&a[t]){const l=a[t].indexOf(i);l!==-1&&a[t].splice(l,1)}}class Wa{constructor(i,a={}){ue(this,a),this.type=i}}class nn extends Wa{constructor(i,a={}){super("error",ue({error:i},a))}}class At{on(i,a){return this._listeners=this._listeners||{},ia(i,a,this._listeners),this}off(i,a){return la(i,a,this._listeners),la(i,a,this._oneTimeListeners),this}once(i,a){return a?(this._oneTimeListeners=this._oneTimeListeners||{},ia(i,a,this._oneTimeListeners),this):new Promise(l=>this.once(i,l))}fire(i,a){typeof i=="string"&&(i=new Wa(i,a||{}));const l=i.type;if(this.listens(l)){i.target=this;const s=this._listeners&&this._listeners[l]?this._listeners[l].slice():[];for(const S of s)S.call(this,i);const u=this._oneTimeListeners&&this._oneTimeListeners[l]?this._oneTimeListeners[l].slice():[];for(const S of u)la(l,S,this._oneTimeListeners),S.call(this,i);const m=this._eventedParent;m&&(ue(i,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),m.fire(i))}else i instanceof nn&&console.error(i.error);return this}listens(i){return this._listeners&&this._listeners[i]&&this._listeners[i].length>0||this._oneTimeListeners&&this._oneTimeListeners[i]&&this._oneTimeListeners[i].length>0||this._eventedParent&&this._eventedParent.listens(i)}setEventedParent(i,a){return this._eventedParent=i,this._eventedParentData=a,this}}var gi={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const ja=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Nn(t,i){const a={};for(const l in t)l!=="ref"&&(a[l]=t[l]);return ja.forEach(l=>{l in i&&(a[l]=i[l])}),a}function Ve(t,i){if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(let a=0;a`:t.itemType.kind==="value"?"array":`array<${i}>`}return t.kind}const H=[ln,Ci,je,re,Ba,An,cn,D(_e),Pn,Sn,Y];function W(t,i){if(i.kind==="error")return null;if(t.kind==="array"){if(i.kind==="array"&&(i.N===0&&i.itemType.kind==="value"||!W(t.itemType,i.itemType))&&(typeof t.N!="number"||t.N===i.N))return null}else{if(t.kind===i.kind)return null;if(t.kind==="value"){for(const a of H)if(!W(a,i))return null}}return`Expected ${R(t)} but found ${R(i)} instead.`}function li(t,i){return i.some(a=>a.kind===t.kind)}function ci(t,i){return i.some(a=>a==="null"?t===null:a==="array"?Array.isArray(t):a==="object"?t&&!Array.isArray(t)&&typeof t=="object":a===typeof t)}function ui(t,i){return t.kind==="array"&&i.kind==="array"?t.itemType.kind===i.itemType.kind&&typeof t.N=="number":t.kind===i.kind}const ei=.96422,Si=.82521,ki=4/29,mi=6/29,Ti=3*mi*mi,ae=mi*mi*mi,le=Math.PI/180,be=180/Math.PI;function $e(t){return(t%=360)<0&&(t+=360),t}function xe([t,i,a,l]){let s,u;const m=Lt((.2225045*(t=ot(t))+.7168786*(i=ot(i))+.0606169*(a=ot(a)))/1);t===i&&i===a?s=u=m:(s=Lt((.4360747*t+.3850649*i+.1430804*a)/ei),u=Lt((.0139322*t+.0971045*i+.7141733*a)/Si));const S=116*m-16;return[S<0?0:S,500*(s-m),200*(m-u),l]}function ot(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Lt(t){return t>ae?Math.pow(t,1/3):t/Ti+ki}function Vt([t,i,a,l]){let s=(t+16)/116,u=isNaN(i)?s:s+i/500,m=isNaN(a)?s:s-a/200;return s=1*Qe(s),u=ei*Qe(u),m=Si*Qe(m),[Ce(3.1338561*u-1.6168667*s-.4906146*m),Ce(-.9787684*u+1.9161415*s+.033454*m),Ce(.0719453*u-.2289914*s+1.4052427*m),l]}function Ce(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Qe(t){return t>mi?t*t*t:Ti*(t-ki)}function _t(t){return parseInt(t.padEnd(2,t),16)/255}function Wt(t,i){return oa(i?t/100:t,0,1)}function oa(t,i,a){return Math.min(Math.max(i,t),a)}function ra(t){return!t.some(Number.isNaN)}const Pl={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class it{constructor(i,a,l,s=1,u=!0){this.r=i,this.g=a,this.b=l,this.a=s,u||(this.r*=s,this.g*=s,this.b*=s,s||this.overwriteGetter("rgb",[i,a,l,s]))}static parse(i){if(i instanceof it)return i;if(typeof i!="string")return;const a=function(l){if((l=l.toLowerCase().trim())==="transparent")return[0,0,0,0];const s=Pl[l];if(s){const[m,S,_]=s;return[m/255,S/255,_/255,1]}if(l.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(l)){const m=l.length<6?1:2;let S=1;return[_t(l.slice(S,S+=m)),_t(l.slice(S,S+=m)),_t(l.slice(S,S+=m)),_t(l.slice(S,S+m)||"ff")]}if(l.startsWith("rgb")){const m=l.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(m){const[S,_,v,L,B,T,N,M,O,J,ii,ri]=m,ai=[L||" ",N||" ",J].join("");if(ai===" "||ai===" /"||ai===",,"||ai===",,,"){const oi=[v,T,O].join(""),fi=oi==="%%%"?100:oi===""?255:0;if(fi){const xi=[oa(+_/fi,0,1),oa(+B/fi,0,1),oa(+M/fi,0,1),ii?Wt(+ii,ri):1];if(ra(xi))return xi}}return}}const u=l.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(u){const[m,S,_,v,L,B,T,N,M]=u,O=[_||" ",L||" ",T].join("");if(O===" "||O===" /"||O===",,"||O===",,,"){const J=[+S,oa(+v,0,100),oa(+B,0,100),N?Wt(+N,M):1];if(ra(J))return function([ii,ri,ai,oi]){function fi(xi){const Gi=(xi+ii/30)%12,ne=ri*Math.min(ai,1-ai);return ai-ne*Math.max(-1,Math.min(Gi-3,9-Gi,1))}return ii=$e(ii),ri/=100,ai/=100,[fi(0),fi(8),fi(4),oi]}(J)}}}(i);return a?new it(...a,!1):void 0}get rgb(){const{r:i,g:a,b:l,a:s}=this,u=s||1/0;return this.overwriteGetter("rgb",[i/u,a/u,l/u,s])}get hcl(){return this.overwriteGetter("hcl",function(i){const[a,l,s,u]=xe(i),m=Math.sqrt(l*l+s*s);return[Math.round(1e4*m)?$e(Math.atan2(s,l)*be):NaN,m,a,u]}(this.rgb))}get lab(){return this.overwriteGetter("lab",xe(this.rgb))}overwriteGetter(i,a){return Object.defineProperty(this,i,{value:a}),a}toString(){const[i,a,l,s]=this.rgb;return`rgba(${[i,a,l].map(u=>Math.round(255*u)).join(",")},${s})`}}it.black=new it(0,0,0,1),it.white=new it(1,1,1,1),it.transparent=new it(0,0,0,0),it.red=new it(1,0,0,1);class hs{constructor(i,a,l){this.sensitivity=i?a?"variant":"case":a?"accent":"base",this.locale=l,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(i,a){return this.collator.compare(i,a)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class fs{constructor(i,a,l,s,u){this.text=i,this.image=a,this.scale=l,this.fontStack=s,this.textColor=u}}class za{constructor(i){this.sections=i}static fromString(i){return new za([new fs(i,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(i=>i.text.length!==0||i.image&&i.image.name.length!==0)}static factory(i){return i instanceof za?i:za.fromString(i)}toString(){return this.sections.length===0?"":this.sections.map(i=>i.text).join("")}}class Ea{constructor(i){this.values=i.slice()}static parse(i){if(i instanceof Ea)return i;if(typeof i=="number")return new Ea([i,i,i,i]);if(Array.isArray(i)&&!(i.length<1||i.length>4)){for(const a of i)if(typeof a!="number")return;switch(i.length){case 1:i=[i[0],i[0],i[0],i[0]];break;case 2:i=[i[0],i[1],i[0],i[1]];break;case 3:i=[i[0],i[1],i[2],i[1]]}return new Ea(i)}}toString(){return JSON.stringify(this.values)}}const t0=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class qa{constructor(i){this.values=i.slice()}static parse(i){if(i instanceof qa)return i;if(Array.isArray(i)&&!(i.length<1)&&i.length%2==0){for(let a=0;a=0&&t<=255&&typeof i=="number"&&i>=0&&i<=255&&typeof a=="number"&&a>=0&&a<=255?l===void 0||typeof l=="number"&&l>=0&&l<=1?null:`Invalid rgba value [${[t,i,a,l].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof l=="number"?[t,i,a,l]:[t,i,a]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ml(t){if(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number"||t instanceof it||t instanceof hs||t instanceof za||t instanceof Ea||t instanceof qa||t instanceof pa)return!0;if(Array.isArray(t)){for(const i of t)if(!Ml(i))return!1;return!0}if(typeof t=="object"){for(const i in t)if(!Ml(t[i]))return!1;return!0}return!1}function Ot(t){if(t===null)return ln;if(typeof t=="string")return je;if(typeof t=="boolean")return re;if(typeof t=="number")return Ci;if(t instanceof it)return Ba;if(t instanceof hs)return gn;if(t instanceof za)return An;if(t instanceof Ea)return Pn;if(t instanceof qa)return Y;if(t instanceof pa)return Sn;if(Array.isArray(t)){const i=t.length;let a;for(const l of t){const s=Ot(l);if(a){if(a===s)continue;a=_e;break}a=s}return D(a||_e,i)}return cn}function Ln(t){const i=typeof t;return t===null?"":i==="string"||i==="number"||i==="boolean"?String(t):t instanceof it||t instanceof za||t instanceof Ea||t instanceof qa||t instanceof pa?t.toString():JSON.stringify(t)}class Xn{constructor(i,a){this.type=i,this.value=a}static parse(i,a){if(i.length!==2)return a.error(`'literal' expression requires exactly one argument, but found ${i.length-1} instead.`);if(!Ml(i[1]))return a.error("invalid value");const l=i[1];let s=Ot(l);const u=a.expectedType;return s.kind!=="array"||s.N!==0||!u||u.kind!=="array"||typeof u.N=="number"&&u.N!==0||(s=u),new Xn(s,l)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Pt{constructor(i){this.name="ExpressionEvaluationError",this.message=i}toJSON(){return this.message}}const gc={string:je,number:Ci,boolean:re,object:cn};class Ya{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");let l,s=1;const u=i[0];if(u==="array"){let S,_;if(i.length>2){const v=i[1];if(typeof v!="string"||!(v in gc)||v==="object")return a.error('The item type argument of "array" must be one of string, number, boolean',1);S=gc[v],s++}else S=_e;if(i.length>3){if(i[2]!==null&&(typeof i[2]!="number"||i[2]<0||i[2]!==Math.floor(i[2])))return a.error('The length argument to "array" must be a positive integer literal',2);_=i[2],s++}l=D(S,_)}else{if(!gc[u])throw new Error(`Types doesn't contain name = ${u}`);l=gc[u]}const m=[];for(;si.outputDefined())}}const zl={"to-boolean":re,"to-color":Ba,"to-number":Ci,"to-string":je};class Mn{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");const l=i[0];if(!zl[l])throw new Error(`Can't parse ${l} as it is not part of the known types`);if((l==="to-boolean"||l==="to-string")&&i.length!==2)return a.error("Expected one argument.");const s=zl[l],u=[];for(let m=1;m4?`Invalid rbga value ${JSON.stringify(a)}: expected an array containing either three or four numeric values.`:fc(a[0],a[1],a[2],a[3]),!l))return new it(a[0]/255,a[1]/255,a[2]/255,a[3])}throw new Pt(l||`Could not parse color from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"padding":{let a;for(const l of this.args){a=l.evaluate(i);const s=Ea.parse(a);if(s)return s}throw new Pt(`Could not parse padding from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"variableAnchorOffsetCollection":{let a;for(const l of this.args){a=l.evaluate(i);const s=qa.parse(a);if(s)return s}throw new Pt(`Could not parse variableAnchorOffsetCollection from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"number":{let a=null;for(const l of this.args){if(a=l.evaluate(i),a===null)return 0;const s=Number(a);if(!isNaN(s))return s}throw new Pt(`Could not convert ${JSON.stringify(a)} to number.`)}case"formatted":return za.fromString(Ln(this.args[0].evaluate(i)));case"resolvedImage":return pa.fromString(Ln(this.args[0].evaluate(i)));default:return Ln(this.args[0].evaluate(i))}}eachChild(i){this.args.forEach(i)}outputDefined(){return this.args.every(i=>i.outputDefined())}}const gs=["Unknown","Point","LineString","Polygon"];class El{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?gs[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(i){let a=this._parseColorCache[i];return a||(a=this._parseColorCache[i]=it.parse(i)),a}}class zn{constructor(i,a,l=[],s,u=new Ma,m=[]){this.registry=i,this.path=l,this.key=l.map(S=>`[${S}]`).join(""),this.scope=u,this.errors=m,this.expectedType=s,this._isConstant=a}parse(i,a,l,s,u={}){return a?this.concat(a,l,s)._parse(i,u):this._parse(i,u)}_parse(i,a){function l(s,u,m){return m==="assert"?new Ya(u,[s]):m==="coerce"?new Mn(u,[s]):s}if(i!==null&&typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"||(i=["literal",i]),Array.isArray(i)){if(i.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const s=i[0];if(typeof s!="string")return this.error(`Expression name must be a string, but found ${typeof s} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const u=this.registry[s];if(u){let m=u.parse(i,this);if(!m)return null;if(this.expectedType){const S=this.expectedType,_=m.type;if(S.kind!=="string"&&S.kind!=="number"&&S.kind!=="boolean"&&S.kind!=="object"&&S.kind!=="array"||_.kind!=="value")if(S.kind!=="color"&&S.kind!=="formatted"&&S.kind!=="resolvedImage"||_.kind!=="value"&&_.kind!=="string")if(S.kind!=="padding"||_.kind!=="value"&&_.kind!=="number"&&_.kind!=="array")if(S.kind!=="variableAnchorOffsetCollection"||_.kind!=="value"&&_.kind!=="array"){if(this.checkSubtype(S,_))return null}else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"assert")}if(!(m instanceof Xn)&&m.type.kind!=="resolvedImage"&&this._isConstant(m)){const S=new El;try{m=new Xn(m.type,m.evaluate(S))}catch(_){return this.error(_.message),null}}return m}return this.error(`Unknown expression "${s}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(i===void 0?"'undefined' value invalid. Use null instead.":typeof i=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof i} instead.`)}concat(i,a,l){const s=typeof i=="number"?this.path.concat(i):this.path,u=l?this.scope.concat(l):this.scope;return new zn(this.registry,this._isConstant,s,a||null,u,this.errors)}error(i,...a){const l=`${this.key}${a.map(s=>`[${s}]`).join("")}`;this.errors.push(new Tt(l,i))}checkSubtype(i,a){const l=W(i,a);return l&&this.error(l),l}}class Ze{constructor(i,a){this.type=a.type,this.bindings=[].concat(i),this.result=a}evaluate(i){return this.result.evaluate(i)}eachChild(i){for(const a of this.bindings)i(a[1]);i(this.result)}static parse(i,a){if(i.length<4)return a.error(`Expected at least 3 arguments, but found ${i.length-1} instead.`);const l=[];for(let u=1;u=l.length)throw new Pt(`Array index out of bounds: ${a} > ${l.length-1}.`);if(a!==Math.floor(a))throw new Pt(`Array index must be an integer, but found ${a} instead.`);return l[a]}eachChild(i){i(this.index),i(this.input)}outputDefined(){return!1}}class ql{constructor(i,a){this.type=re,this.needle=i,this.haystack=a}static parse(i,a){if(i.length!==3)return a.error(`Expected 2 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,_e);return l&&s?li(l.type,[re,je,Ci,ln,_e])?new ql(l,s):a.error(`Expected first argument to be of type boolean, string, number or null, but found ${R(l.type)} instead`):null}evaluate(i){const a=this.needle.evaluate(i),l=this.haystack.evaluate(i);if(!l)return!1;if(!ci(a,["boolean","string","number","null"]))throw new Pt(`Expected first argument to be of type boolean, string, number or null, but found ${R(Ot(a))} instead.`);if(!ci(l,["string","array"]))throw new Pt(`Expected second argument to be of type array or string, but found ${R(Ot(l))} instead.`);return l.indexOf(a)>=0}eachChild(i){i(this.needle),i(this.haystack)}outputDefined(){return!0}}class Ic{constructor(i,a,l){this.type=Ci,this.needle=i,this.haystack=a,this.fromIndex=l}static parse(i,a){if(i.length<=2||i.length>=5)return a.error(`Expected 3 or 4 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,_e);if(!l||!s)return null;if(!li(l.type,[re,je,Ci,ln,_e]))return a.error(`Expected first argument to be of type boolean, string, number or null, but found ${R(l.type)} instead`);if(i.length===4){const u=a.parse(i[3],3,Ci);return u?new Ic(l,s,u):null}return new Ic(l,s)}evaluate(i){const a=this.needle.evaluate(i),l=this.haystack.evaluate(i);if(!ci(a,["boolean","string","number","null"]))throw new Pt(`Expected first argument to be of type boolean, string, number or null, but found ${R(Ot(a))} instead.`);if(!ci(l,["string","array"]))throw new Pt(`Expected second argument to be of type array or string, but found ${R(Ot(l))} instead.`);if(this.fromIndex){const s=this.fromIndex.evaluate(i);return l.indexOf(a,s)}return l.indexOf(a)}eachChild(i){i(this.needle),i(this.haystack),this.fromIndex&&i(this.fromIndex)}outputDefined(){return!1}}class wc{constructor(i,a,l,s,u,m){this.inputType=i,this.type=a,this.input=l,this.cases=s,this.outputs=u,this.otherwise=m}static parse(i,a){if(i.length<5)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if(i.length%2!=1)return a.error("Expected an even number of arguments.");let l,s;a.expectedType&&a.expectedType.kind!=="value"&&(s=a.expectedType);const u={},m=[];for(let v=2;vNumber.MAX_SAFE_INTEGER)return T.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof M=="number"&&Math.floor(M)!==M)return T.error("Numeric branch labels must be integer values.");if(l){if(T.checkSubtype(l,Ot(M)))return null}else l=Ot(M);if(u[String(M)]!==void 0)return T.error("Branch labels must be unique.");u[String(M)]=m.length}const N=a.parse(B,v,s);if(!N)return null;s=s||N.type,m.push(N)}const S=a.parse(i[1],1,_e);if(!S)return null;const _=a.parse(i[i.length-1],i.length-1,s);return _?S.type.kind!=="value"&&a.concat(1).checkSubtype(l,S.type)?null:new wc(l,s,S,u,m,_):null}evaluate(i){const a=this.input.evaluate(i);return(Ot(a)===this.inputType&&this.outputs[this.cases[a]]||this.otherwise).evaluate(i)}eachChild(i){i(this.input),this.outputs.forEach(i),i(this.otherwise)}outputDefined(){return this.outputs.every(i=>i.outputDefined())&&this.otherwise.outputDefined()}}class kc{constructor(i,a,l){this.type=i,this.branches=a,this.otherwise=l}static parse(i,a){if(i.length<4)return a.error(`Expected at least 3 arguments, but found only ${i.length-1}.`);if(i.length%2!=0)return a.error("Expected an odd number of arguments.");let l;a.expectedType&&a.expectedType.kind!=="value"&&(l=a.expectedType);const s=[];for(let m=1;ma.outputDefined())&&this.otherwise.outputDefined()}}class _c{constructor(i,a,l,s){this.type=i,this.input=a,this.beginIndex=l,this.endIndex=s}static parse(i,a){if(i.length<=2||i.length>=5)return a.error(`Expected 3 or 4 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,Ci);if(!l||!s)return null;if(!li(l.type,[D(_e),je,_e]))return a.error(`Expected first argument to be of type array or string, but found ${R(l.type)} instead`);if(i.length===4){const u=a.parse(i[3],3,Ci);return u?new _c(l.type,l,s,u):null}return new _c(l.type,l,s)}evaluate(i){const a=this.input.evaluate(i),l=this.beginIndex.evaluate(i);if(!ci(a,["string","array"]))throw new Pt(`Expected first argument to be of type array or string, but found ${R(Ot(a))} instead.`);if(this.endIndex){const s=this.endIndex.evaluate(i);return a.slice(l,s)}return a.slice(l)}eachChild(i){i(this.input),i(this.beginIndex),this.endIndex&&i(this.endIndex)}outputDefined(){return!1}}function Hl(t,i){const a=t.length-1;let l,s,u=0,m=a,S=0;for(;u<=m;)if(S=Math.floor((u+m)/2),l=t[S],s=t[S+1],l<=i){if(S===a||ii))throw new Pt("Input is not a number.");m=S-1}return 0}class ml{constructor(i,a,l){this.type=i,this.input=a,this.labels=[],this.outputs=[];for(const[s,u]of l)this.labels.push(s),this.outputs.push(u)}static parse(i,a){if(i.length-1<4)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if((i.length-1)%2!=0)return a.error("Expected an even number of arguments.");const l=a.parse(i[1],1,Ci);if(!l)return null;const s=[];let u=null;a.expectedType&&a.expectedType.kind!=="value"&&(u=a.expectedType);for(let m=1;m=S)return a.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',v);const B=a.parse(_,L,u);if(!B)return null;u=u||B.type,s.push([S,B])}return new ml(u,l,s)}evaluate(i){const a=this.labels,l=this.outputs;if(a.length===1)return l[0].evaluate(i);const s=this.input.evaluate(i);if(s<=a[0])return l[0].evaluate(i);const u=a.length;return s>=a[u-1]?l[u-1].evaluate(i):l[Hl(a,s)].evaluate(i)}eachChild(i){i(this.input);for(const a of this.outputs)i(a)}outputDefined(){return this.outputs.every(i=>i.outputDefined())}}function a0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n0=Eo;function Eo(t,i,a,l){this.cx=3*t,this.bx=3*(a-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(l-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=i,this.p2x=a,this.p2y=l}Eo.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,i){if(i===void 0&&(i=1e-6),t<0)return 0;if(t>1)return 1;for(var a=t,l=0;l<8;l++){var s=this.sampleCurveX(a)-t;if(Math.abs(s)s?m=a:S=a,a=.5*(S-m)+m;return a},solve:function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}};var l0=a0(n0);function En(t,i,a){return t+a*(i-t)}function Vl(t,i,a){return t.map((l,s)=>En(l,i[s],a))}const Ha={number:En,color:function(t,i,a,l="rgb"){switch(l){case"rgb":{const[s,u,m,S]=Vl(t.rgb,i.rgb,a);return new it(s,u,m,S,!1)}case"hcl":{const[s,u,m,S]=t.hcl,[_,v,L,B]=i.hcl;let T,N;if(isNaN(s)||isNaN(_))isNaN(s)?isNaN(_)?T=NaN:(T=_,m!==1&&m!==0||(N=v)):(T=s,L!==1&&L!==0||(N=u));else{let ri=_-s;_>s&&ri>180?ri-=360:_180&&(ri+=360),T=s+a*ri}const[M,O,J,ii]=function([ri,ai,oi,fi]){return ri=isNaN(ri)?0:ri*le,Vt([oi,Math.cos(ri)*ai,Math.sin(ri)*ai,fi])}([T,N??En(u,v,a),En(m,L,a),En(S,B,a)]);return new it(M,O,J,ii,!1)}case"lab":{const[s,u,m,S]=Vt(Vl(t.lab,i.lab,a));return new it(s,u,m,S,!1)}}},array:Vl,padding:function(t,i,a){return new Ea(Vl(t.values,i.values,a))},variableAnchorOffsetCollection:function(t,i,a){const l=t.values,s=i.values;if(l.length!==s.length)throw new Pt(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${i.toString()}`);const u=[];for(let m=0;mtypeof L!="number"||L<0||L>1))return a.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);s={name:"cubic-bezier",controlPoints:v}}}if(i.length-1<4)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if((i.length-1)%2!=0)return a.error("Expected an even number of arguments.");if(u=a.parse(u,2,Ci),!u)return null;const S=[];let _=null;l==="interpolate-hcl"||l==="interpolate-lab"?_=Ba:a.expectedType&&a.expectedType.kind!=="value"&&(_=a.expectedType);for(let v=0;v=L)return a.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',T);const M=a.parse(B,N,_);if(!M)return null;_=_||M.type,S.push([L,M])}return ui(_,Ci)||ui(_,Ba)||ui(_,Pn)||ui(_,Y)||ui(_,D(Ci))?new Va(_,l,s,u,S):a.error(`Type ${R(_)} is not interpolatable.`)}evaluate(i){const a=this.labels,l=this.outputs;if(a.length===1)return l[0].evaluate(i);const s=this.input.evaluate(i);if(s<=a[0])return l[0].evaluate(i);const u=a.length;if(s>=a[u-1])return l[u-1].evaluate(i);const m=Hl(a,s),S=Va.interpolationFactor(this.interpolation,s,a[m],a[m+1]),_=l[m].evaluate(i),v=l[m+1].evaluate(i);switch(this.operator){case"interpolate":return Ha[this.type.kind](_,v,S);case"interpolate-hcl":return Ha.color(_,v,S,"hcl");case"interpolate-lab":return Ha.color(_,v,S,"lab")}}eachChild(i){i(this.input);for(const a of this.outputs)i(a)}outputDefined(){return this.outputs.every(i=>i.outputDefined())}}function Ol(t,i,a,l){const s=l-a,u=t-a;return s===0?0:i===1?u/s:(Math.pow(i,u)-1)/(Math.pow(i,s)-1)}class xc{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expectected at least one argument.");let l=null;const s=a.expectedType;s&&s.kind!=="value"&&(l=s);const u=[];for(const S of i.slice(1)){const _=a.parse(S,1+u.length,l,void 0,{typeAnnotation:"omit"});if(!_)return null;l=l||_.type,u.push(_)}if(!l)throw new Error("No output type");const m=s&&u.some(S=>W(s,S.type));return new xc(m?_e:l,u)}evaluate(i){let a,l=null,s=0;for(const u of this.args)if(s++,l=u.evaluate(i),l&&l instanceof pa&&!l.available&&(a||(a=l.name),l=null,s===this.args.length&&(l=a)),l!==null)break;return l}eachChild(i){this.args.forEach(i)}outputDefined(){return this.args.every(i=>i.outputDefined())}}function qo(t,i){return t==="=="||t==="!="?i.kind==="boolean"||i.kind==="string"||i.kind==="number"||i.kind==="null"||i.kind==="value":i.kind==="string"||i.kind==="number"||i.kind==="value"}function Ho(t,i,a,l){return l.compare(i,a)===0}function Yn(t,i,a){const l=t!=="=="&&t!=="!=";return class Sy{constructor(u,m,S){this.type=re,this.lhs=u,this.rhs=m,this.collator=S,this.hasUntypedArgument=u.type.kind==="value"||m.type.kind==="value"}static parse(u,m){if(u.length!==3&&u.length!==4)return m.error("Expected two or three arguments.");const S=u[0];let _=m.parse(u[1],1,_e);if(!_)return null;if(!qo(S,_.type))return m.concat(1).error(`"${S}" comparisons are not supported for type '${R(_.type)}'.`);let v=m.parse(u[2],2,_e);if(!v)return null;if(!qo(S,v.type))return m.concat(2).error(`"${S}" comparisons are not supported for type '${R(v.type)}'.`);if(_.type.kind!==v.type.kind&&_.type.kind!=="value"&&v.type.kind!=="value")return m.error(`Cannot compare types '${R(_.type)}' and '${R(v.type)}'.`);l&&(_.type.kind==="value"&&v.type.kind!=="value"?_=new Ya(v.type,[_]):_.type.kind!=="value"&&v.type.kind==="value"&&(v=new Ya(_.type,[v])));let L=null;if(u.length===4){if(_.type.kind!=="string"&&v.type.kind!=="string"&&_.type.kind!=="value"&&v.type.kind!=="value")return m.error("Cannot use collator to compare non-string types.");if(L=m.parse(u[3],3,gn),!L)return null}return new Sy(_,v,L)}evaluate(u){const m=this.lhs.evaluate(u),S=this.rhs.evaluate(u);if(l&&this.hasUntypedArgument){const _=Ot(m),v=Ot(S);if(_.kind!==v.kind||_.kind!=="string"&&_.kind!=="number")throw new Pt(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${_.kind}, ${v.kind}) instead.`)}if(this.collator&&!l&&this.hasUntypedArgument){const _=Ot(m),v=Ot(S);if(_.kind!=="string"||v.kind!=="string")return i(u,m,S)}return this.collator?a(u,m,S,this.collator.evaluate(u)):i(u,m,S)}eachChild(u){u(this.lhs),u(this.rhs),this.collator&&u(this.collator)}outputDefined(){return!0}}}const Vo=Yn("==",function(t,i,a){return i===a},Ho),c0=Yn("!=",function(t,i,a){return i!==a},function(t,i,a,l){return!Ho(0,i,a,l)}),s0=Yn("<",function(t,i,a){return i",function(t,i,a){return i>a},function(t,i,a,l){return l.compare(i,a)>0}),$o=Yn("<=",function(t,i,a){return i<=a},function(t,i,a,l){return l.compare(i,a)<=0}),o0=Yn(">=",function(t,i,a){return i>=a},function(t,i,a,l){return l.compare(i,a)>=0});class jc{constructor(i,a,l){this.type=gn,this.locale=l,this.caseSensitive=i,this.diacriticSensitive=a}static parse(i,a){if(i.length!==2)return a.error("Expected one argument.");const l=i[1];if(typeof l!="object"||Array.isArray(l))return a.error("Collator options argument must be an object.");const s=a.parse(l["case-sensitive"]!==void 0&&l["case-sensitive"],1,re);if(!s)return null;const u=a.parse(l["diacritic-sensitive"]!==void 0&&l["diacritic-sensitive"],1,re);if(!u)return null;let m=null;return l.locale&&(m=a.parse(l.locale,1,je),!m)?null:new jc(s,u,m)}evaluate(i){return new hs(this.caseSensitive.evaluate(i),this.diacriticSensitive.evaluate(i),this.locale?this.locale.evaluate(i):null)}eachChild(i){i(this.caseSensitive),i(this.diacriticSensitive),this.locale&&i(this.locale)}outputDefined(){return!1}}class Is{constructor(i,a,l,s,u){this.type=je,this.number=i,this.locale=a,this.currency=l,this.minFractionDigits=s,this.maxFractionDigits=u}static parse(i,a){if(i.length!==3)return a.error("Expected two arguments.");const l=a.parse(i[1],1,Ci);if(!l)return null;const s=i[2];if(typeof s!="object"||Array.isArray(s))return a.error("NumberFormat options argument must be an object.");let u=null;if(s.locale&&(u=a.parse(s.locale,1,je),!u))return null;let m=null;if(s.currency&&(m=a.parse(s.currency,1,je),!m))return null;let S=null;if(s["min-fraction-digits"]&&(S=a.parse(s["min-fraction-digits"],1,Ci),!S))return null;let _=null;return s["max-fraction-digits"]&&(_=a.parse(s["max-fraction-digits"],1,Ci),!_)?null:new Is(l,u,m,S,_)}evaluate(i){return new Intl.NumberFormat(this.locale?this.locale.evaluate(i):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(i):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(i):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(i):void 0}).format(this.number.evaluate(i))}eachChild(i){i(this.number),this.locale&&i(this.locale),this.currency&&i(this.currency),this.minFractionDigits&&i(this.minFractionDigits),this.maxFractionDigits&&i(this.maxFractionDigits)}outputDefined(){return!1}}class bc{constructor(i){this.type=An,this.sections=i}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");const l=i[1];if(!Array.isArray(l)&&typeof l=="object")return a.error("First argument must be an image or text section.");const s=[];let u=!1;for(let m=1;m<=i.length-1;++m){const S=i[m];if(u&&typeof S=="object"&&!Array.isArray(S)){u=!1;let _=null;if(S["font-scale"]&&(_=a.parse(S["font-scale"],1,Ci),!_))return null;let v=null;if(S["text-font"]&&(v=a.parse(S["text-font"],1,D(je)),!v))return null;let L=null;if(S["text-color"]&&(L=a.parse(S["text-color"],1,Ba),!L))return null;const B=s[s.length-1];B.scale=_,B.font=v,B.textColor=L}else{const _=a.parse(i[m],1,_e);if(!_)return null;const v=_.type.kind;if(v!=="string"&&v!=="value"&&v!=="null"&&v!=="resolvedImage")return a.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");u=!0,s.push({content:_,scale:null,font:null,textColor:null})}}return new bc(s)}evaluate(i){return new za(this.sections.map(a=>{const l=a.content.evaluate(i);return Ot(l)===Sn?new fs("",l,null,null,null):new fs(Ln(l),null,a.scale?a.scale.evaluate(i):null,a.font?a.font.evaluate(i).join(","):null,a.textColor?a.textColor.evaluate(i):null)}))}eachChild(i){for(const a of this.sections)i(a.content),a.scale&&i(a.scale),a.font&&i(a.font),a.textColor&&i(a.textColor)}outputDefined(){return!1}}class ws{constructor(i){this.type=Sn,this.input=i}static parse(i,a){if(i.length!==2)return a.error("Expected two arguments.");const l=a.parse(i[1],1,je);return l?new ws(l):a.error("No image name provided.")}evaluate(i){const a=this.input.evaluate(i),l=pa.fromString(a);return l&&i.availableImages&&(l.available=i.availableImages.indexOf(a)>-1),l}eachChild(i){i(this.input)}outputDefined(){return!1}}class ks{constructor(i){this.type=Ci,this.input=i}static parse(i,a){if(i.length!==2)return a.error(`Expected 1 argument, but found ${i.length-1} instead.`);const l=a.parse(i[1],1);return l?l.type.kind!=="array"&&l.type.kind!=="string"&&l.type.kind!=="value"?a.error(`Expected argument of type string or array, but found ${R(l.type)} instead.`):new ks(l):null}evaluate(i){const a=this.input.evaluate(i);if(typeof a=="string"||Array.isArray(a))return a.length;throw new Pt(`Expected value to be of type string or array, but found ${R(Ot(a))} instead.`)}eachChild(i){i(this.input)}outputDefined(){return!1}}const In=8192;function _s(t,i){const a=(180+t[0])/360,l=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,s=Math.pow(2,i.z);return[Math.round(a*s*In),Math.round(l*s*In)]}function hl(t,i){const a=Math.pow(2,i.z);return[(s=(t[0]/In+i.x)/a,360*s-180),(l=(t[1]/In+i.y)/a,360/Math.PI*Math.atan(Math.exp((180-360*l)*Math.PI/180))-90)];var l,s}function Oe(t,i){t[0]=Math.min(t[0],i[0]),t[1]=Math.min(t[1],i[1]),t[2]=Math.max(t[2],i[0]),t[3]=Math.max(t[3],i[1])}function $l(t,i){return!(t[0]<=i[0]||t[2]>=i[2]||t[1]<=i[1]||t[3]>=i[3])}function r0(t,i,a){const l=t[0]-i[0],s=t[1]-i[1],u=t[0]-a[0],m=t[1]-a[1];return l*m-u*s==0&&l*u<=0&&s*m<=0}function vc(t,i,a,l){return(s=[l[0]-a[0],l[1]-a[1]])[0]*(u=[i[0]-t[0],i[1]-t[1]])[1]-s[1]*u[0]!=0&&!(!Ko(t,i,a,l)||!Ko(a,l,t,i));var s,u}function p0(t,i,a){for(const l of a)for(let s=0;s(s=t)[1]!=(m=S[_+1])[1]>s[1]&&s[0]<(m[0]-u[0])*(s[1]-u[1])/(m[1]-u[1])+u[0]&&(l=!l)}var s,u,m;return l}function u0(t,i){for(const a of i)if(fl(t,a))return!0;return!1}function Uo(t,i){for(const a of t)if(!fl(a,i))return!1;for(let a=0;a0&&S<0||m<0&&S>0}function xs(t,i,a){const l=[];for(let s=0;sa[2]){const s=.5*l;let u=t[0]-a[0]>s?-l:a[0]-t[0]>s?l:0;u===0&&(u=t[0]-a[2]>s?-l:a[2]-t[0]>s?l:0),t[0]+=u}Oe(i,t)}function Wo(t,i,a,l){const s=Math.pow(2,l.z)*In,u=[l.x*In,l.y*In],m=[];for(const S of t)for(const _ of S){const v=[_.x+u[0],_.y+u[1]];Zo(v,i,a,s),m.push(v)}return m}function Xo(t,i,a,l){const s=Math.pow(2,l.z)*In,u=[l.x*In,l.y*In],m=[];for(const _ of t){const v=[];for(const L of _){const B=[L.x+u[0],L.y+u[1]];Oe(i,B),v.push(B)}m.push(v)}if(i[2]-i[0]<=s/2){(S=i)[0]=S[1]=1/0,S[2]=S[3]=-1/0;for(const _ of m)for(const v of _)Zo(v,i,a,s)}var S;return m}class Qn{constructor(i,a){this.type=re,this.geojson=i,this.geometries=a}static parse(i,a){if(i.length!==2)return a.error(`'within' expression requires exactly one argument, but found ${i.length-1} instead.`);if(Ml(i[1])){const l=i[1];if(l.type==="FeatureCollection"){const s=[];for(const u of l.features){const{type:m,coordinates:S}=u.geometry;m==="Polygon"&&s.push(S),m==="MultiPolygon"&&s.push(...S)}if(s.length)return new Qn(l,{type:"MultiPolygon",coordinates:s})}else if(l.type==="Feature"){const s=l.geometry.type;if(s==="Polygon"||s==="MultiPolygon")return new Qn(l,l.geometry)}else if(l.type==="Polygon"||l.type==="MultiPolygon")return new Qn(l,l)}return a.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(i){if(i.geometry()!=null&&i.canonicalID()!=null){if(i.geometryType()==="Point")return function(a,l){const s=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],m=a.canonicalID();if(l.type==="Polygon"){const S=xs(l.coordinates,u,m),_=Wo(a.geometry(),s,u,m);if(!$l(s,u))return!1;for(const v of _)if(!fl(v,S))return!1}if(l.type==="MultiPolygon"){const S=Jo(l.coordinates,u,m),_=Wo(a.geometry(),s,u,m);if(!$l(s,u))return!1;for(const v of _)if(!u0(v,S))return!1}return!0}(i,this.geometries);if(i.geometryType()==="LineString")return function(a,l){const s=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],m=a.canonicalID();if(l.type==="Polygon"){const S=xs(l.coordinates,u,m),_=Xo(a.geometry(),s,u,m);if(!$l(s,u))return!1;for(const v of _)if(!Uo(v,S))return!1}if(l.type==="MultiPolygon"){const S=Jo(l.coordinates,u,m),_=Xo(a.geometry(),s,u,m);if(!$l(s,u))return!1;for(const v of _)if(!d0(v,S))return!1}return!0}(i,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Yo=class{constructor(t=[],i=y0){if(this.data=t,this.length=this.data.length,this.compare=i,this.length>0)for(let a=(this.length>>1)-1;a>=0;a--)this._down(a)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],i=this.data.pop();return this.length--,this.length>0&&(this.data[0]=i,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:i,compare:a}=this,l=i[t];for(;t>0;){const s=t-1>>1,u=i[s];if(a(l,u)>=0)break;i[t]=u,t=s}i[t]=l}_down(t){const{data:i,compare:a}=this,l=this.length>>1,s=i[t];for(;t=0)break;i[t]=m,t=u}i[t]=s}};function y0(t,i){return ti?1:0}function m0(t,i,a,l,s){Qo(t,i,a,l||t.length-1,s||h0)}function Qo(t,i,a,l,s){for(;l>a;){if(l-a>600){var u=l-a+1,m=i-a+1,S=Math.log(u),_=.5*Math.exp(2*S/3),v=.5*Math.sqrt(S*_*(u-_)/u)*(m-u/2<0?-1:1);Qo(t,i,Math.max(a,Math.floor(i-m*_/u+v)),Math.min(l,Math.floor(i+(u-m)*_/u+v)),s)}var L=t[i],B=a,T=l;for(Ul(t,a,i),s(t[l],L)>0&&Ul(t,a,l);B0;)T--}s(t[a],L)===0?Ul(t,a,T):Ul(t,++T,l),T<=i&&(a=T+1),i<=T&&(l=T-1)}}function Ul(t,i,a){var l=t[i];t[i]=t[a],t[a]=l}function h0(t,i){return ti?1:0}function Ac(t,i){if(t.length<=1)return[t];const a=[];let l,s;for(const u of t){const m=g0(u);m!==0&&(u.area=Math.abs(m),s===void 0&&(s=m<0),s===m<0?(l&&a.push(l),l=[u]):l.push(u))}if(l&&a.push(l),i>1)for(let u=0;u1?(v=i[_+1][0],L=i[_+1][1]):N>0&&(v+=B/this.kx*N,L+=T/this.ky*N)),B=this.wrap(a[0]-v)*this.kx,T=(a[1]-L)*this.ky;const M=B*B+T*T;M180;)i-=360;return i}}function ar(t,i){return i[0]-t[0]}function Lc(t){return t[1]-t[0]+1}function Bn(t,i){return t[1]>=t[0]&&t[1]t[1])return[null,null];const a=Lc(t);if(i){if(a===2)return[t,null];const s=Math.floor(a/2);return[[t[0],t[0]+s],[t[0]+s,t[1]]]}if(a===1)return[t,null];const l=Math.floor(a/2)-1;return[[t[0],t[0]+l],[t[0]+l+1,t[1]]]}function bs(t,i){if(!Bn(i,t.length))return[1/0,1/0,-1/0,-1/0];const a=[1/0,1/0,-1/0,-1/0];for(let l=i[0];l<=i[1];++l)Oe(a,t[l]);return a}function vs(t){const i=[1/0,1/0,-1/0,-1/0];for(const a of t)for(const l of a)Oe(i,l);return i}function nr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function As(t,i,a){if(!nr(t)||!nr(i))return NaN;let l=0,s=0;return t[2]i[2]&&(l=t[0]-i[2]),t[1]>i[3]&&(s=t[1]-i[3]),t[3]=l)return l;if($l(s,u)){if(Jl(t,i))return 0}else if(Jl(i,t))return 0;let m=1/0;for(const S of t)for(let _=0,v=S.length,L=v-1;_0;){const _=m.pop();if(_[0]>=u)continue;const v=_[1],L=i?50:100;if(Lc(v)<=L){if(!Bn(v,t.length))return NaN;if(i){const B=yt(t,v,a,l);if(isNaN(B)||B===0)return B;u=Math.min(u,B)}else for(let B=v[0];B<=v[1];++B){const T=xt(t[B],a,l);if(u=Math.min(u,T),u===0)return 0}}else{const B=Kl(v,i);Cs(m,u,l,t,S,B[0]),Cs(m,u,l,t,S,B[1])}}return u}function Fc(t,i,a,l,s,u=1/0){let m=Math.min(u,s.distance(t[0],a[0]));if(m===0)return m;const S=new Yo([[0,[0,t.length-1],[0,a.length-1]]],ar);for(;S.length>0;){const _=S.pop();if(_[0]>=m)continue;const v=_[1],L=_[2],B=i?50:100,T=l?50:100;if(Lc(v)<=B&&Lc(L)<=T){if(!Bn(v,t.length)&&Bn(L,a.length))return NaN;let N;if(i&&l)N=Te(t,v,a,L,s),m=Math.min(m,N);else if(i&&!l){const M=t.slice(v[0],v[1]+1);for(let O=L[0];O<=L[1];++O)if(N=rt(a[O],M,s),m=Math.min(m,N),m===0)return m}else if(!i&&l){const M=a.slice(L[0],L[1]+1);for(let O=v[0];O<=v[1];++O)if(N=rt(t[O],M,s),m=Math.min(m,N),m===0)return m}else N=Bs(t,v,a,L,s),m=Math.min(m,N)}else{const N=Kl(v,i),M=Kl(L,l);Bc(S,m,s,t,a,N[0],M[0]),Bc(S,m,s,t,a,N[0],M[1]),Bc(S,m,s,t,a,N[1],M[0]),Bc(S,m,s,t,a,N[1],M[1])}}return m}function Fs(t){return t.type==="MultiPolygon"?t.coordinates.map(i=>({type:"Polygon",coordinates:i})):t.type==="MultiLineString"?t.coordinates.map(i=>({type:"LineString",coordinates:i})):t.type==="MultiPoint"?t.coordinates.map(i=>({type:"Point",coordinates:i})):[t]}class qn{constructor(i,a){this.type=Ci,this.geojson=i,this.geometries=a}static parse(i,a){if(i.length!==2)return a.error(`'distance' expression requires exactly one argument, but found ${i.length-1} instead.`);if(Ml(i[1])){const l=i[1];if(l.type==="FeatureCollection")return new qn(l,l.features.map(s=>Fs(s.geometry)).flat());if(l.type==="Feature")return new qn(l,Fs(l.geometry));if("type"in l&&"coordinates"in l)return new qn(l,Fs(l))}return a.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(i){if(i.geometry()!=null&&i.canonicalID()!=null){if(i.geometryType()==="Point")return function(a,l){const s=a.geometry(),u=s.flat().map(_=>hl([_.x,_.y],a.canonical));if(s.length===0)return NaN;const m=new js(u[0][1]);let S=1/0;for(const _ of l){switch(_.type){case"Point":S=Math.min(S,Fc(u,!1,[_.coordinates],!1,m,S));break;case"LineString":S=Math.min(S,Fc(u,!1,_.coordinates,!0,m,S));break;case"Polygon":S=Math.min(S,Cc(u,!1,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries);if(i.geometryType()==="LineString")return function(a,l){const s=a.geometry(),u=s.flat().map(_=>hl([_.x,_.y],a.canonical));if(s.length===0)return NaN;const m=new js(u[0][1]);let S=1/0;for(const _ of l){switch(_.type){case"Point":S=Math.min(S,Fc(u,!0,[_.coordinates],!1,m,S));break;case"LineString":S=Math.min(S,Fc(u,!0,_.coordinates,!0,m,S));break;case"Polygon":S=Math.min(S,Cc(u,!0,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries);if(i.geometryType()==="Polygon")return function(a,l){const s=a.geometry();if(s.length===0||s[0].length===0)return NaN;const u=Ac(s,0).map(_=>_.map(v=>v.map(L=>hl([L.x,L.y],a.canonical)))),m=new js(u[0][0][0][1]);let S=1/0;for(const _ of l)for(const v of u){switch(_.type){case"Point":S=Math.min(S,Cc([_.coordinates],!1,v,m,S));break;case"LineString":S=Math.min(S,Cc(_.coordinates,!0,v,m,S));break;case"Polygon":S=Math.min(S,lr(v,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const il={"==":Vo,"!=":c0,">":Oo,"<":s0,">=":o0,"<=":$o,array:Ya,at:Ss,boolean:Ya,case:kc,coalesce:xc,collator:jc,format:bc,image:ws,in:ql,"index-of":Ic,interpolate:Va,"interpolate-hcl":Va,"interpolate-lab":Va,length:ks,let:Ze,literal:Xn,match:wc,number:Ya,"number-format":Is,object:Ya,slice:_c,step:ml,string:Ya,"to-boolean":Mn,"to-color":Mn,"to-number":Mn,"to-string":Mn,var:Sc,within:Qn,distance:qn};class Oa{constructor(i,a,l,s){this.name=i,this.type=a,this._evaluate=l,this.args=s}evaluate(i){return this._evaluate(i,this.args)}eachChild(i){this.args.forEach(i)}outputDefined(){return!1}static parse(i,a){const l=i[0],s=Oa.definitions[l];if(!s)return a.error(`Unknown expression "${l}". If you wanted a literal array, use ["literal", [...]].`,0);const u=Array.isArray(s)?s[0]:s.type,m=Array.isArray(s)?[[s[1],s[2]]]:s.overloads,S=m.filter(([v])=>!Array.isArray(v)||v.length===i.length-1);let _=null;for(const[v,L]of S){_=new zn(a.registry,Rc,a.path,null,a.scope);const B=[];let T=!1;for(let N=1;N{return T=B,Array.isArray(T)?`(${T.map(R).join(", ")})`:`(${R(T.type)}...)`;var T}).join(" | "),L=[];for(let B=1;B{a=i?a&&Rc(l):a&&l instanceof Xn}),!!a&&Dc(t)&&Nc(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Dc(t){if(t instanceof Oa&&(t.name==="get"&&t.args.length===1||t.name==="feature-state"||t.name==="has"&&t.args.length===1||t.name==="properties"||t.name==="geometry-type"||t.name==="id"||/^filter-/.test(t.name))||t instanceof Qn||t instanceof qn)return!1;let i=!0;return t.eachChild(a=>{i&&!Dc(a)&&(i=!1)}),i}function Zl(t){if(t instanceof Oa&&t.name==="feature-state")return!1;let i=!0;return t.eachChild(a=>{i&&!Zl(a)&&(i=!1)}),i}function Nc(t,i){if(t instanceof Oa&&i.indexOf(t.name)>=0)return!1;let a=!0;return t.eachChild(l=>{a&&!Nc(l,i)&&(a=!1)}),a}function cr(t){return{result:"success",value:t}}function gl(t){return{result:"error",value:t}}function tl(t){return t["property-type"]==="data-driven"||t["property-type"]==="cross-faded-data-driven"}function Ds(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Sl(t){return!!t.expression&&t.expression.interpolated}function Ue(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":t===null?"null":typeof t}function Wl(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function sr(t){return t}function or(t,i){const a=i.type==="color",l=t.stops&&typeof t.stops[0][0]=="object",s=l||!(l||t.property!==void 0),u=t.type||(Sl(i)?"exponential":"interval");if(a||i.type==="padding"){const L=a?it.parse:Ea.parse;(t=Ft({},t)).stops&&(t.stops=t.stops.map(B=>[B[0],L(B[1])])),t.default=L(t.default?t.default:i.default)}if(t.colorSpace&&(m=t.colorSpace)!=="rgb"&&m!=="hcl"&&m!=="lab")throw new Error(`Unknown color space: "${t.colorSpace}"`);var m;let S,_,v;if(u==="exponential")S=Ns;else if(u==="interval")S=Pc;else if(u==="categorical"){S=Gc,_=Object.create(null);for(const L of t.stops)_[L[0]]=L[1];v=typeof t.stops[0][0]}else{if(u!=="identity")throw new Error(`Unknown function type "${u}"`);S=Gs}if(l){const L={},B=[];for(let M=0;MM[0]),evaluate:({zoom:M},O)=>Ns({stops:T,base:t.base},i,M).evaluate(M,O)}}if(s){const L=u==="exponential"?{name:"exponential",base:t.base!==void 0?t.base:1}:null;return{kind:"camera",interpolationType:L,interpolationFactor:Va.interpolationFactor.bind(void 0,L),zoomStops:t.stops.map(B=>B[0]),evaluate:({zoom:B})=>S(t,i,B,_,v)}}return{kind:"source",evaluate(L,B){const T=B&&B.properties?B.properties[t.property]:void 0;return T===void 0?al(t.default,i.default):S(t,i,T,_,v)}}}function al(t,i,a){return t!==void 0?t:i!==void 0?i:a!==void 0?a:void 0}function Gc(t,i,a,l,s){return al(typeof a===s?l[a]:void 0,t.default,i.default)}function Pc(t,i,a){if(Ue(a)!=="number")return al(t.default,i.default);const l=t.stops.length;if(l===1||a<=t.stops[0][0])return t.stops[0][1];if(a>=t.stops[l-1][0])return t.stops[l-1][1];const s=Hl(t.stops.map(u=>u[0]),a);return t.stops[s][1]}function Ns(t,i,a){const l=t.base!==void 0?t.base:1;if(Ue(a)!=="number")return al(t.default,i.default);const s=t.stops.length;if(s===1||a<=t.stops[0][0])return t.stops[0][1];if(a>=t.stops[s-1][0])return t.stops[s-1][1];const u=Hl(t.stops.map(L=>L[0]),a),m=function(L,B,T,N){const M=N-T,O=L-T;return M===0?0:B===1?O/M:(Math.pow(B,O)-1)/(Math.pow(B,M)-1)}(a,l,t.stops[u][0],t.stops[u+1][0]),S=t.stops[u][1],_=t.stops[u+1][1],v=Ha[i.type]||sr;return typeof S.evaluate=="function"?{evaluate(...L){const B=S.evaluate.apply(void 0,L),T=_.evaluate.apply(void 0,L);if(B!==void 0&&T!==void 0)return v(B,T,m,t.colorSpace)}}:v(S,_,m,t.colorSpace)}function Gs(t,i,a){switch(i.type){case"color":a=it.parse(a);break;case"formatted":a=za.fromString(a.toString());break;case"resolvedImage":a=pa.fromString(a.toString());break;case"padding":a=Ea.parse(a);break;default:Ue(a)===i.type||i.type==="enum"&&i.values[a]||(a=void 0)}return al(a,t.default,i.default)}Oa.register(il,{error:[{kind:"error"},[je],(t,[i])=>{throw new Pt(i.evaluate(t))}],typeof:[je,[_e],(t,[i])=>R(Ot(i.evaluate(t)))],"to-rgba":[D(Ci,4),[Ba],(t,[i])=>{const[a,l,s,u]=i.evaluate(t).rgb;return[255*a,255*l,255*s,u]}],rgb:[Ba,[Ci,Ci,Ci],Ts],rgba:[Ba,[Ci,Ci,Ci,Ci],Ts],has:{type:re,overloads:[[[je],(t,[i])=>Tc(i.evaluate(t),t.properties())],[[je,cn],(t,[i,a])=>Tc(i.evaluate(t),a.evaluate(t))]]},get:{type:_e,overloads:[[[je],(t,[i])=>Rs(i.evaluate(t),t.properties())],[[je,cn],(t,[i,a])=>Rs(i.evaluate(t),a.evaluate(t))]]},"feature-state":[_e,[je],(t,[i])=>Rs(i.evaluate(t),t.featureState||{})],properties:[cn,[],t=>t.properties()],"geometry-type":[je,[],t=>t.geometryType()],id:[_e,[],t=>t.id()],zoom:[Ci,[],t=>t.globals.zoom],"heatmap-density":[Ci,[],t=>t.globals.heatmapDensity||0],"line-progress":[Ci,[],t=>t.globals.lineProgress||0],accumulated:[_e,[],t=>t.globals.accumulated===void 0?null:t.globals.accumulated],"+":[Ci,el(Ci),(t,i)=>{let a=0;for(const l of i)a+=l.evaluate(t);return a}],"*":[Ci,el(Ci),(t,i)=>{let a=1;for(const l of i)a*=l.evaluate(t);return a}],"-":{type:Ci,overloads:[[[Ci,Ci],(t,[i,a])=>i.evaluate(t)-a.evaluate(t)],[[Ci],(t,[i])=>-i.evaluate(t)]]},"/":[Ci,[Ci,Ci],(t,[i,a])=>i.evaluate(t)/a.evaluate(t)],"%":[Ci,[Ci,Ci],(t,[i,a])=>i.evaluate(t)%a.evaluate(t)],ln2:[Ci,[],()=>Math.LN2],pi:[Ci,[],()=>Math.PI],e:[Ci,[],()=>Math.E],"^":[Ci,[Ci,Ci],(t,[i,a])=>Math.pow(i.evaluate(t),a.evaluate(t))],sqrt:[Ci,[Ci],(t,[i])=>Math.sqrt(i.evaluate(t))],log10:[Ci,[Ci],(t,[i])=>Math.log(i.evaluate(t))/Math.LN10],ln:[Ci,[Ci],(t,[i])=>Math.log(i.evaluate(t))],log2:[Ci,[Ci],(t,[i])=>Math.log(i.evaluate(t))/Math.LN2],sin:[Ci,[Ci],(t,[i])=>Math.sin(i.evaluate(t))],cos:[Ci,[Ci],(t,[i])=>Math.cos(i.evaluate(t))],tan:[Ci,[Ci],(t,[i])=>Math.tan(i.evaluate(t))],asin:[Ci,[Ci],(t,[i])=>Math.asin(i.evaluate(t))],acos:[Ci,[Ci],(t,[i])=>Math.acos(i.evaluate(t))],atan:[Ci,[Ci],(t,[i])=>Math.atan(i.evaluate(t))],min:[Ci,el(Ci),(t,i)=>Math.min(...i.map(a=>a.evaluate(t)))],max:[Ci,el(Ci),(t,i)=>Math.max(...i.map(a=>a.evaluate(t)))],abs:[Ci,[Ci],(t,[i])=>Math.abs(i.evaluate(t))],round:[Ci,[Ci],(t,[i])=>{const a=i.evaluate(t);return a<0?-Math.round(-a):Math.round(a)}],floor:[Ci,[Ci],(t,[i])=>Math.floor(i.evaluate(t))],ceil:[Ci,[Ci],(t,[i])=>Math.ceil(i.evaluate(t))],"filter-==":[re,[je,_e],(t,[i,a])=>t.properties()[i.value]===a.value],"filter-id-==":[re,[_e],(t,[i])=>t.id()===i.value],"filter-type-==":[re,[je],(t,[i])=>t.geometryType()===i.value],"filter-<":[re,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l{const a=t.id(),l=i.value;return typeof a==typeof l&&a":[re,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l>s}],"filter-id->":[re,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a>l}],"filter-<=":[re,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l<=s}],"filter-id-<=":[re,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a<=l}],"filter->=":[re,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l>=s}],"filter-id->=":[re,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a>=l}],"filter-has":[re,[_e],(t,[i])=>i.value in t.properties()],"filter-has-id":[re,[],t=>t.id()!==null&&t.id()!==void 0],"filter-type-in":[re,[D(je)],(t,[i])=>i.value.indexOf(t.geometryType())>=0],"filter-id-in":[re,[D(_e)],(t,[i])=>i.value.indexOf(t.id())>=0],"filter-in-small":[re,[je,D(_e)],(t,[i,a])=>a.value.indexOf(t.properties()[i.value])>=0],"filter-in-large":[re,[je,D(_e)],(t,[i,a])=>function(l,s,u,m){for(;u<=m;){const S=u+m>>1;if(s[S]===l)return!0;s[S]>l?m=S-1:u=S+1}return!1}(t.properties()[i.value],a.value,0,a.value.length-1)],all:{type:re,overloads:[[[re,re],(t,[i,a])=>i.evaluate(t)&&a.evaluate(t)],[el(re),(t,i)=>{for(const a of i)if(!a.evaluate(t))return!1;return!0}]]},any:{type:re,overloads:[[[re,re],(t,[i,a])=>i.evaluate(t)||a.evaluate(t)],[el(re),(t,i)=>{for(const a of i)if(a.evaluate(t))return!0;return!1}]]},"!":[re,[re],(t,[i])=>!i.evaluate(t)],"is-supported-script":[re,[je],(t,[i])=>{const a=t.globals&&t.globals.isSupportedScript;return!a||a(i.evaluate(t))}],upcase:[je,[je],(t,[i])=>i.evaluate(t).toUpperCase()],downcase:[je,[je],(t,[i])=>i.evaluate(t).toLowerCase()],concat:[je,el(_e),(t,i)=>i.map(a=>Ln(a.evaluate(t))).join("")],"resolved-locale":[je,[gn],(t,[i])=>i.evaluate(t).resolvedLocale()]});class Mc{constructor(i,a){var l;this.expression=i,this._warningHistory={},this._evaluator=new El,this._defaultValue=a?(l=a).type==="color"&&Wl(l.default)?new it(0,0,0,0):l.type==="color"?it.parse(l.default)||null:l.type==="padding"?Ea.parse(l.default)||null:l.type==="variableAnchorOffsetCollection"?qa.parse(l.default)||null:l.default===void 0?null:l.default:null,this._enumValues=a&&a.type==="enum"?a.values:null}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._evaluator.globals=i,this._evaluator.feature=a,this._evaluator.featureState=l,this._evaluator.canonical=s,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=m,this.expression.evaluate(this._evaluator)}evaluate(i,a,l,s,u,m){this._evaluator.globals=i,this._evaluator.feature=a||null,this._evaluator.featureState=l||null,this._evaluator.canonical=s,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=m||null;try{const S=this.expression.evaluate(this._evaluator);if(S==null||typeof S=="number"&&S!=S)return this._defaultValue;if(this._enumValues&&!(S in this._enumValues))throw new Pt(`Expected value to be one of ${Object.keys(this._enumValues).map(_=>JSON.stringify(_)).join(", ")}, but found ${JSON.stringify(S)} instead.`);return S}catch(S){return this._warningHistory[S.message]||(this._warningHistory[S.message]=!0,typeof console<"u"&&console.warn(S.message)),this._defaultValue}}}function Xl(t){return Array.isArray(t)&&t.length>0&&typeof t[0]=="string"&&t[0]in il}function nl(t,i){const a=new zn(il,Rc,[],i?function(s){const u={color:Ba,string:je,number:Ci,enum:je,boolean:re,formatted:An,padding:Pn,resolvedImage:Sn,variableAnchorOffsetCollection:Y};return s.type==="array"?D(u[s.value]||_e,s.length):u[s.type]}(i):void 0),l=a.parse(t,void 0,void 0,void 0,i&&i.type==="string"?{typeAnnotation:"coerce"}:void 0);return l?cr(new Mc(l,i)):gl(a.errors)}class Ps{constructor(i,a){this.kind=i,this._styleExpression=a,this.isStateDependent=i!=="constant"&&!Zl(a.expression)}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._styleExpression.evaluateWithoutErrorHandling(i,a,l,s,u,m)}evaluate(i,a,l,s,u,m){return this._styleExpression.evaluate(i,a,l,s,u,m)}}class Ms{constructor(i,a,l,s){this.kind=i,this.zoomStops=l,this._styleExpression=a,this.isStateDependent=i!=="camera"&&!Zl(a.expression),this.interpolationType=s}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._styleExpression.evaluateWithoutErrorHandling(i,a,l,s,u,m)}evaluate(i,a,l,s,u,m){return this._styleExpression.evaluate(i,a,l,s,u,m)}interpolationFactor(i,a,l){return this.interpolationType?Va.interpolationFactor(this.interpolationType,i,a,l):0}}function rr(t,i){const a=nl(t,i);if(a.result==="error")return a;const l=a.value.expression,s=Dc(l);if(!s&&!tl(i))return gl([new Tt("","data expressions not supported")]);const u=Nc(l,["zoom"]);if(!u&&!Ds(i))return gl([new Tt("","zoom expressions not supported")]);const m=Ec(l);return m||u?m instanceof Tt?gl([m]):m instanceof Va&&!Sl(i)?gl([new Tt("",'"interpolate" expressions cannot be used with this property')]):cr(m?new Ms(s?"camera":"composite",a.value,m.labels,m instanceof Va?m.interpolation:void 0):new Ps(s?"constant":"source",a.value)):gl([new Tt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class zc{constructor(i,a){this._parameters=i,this._specification=a,Ft(this,or(this._parameters,this._specification))}static deserialize(i){return new zc(i._parameters,i._specification)}static serialize(i){return{_parameters:i._parameters,_specification:i._specification}}}function Ec(t){let i=null;if(t instanceof Ze)i=Ec(t.result);else if(t instanceof xc){for(const a of t.args)if(i=Ec(a),i)break}else(t instanceof ml||t instanceof Va)&&t.input instanceof Oa&&t.input.name==="zoom"&&(i=t);return i instanceof Tt||t.eachChild(a=>{const l=Ec(a);l instanceof Tt?i=l:!i&&l?i=new Tt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):i&&l&&i!==l&&(i=new Tt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),i}function Il(t){if(t===!0||t===!1)return!0;if(!Array.isArray(t)||t.length===0)return!1;switch(t[0]){case"has":return t.length>=2&&t[1]!=="$id"&&t[1]!=="$type";case"in":return t.length>=3&&(typeof t[1]!="string"||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return t.length!==3||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const i of t.slice(1))if(!Il(i)&&typeof i!="boolean")return!1;return!0;default:return!0}}const qc={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ba(t){if(t==null)return{filter:()=>!0,needGeometry:!1};Il(t)||(t=Hc(t));const i=nl(t,qc);if(i.result==="error")throw new Error(i.value.map(a=>`${a.key}: ${a.message}`).join(", "));return{filter:(a,l,s)=>i.value.evaluate(a,l,{},s),needGeometry:zs(t)}}function Yl(t,i){return ti?1:0}function zs(t){if(!Array.isArray(t))return!1;if(t[0]==="within"||t[0]==="distance")return!0;for(let i=1;i"||i==="<="||i===">="?Es(t[1],t[2],i):i==="any"?(a=t.slice(1),["any"].concat(a.map(Hc))):i==="all"?["all"].concat(t.slice(1).map(Hc)):i==="none"?["all"].concat(t.slice(1).map(Hc).map(kl)):i==="in"?wl(t[1],t.slice(2)):i==="!in"?kl(wl(t[1],t.slice(2))):i==="has"?qs(t[1]):i!=="!has"||kl(qs(t[1]));var a}function Es(t,i,a){switch(t){case"$type":return[`filter-type-${a}`,i];case"$id":return[`filter-id-${a}`,i];default:return[`filter-${a}`,t,i]}}function wl(t,i){if(i.length===0)return!1;switch(t){case"$type":return["filter-type-in",["literal",i]];case"$id":return["filter-id-in",["literal",i]];default:return i.length>200&&!i.some(a=>typeof a!=typeof i[0])?["filter-in-large",t,["literal",i.sort(Yl)]]:["filter-in-small",t,["literal",i]]}}function qs(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function kl(t){return["!",t]}function Hs(t){const i=typeof t;if(i==="number"||i==="boolean"||i==="string"||t==null)return JSON.stringify(t);if(Array.isArray(t)){let s="[";for(const u of t)s+=`${Hs(u)},`;return`${s}]`}const a=Object.keys(t).sort();let l="{";for(let s=0;sl.maximum?[new bi(i,a,`${a} is greater than the maximum value ${l.maximum}`)]:[]}function Os(t){const i=t.valueSpec,a=mt(t.value.type);let l,s,u,m={};const S=a!=="categorical"&&t.value.property===void 0,_=!S,v=Ue(t.value.stops)==="array"&&Ue(t.value.stops[0])==="array"&&Ue(t.value.stops[0][0])==="object",L=Ca({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(N){if(a==="identity")return[new bi(N.key,N.value,'identity function may not have a "stops" property')];let M=[];const O=N.value;return M=M.concat(Vc({key:N.key,value:O,valueSpec:N.valueSpec,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec,arrayElementValidator:B})),Ue(O)==="array"&&O.length===0&&M.push(new bi(N.key,O,"array must have at least one stop")),M},default:function(N){return N.validateSpec({key:N.key,value:N.value,valueSpec:i,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec})}}});return a==="identity"&&S&&L.push(new bi(t.key,t.value,'missing required property "property"')),a==="identity"||t.value.stops||L.push(new bi(t.key,t.value,'missing required property "stops"')),a==="exponential"&&t.valueSpec.expression&&!Sl(t.valueSpec)&&L.push(new bi(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(_&&!tl(t.valueSpec)?L.push(new bi(t.key,t.value,"property functions not supported")):S&&!Ds(t.valueSpec)&&L.push(new bi(t.key,t.value,"zoom functions not supported"))),a!=="categorical"&&!v||t.value.property!==void 0||L.push(new bi(t.key,t.value,'"property" property is required')),L;function B(N){let M=[];const O=N.value,J=N.key;if(Ue(O)!=="array")return[new bi(J,O,`array expected, ${Ue(O)} found`)];if(O.length!==2)return[new bi(J,O,`array length 2 expected, length ${O.length} found`)];if(v){if(Ue(O[0])!=="object")return[new bi(J,O,`object expected, ${Ue(O[0])} found`)];if(O[0].zoom===void 0)return[new bi(J,O,"object stop key must have zoom")];if(O[0].value===void 0)return[new bi(J,O,"object stop key must have value")];if(u&&u>mt(O[0].zoom))return[new bi(J,O[0].zoom,"stop zoom values must appear in ascending order")];mt(O[0].zoom)!==u&&(u=mt(O[0].zoom),s=void 0,m={}),M=M.concat(Ca({key:`${J}[0]`,value:O[0],valueSpec:{zoom:{}},validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec,objectElementValidators:{zoom:Ql,value:T}}))}else M=M.concat(T({key:`${J}[0]`,value:O[0],valueSpec:{},validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec},O));return Xl(ll(O[1]))?M.concat([new bi(`${J}[1]`,O[1],"expressions are not allowed in function stops.")]):M.concat(N.validateSpec({key:`${J}[1]`,value:O[1],valueSpec:i,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec}))}function T(N,M){const O=Ue(N.value),J=mt(N.value),ii=N.value!==null?N.value:M;if(l){if(O!==l)return[new bi(N.key,ii,`${O} stop domain type must match previous stop domain type ${l}`)]}else l=O;if(O!=="number"&&O!=="string"&&O!=="boolean")return[new bi(N.key,ii,"stop domain value must be a number, string, or boolean")];if(O!=="number"&&a!=="categorical"){let ri=`number expected, ${O} found`;return tl(i)&&a===void 0&&(ri+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new bi(N.key,ii,ri)]}return a!=="categorical"||O!=="number"||isFinite(J)&&Math.floor(J)===J?a!=="categorical"&&O==="number"&&s!==void 0&&Jnew bi(`${t.key}${l.key}`,t.value,l.message));const a=i.value.expression||i.value._styleExpression.expression;if(t.expressionContext==="property"&&t.propertyKey==="text-font"&&!a.outputDefined())return[new bi(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if(t.expressionContext==="property"&&t.propertyType==="layout"&&!Zl(a))return[new bi(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if(t.expressionContext==="filter"&&!Zl(a))return[new bi(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&t.expressionContext.indexOf("cluster")===0){if(!Nc(a,["zoom","feature-state"]))return[new bi(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(t.expressionContext==="cluster-initial"&&!Dc(a))return[new bi(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ic(t){const i=t.key,a=t.value,l=t.valueSpec,s=[];return Array.isArray(l.values)?l.values.indexOf(mt(a))===-1&&s.push(new bi(i,a,`expected one of [${l.values.join(", ")}], ${JSON.stringify(a)} found`)):Object.keys(l.values).indexOf(mt(a))===-1&&s.push(new bi(i,a,`expected one of [${Object.keys(l.values).join(", ")}], ${JSON.stringify(a)} found`)),s}function ec(t){return Il(ll(t.value))?cl(Ft({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):tc(t)}function tc(t){const i=t.value,a=t.key;if(Ue(i)!=="array")return[new bi(a,i,`array expected, ${Ue(i)} found`)];const l=t.styleSpec;let s,u=[];if(i.length<1)return[new bi(a,i,"filter array must have at least 1 element")];switch(u=u.concat(ic({key:`${a}[0]`,value:i[0],valueSpec:l.filter_operator,style:t.style,styleSpec:t.styleSpec})),mt(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&mt(i[1])==="$type"&&u.push(new bi(a,i,`"$type" cannot be use with operator "${i[0]}"`));case"==":case"!=":i.length!==3&&u.push(new bi(a,i,`filter array for operator "${i[0]}" must have 3 elements`));case"in":case"!in":i.length>=2&&(s=Ue(i[1]),s!=="string"&&u.push(new bi(`${a}[1]`,i[1],`string expected, ${s} found`)));for(let m=2;m{v in a&&i.push(new bi(l,a[v],`"${v}" is prohibited for ref layers`))}),s.layers.forEach(v=>{mt(v.id)===S&&(_=v)}),_?_.ref?i.push(new bi(l,a.ref,"ref cannot reference another ref layer")):m=mt(_.type):i.push(new bi(l,a.ref,`ref layer "${S}" not found`))}else if(m!=="background")if(a.source){const _=s.sources&&s.sources[a.source],v=_&&mt(_.type);_?v==="vector"&&m==="raster"?i.push(new bi(l,a.source,`layer "${a.id}" requires a raster source`)):v!=="raster-dem"&&m==="hillshade"?i.push(new bi(l,a.source,`layer "${a.id}" requires a raster-dem source`)):v==="raster"&&m!=="raster"?i.push(new bi(l,a.source,`layer "${a.id}" requires a vector source`)):v!=="vector"||a["source-layer"]?v==="raster-dem"&&m!=="hillshade"?i.push(new bi(l,a.source,"raster-dem source can only be used with layer type 'hillshade'.")):m!=="line"||!a.paint||!a.paint["line-gradient"]||v==="geojson"&&_.lineMetrics||i.push(new bi(l,a,`layer "${a.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):i.push(new bi(l,a,`layer "${a.id}" must specify a "source-layer"`)):i.push(new bi(l,a.source,`source "${a.source}" not found`))}else i.push(new bi(l,a,'missing required property "source"'));return i=i.concat(Ca({key:l,value:a,valueSpec:u.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":()=>[],type:()=>t.validateSpec({key:`${l}.type`,value:a.type,valueSpec:u.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:a,objectKey:"type"}),filter:ec,layout:_=>Ca({layer:a,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":v=>Ks(Ft({layerType:m},v))}}),paint:_=>Ca({layer:a,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":v=>Us(Ft({layerType:m},v))}})}})),i}function Cn(t){const i=t.value,a=t.key,l=Ue(i);return l!=="string"?[new bi(a,i,`string expected, ${l} found`)]:[]}const Zs={promoteId:function({key:t,value:i}){if(Ue(i)==="string")return Cn({key:t,value:i});{const a=[];for(const l in i)a.push(...Cn({key:`${t}.${l}`,value:i[l]}));return a}}};function ur(t){const i=t.value,a=t.key,l=t.styleSpec,s=t.style,u=t.validateSpec;if(!i.type)return[new bi(a,i,'"type" is required')];const m=mt(i.type);let S;switch(m){case"vector":case"raster":return S=Ca({key:a,value:i,valueSpec:l[`source_${m.replace("-","_")}`],style:t.style,styleSpec:l,objectElementValidators:Zs,validateSpec:u}),S;case"raster-dem":return S=function(_){var v;const L=(v=_.sourceName)!==null&&v!==void 0?v:"",B=_.value,T=_.styleSpec,N=T.source_raster_dem,M=_.style;let O=[];const J=Ue(B);if(B===void 0)return O;if(J!=="object")return O.push(new bi("source_raster_dem",B,`object expected, ${J} found`)),O;const ii=mt(B.encoding)==="custom",ri=["redFactor","greenFactor","blueFactor","baseShift"],ai=_.value.encoding?`"${_.value.encoding}"`:"Default";for(const oi in B)!ii&&ri.includes(oi)?O.push(new bi(oi,B[oi],`In "${L}": "${oi}" is only valid when "encoding" is set to "custom". ${ai} encoding found`)):N[oi]?O=O.concat(_.validateSpec({key:oi,value:B[oi],valueSpec:N[oi],validateSpec:_.validateSpec,style:M,styleSpec:T})):O.push(new bi(oi,B[oi],`unknown property "${oi}"`));return O}({sourceName:a,value:i,style:t.style,styleSpec:l,validateSpec:u}),S;case"geojson":if(S=Ca({key:a,value:i,valueSpec:l.source_geojson,style:s,styleSpec:l,validateSpec:u,objectElementValidators:Zs}),i.cluster)for(const _ in i.clusterProperties){const[v,L]=i.clusterProperties[_],B=typeof v=="string"?[v,["accumulated"],["get",_]]:v;S.push(...cl({key:`${a}.${_}.map`,value:L,validateSpec:u,expressionContext:"cluster-map"})),S.push(...cl({key:`${a}.${_}.reduce`,value:B,validateSpec:u,expressionContext:"cluster-reduce"}))}return S;case"video":return Ca({key:a,value:i,valueSpec:l.source_video,style:s,validateSpec:u,styleSpec:l});case"image":return Ca({key:a,value:i,valueSpec:l.source_image,style:s,validateSpec:u,styleSpec:l});case"canvas":return[new bi(a,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ic({key:`${a}.type`,value:i.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:s,validateSpec:u,styleSpec:l})}}function Ws(t){const i=t.value,a=t.styleSpec,l=a.light,s=t.style;let u=[];const m=Ue(i);if(i===void 0)return u;if(m!=="object")return u=u.concat([new bi("light",i,`object expected, ${m} found`)]),u;for(const S in i){const _=S.match(/^(.*)-transition$/);u=u.concat(_&&l[_[1]]&&l[_[1]].transition?t.validateSpec({key:S,value:i[S],valueSpec:a.transition,validateSpec:t.validateSpec,style:s,styleSpec:a}):l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],validateSpec:t.validateSpec,style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)])}return u}function dr(t){const i=t.value,a=t.styleSpec,l=a.sky,s=t.style,u=Ue(i);if(i===void 0)return[];if(u!=="object")return[new bi("sky",i,`object expected, ${u} found`)];let m=[];for(const S in i)m=m.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return m}function Xs(t){const i=t.value,a=t.styleSpec,l=a.terrain,s=t.style;let u=[];const m=Ue(i);if(i===void 0)return u;if(m!=="object")return u=u.concat([new bi("terrain",i,`object expected, ${m} found`)]),u;for(const S in i)u=u.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],validateSpec:t.validateSpec,style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return u}function Ys(t){let i=[];const a=t.value,l=t.key;if(Array.isArray(a)){const s=[],u=[];for(const m in a)a[m].id&&s.includes(a[m].id)&&i.push(new bi(l,a,`all the sprites' ids must be unique, but ${a[m].id} is duplicated`)),s.push(a[m].id),a[m].url&&u.includes(a[m].url)&&i.push(new bi(l,a,`all the sprites' URLs must be unique, but ${a[m].url} is duplicated`)),u.push(a[m].url),i=i.concat(Ca({key:`${l}[${m}]`,value:a[m],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:t.validateSpec}));return i}return Cn({key:l,value:a})}const Qs={"*":()=>[],array:Vc,boolean:function(t){const i=t.value,a=t.key,l=Ue(i);return l!=="boolean"?[new bi(a,i,`boolean expected, ${l} found`)]:[]},number:Ql,color:function(t){const i=t.key,a=t.value,l=Ue(a);return l!=="string"?[new bi(i,a,`color expected, ${l} found`)]:it.parse(String(a))?[]:[new bi(i,a,`color expected, "${a}" found`)]},constants:pr,enum:ic,filter:ec,function:Os,layer:Js,object:Ca,source:ur,light:Ws,sky:dr,terrain:Xs,projection:function(t){const i=t.value,a=t.styleSpec,l=a.projection,s=t.style,u=Ue(i);if(i===void 0)return[];if(u!=="object")return[new bi("projection",i,`object expected, ${u} found`)];let m=[];for(const S in i)m=m.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return m},string:Cn,formatted:function(t){return Cn(t).length===0?[]:cl(t)},resolvedImage:function(t){return Cn(t).length===0?[]:cl(t)},padding:function(t){const i=t.key,a=t.value;if(Ue(a)==="array"){if(a.length<1||a.length>4)return[new bi(i,a,`padding requires 1 to 4 values; ${a.length} values found`)];const l={type:"number"};let s=[];for(let u=0;u[]}})),t.constants&&(a=a.concat(pr({key:"constants",value:t.constants,style:t,styleSpec:i,validateSpec:ac}))),io(a)}function sn(t){return function(i){return t({...i,validateSpec:ac})}}function io(t){return[].concat(t).sort((i,a)=>i.line-a.line)}function on(t){return function(...i){return io(t.apply(this,i))}}Qa.source=on(sn(ur)),Qa.sprite=on(sn(Ys)),Qa.glyphs=on(sn(yr)),Qa.light=on(sn(Ws)),Qa.sky=on(sn(dr)),Qa.terrain=on(sn(Xs)),Qa.layer=on(sn(Js)),Qa.filter=on(sn(ec)),Qa.paintProperty=on(sn(Us)),Qa.layoutProperty=on(sn(Ks));const Fn=Qa,S0=Fn.light,eo=Fn.sky,I0=Fn.paintProperty,w0=Fn.layoutProperty;function to(t,i){let a=!1;if(i&&i.length)for(const l of i)t.fire(new nn(new Error(l.message))),a=!0;return a}class _l{constructor(i,a,l){const s=this.cells=[];if(i instanceof ArrayBuffer){this.arrayBuffer=i;const m=new Int32Array(this.arrayBuffer);i=m[0],this.d=(a=m[1])+2*(l=m[2]);for(let _=0;_=B[M+0]&&s>=B[M+1])?(S[N]=!0,m.push(L[N])):S[N]=!1}}}}_forEachCell(i,a,l,s,u,m,S,_){const v=this._convertToCellCoord(i),L=this._convertToCellCoord(a),B=this._convertToCellCoord(l),T=this._convertToCellCoord(s);for(let N=v;N<=B;N++)for(let M=L;M<=T;M++){const O=this.d*M+N;if((!_||_(this._convertFromCellCoord(N),this._convertFromCellCoord(M),this._convertFromCellCoord(N+1),this._convertFromCellCoord(M+1)))&&u.call(this,i,a,l,s,O,m,S,_))return}}_convertFromCellCoord(i){return(i-this.padding)/this.scale}_convertToCellCoord(i){return Math.max(0,Math.min(this.d-1,Math.floor(i*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const i=this.cells,a=3+this.cells.length+1+1;let l=0;for(let m=0;m=0)continue;const m=t[u];s[u]=wn[a].shallow.indexOf(u)>=0?m:nc(m,i)}t instanceof Error&&(s.message=t.message)}if(s.$name)throw new Error("$name property is reserved for worker serialization logic.");return a!=="Object"&&(s.$name=a),s}function kn(t){if(hr(t))return t;if(Array.isArray(t))return t.map(kn);if(typeof t!="object")throw new Error("can't deserialize object of type "+typeof t);const i=ao(t)||"Object";if(!wn[i])throw new Error(`can't deserialize unregistered class ${i}`);const{klass:a}=wn[i];if(!a)throw new Error(`can't deserialize unregistered class ${i}`);if(a.deserialize)return a.deserialize(t);const l=Object.create(a.prototype);for(const s of Object.keys(t)){if(s==="$name")continue;const u=t[s];l[s]=wn[i].shallow.indexOf(s)>=0?u:kn(u)}return l}class fr{constructor(){this.first=!0}update(i,a){const l=Math.floor(i);return this.first?(this.first=!1,this.lastIntegerZoom=l,this.lastIntegerZoomTime=0,this.lastZoom=i,this.lastFloorZoom=l,!0):(this.lastFloorZoom>l?(this.lastIntegerZoom=l+1,this.lastIntegerZoomTime=a):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function no(t){for(const i of t)if(lo(i.charCodeAt(0)))return!0;return!1}function k0(t){for(const i of t)if(!gr(i.charCodeAt(0)))return!1;return!0}function gr(t){return!(Hi.Arabic(t)||Hi["Arabic Supplement"](t)||Hi["Arabic Extended-A"](t)||Hi["Arabic Presentation Forms-A"](t)||Hi["Arabic Presentation Forms-B"](t))}function lo(t){return!(t!==746&&t!==747&&(t<4352||!(Hi["Bopomofo Extended"](t)||Hi.Bopomofo(t)||Hi["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Hi["CJK Compatibility Ideographs"](t)||Hi["CJK Compatibility"](t)||Hi["CJK Radicals Supplement"](t)||Hi["CJK Strokes"](t)||!(!Hi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||t===12336)||Hi["CJK Unified Ideographs Extension A"](t)||Hi["CJK Unified Ideographs"](t)||Hi["Enclosed CJK Letters and Months"](t)||Hi["Hangul Compatibility Jamo"](t)||Hi["Hangul Jamo Extended-A"](t)||Hi["Hangul Jamo Extended-B"](t)||Hi["Hangul Jamo"](t)||Hi["Hangul Syllables"](t)||Hi.Hiragana(t)||Hi["Ideographic Description Characters"](t)||Hi.Kanbun(t)||Hi["Kangxi Radicals"](t)||Hi["Katakana Phonetic Extensions"](t)||Hi.Katakana(t)&&t!==12540||!(!Hi["Halfwidth and Fullwidth Forms"](t)||t===65288||t===65289||t===65293||t>=65306&&t<=65310||t===65339||t===65341||t===65343||t>=65371&&t<=65503||t===65507||t>=65512&&t<=65519)||!(!Hi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Hi["Unified Canadian Aboriginal Syllabics"](t)||Hi["Unified Canadian Aboriginal Syllabics Extended"](t)||Hi["Vertical Forms"](t)||Hi["Yijing Hexagram Symbols"](t)||Hi["Yi Syllables"](t)||Hi["Yi Radicals"](t))))}function Sr(t){return!(lo(t)||function(i){return!!(Hi["Latin-1 Supplement"](i)&&(i===167||i===169||i===174||i===177||i===188||i===189||i===190||i===215||i===247)||Hi["General Punctuation"](i)&&(i===8214||i===8224||i===8225||i===8240||i===8241||i===8251||i===8252||i===8258||i===8263||i===8264||i===8265||i===8273)||Hi["Letterlike Symbols"](i)||Hi["Number Forms"](i)||Hi["Miscellaneous Technical"](i)&&(i>=8960&&i<=8967||i>=8972&&i<=8991||i>=8996&&i<=9e3||i===9003||i>=9085&&i<=9114||i>=9150&&i<=9165||i===9167||i>=9169&&i<=9179||i>=9186&&i<=9215)||Hi["Control Pictures"](i)&&i!==9251||Hi["Optical Character Recognition"](i)||Hi["Enclosed Alphanumerics"](i)||Hi["Geometric Shapes"](i)||Hi["Miscellaneous Symbols"](i)&&!(i>=9754&&i<=9759)||Hi["Miscellaneous Symbols and Arrows"](i)&&(i>=11026&&i<=11055||i>=11088&&i<=11097||i>=11192&&i<=11243)||Hi["CJK Symbols and Punctuation"](i)||Hi.Katakana(i)||Hi["Private Use Area"](i)||Hi["CJK Compatibility Forms"](i)||Hi["Small Form Variants"](i)||Hi["Halfwidth and Fullwidth Forms"](i)||i===8734||i===8756||i===8757||i>=9984&&i<=10087||i>=10102&&i<=10131||i===65532||i===65533)}(t))}function Hn(t){return t>=1424&&t<=2303||Hi["Arabic Presentation Forms-A"](t)||Hi["Arabic Presentation Forms-B"](t)}function Ir(t,i){return!(!i&&Hn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Hi.Khmer(t))}function co(t){for(const i of t)if(Hn(i.charCodeAt(0)))return!0;return!1}const Vn=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class pt{constructor(i,a){this.zoom=i,a?(this.now=a.now,this.fadeDuration=a.fadeDuration,this.zoomHistory=a.zoomHistory,this.transition=a.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fr,this.transition={})}isSupportedScript(i){return function(a,l){for(const s of a)if(!Ir(s.charCodeAt(0),l))return!1;return!0}(i,Vn.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const i=this.zoom,a=i-Math.floor(i),l=this.crossFadingFactor();return i>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:a+(1-a)*l}:{fromScale:.5,toScale:1,t:1-(1-l)*a}}}class Oc{constructor(i,a){this.property=i,this.value=a,this.expression=function(l,s){if(Wl(l))return new zc(l,s);if(Xl(l)){const u=rr(l,s);if(u.result==="error")throw new Error(u.value.map(m=>`${m.key}: ${m.message}`).join(", "));return u.value}{let u=l;return s.type==="color"&&typeof l=="string"?u=it.parse(l):s.type!=="padding"||typeof l!="number"&&!Array.isArray(l)?s.type==="variableAnchorOffsetCollection"&&Array.isArray(l)&&(u=qa.parse(l)):u=Ea.parse(l),{kind:"constant",evaluate:()=>u}}}(a===void 0?i.specification.default:a,i.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(i,a,l){return this.property.possiblyEvaluate(this,i,a,l)}}class xl{constructor(i){this.property=i,this.value=new Oc(i,void 0)}transitioned(i,a){return new wr(this.property,this.value,a,ue({},i.transition,this.transition),i.now)}untransitioned(){return new wr(this.property,this.value,null,{},0)}}class jl{constructor(i){this._properties=i,this._values=Object.create(i.defaultTransitionablePropertyValues)}getValue(i){return Yi(this._values[i].value.value)}setValue(i,a){Object.prototype.hasOwnProperty.call(this._values,i)||(this._values[i]=new xl(this._values[i].property)),this._values[i].value=new Oc(this._values[i].property,a===null?void 0:Yi(a))}getTransition(i){return Yi(this._values[i].transition)}setTransition(i,a){Object.prototype.hasOwnProperty.call(this._values,i)||(this._values[i]=new xl(this._values[i].property)),this._values[i].transition=Yi(a)||void 0}serialize(){const i={};for(const a of Object.keys(this._values)){const l=this.getValue(a);l!==void 0&&(i[a]=l);const s=this.getTransition(a);s!==void 0&&(i[`${a}-transition`]=s)}return i}transitioned(i,a){const l=new so(this._properties);for(const s of Object.keys(this._values))l._values[s]=this._values[s].transitioned(i,a._values[s]);return l}untransitioned(){const i=new so(this._properties);for(const a of Object.keys(this._values))i._values[a]=this._values[a].untransitioned();return i}}class wr{constructor(i,a,l,s,u){this.property=i,this.value=a,this.begin=u+s.delay||0,this.end=this.begin+s.duration||0,i.specification.transition&&(s.delay||s.duration)&&(this.prior=l)}possiblyEvaluate(i,a,l){const s=i.now||0,u=this.value.possiblyEvaluate(i,a,l),m=this.prior;if(m){if(s>this.end)return this.prior=null,u;if(this.value.isDataDriven())return this.prior=null,u;if(s=1)return 1;const v=_*_,L=v*_;return 4*(_<.5?L:3*(_-v)+L-.75)}(S))}}return u}}class so{constructor(i){this._properties=i,this._values=Object.create(i.defaultTransitioningPropertyValues)}possiblyEvaluate(i,a,l){const s=new $c(this._properties);for(const u of Object.keys(this._values))s._values[u]=this._values[u].possiblyEvaluate(i,a,l);return s}hasTransition(){for(const i of Object.keys(this._values))if(this._values[i].prior)return!0;return!1}}class lc{constructor(i){this._properties=i,this._values=Object.create(i.defaultPropertyValues)}hasValue(i){return this._values[i].value!==void 0}getValue(i){return Yi(this._values[i].value)}setValue(i,a){this._values[i]=new Oc(this._values[i].property,a===null?void 0:Yi(a))}serialize(){const i={};for(const a of Object.keys(this._values)){const l=this.getValue(a);l!==void 0&&(i[a]=l)}return i}possiblyEvaluate(i,a,l){const s=new $c(this._properties);for(const u of Object.keys(this._values))s._values[u]=this._values[u].possiblyEvaluate(i,a,l);return s}}class _n{constructor(i,a,l){this.property=i,this.value=a,this.parameters=l}isConstant(){return this.value.kind==="constant"}constantOr(i){return this.value.kind==="constant"?this.value.value:i}evaluate(i,a,l,s){return this.property.evaluate(this.value,this.parameters,i,a,l,s)}}class $c{constructor(i){this._properties=i,this._values=Object.create(i.defaultPossiblyEvaluatedValues)}get(i){return this._values[i]}}class ee{constructor(i){this.specification=i}possiblyEvaluate(i,a){if(i.isDataDriven())throw new Error("Value should not be data driven");return i.expression.evaluate(a)}interpolate(i,a,l){const s=Ha[this.specification.type];return s?s(i,a,l):i}}class pe{constructor(i,a){this.specification=i,this.overrides=a}possiblyEvaluate(i,a,l,s){return new _n(this,i.expression.kind==="constant"||i.expression.kind==="camera"?{kind:"constant",value:i.expression.evaluate(a,null,{},l,s)}:i.expression,a)}interpolate(i,a,l){if(i.value.kind!=="constant"||a.value.kind!=="constant")return i;if(i.value.value===void 0||a.value.value===void 0)return new _n(this,{kind:"constant",value:void 0},i.parameters);const s=Ha[this.specification.type];if(s){const u=s(i.value.value,a.value.value,l);return new _n(this,{kind:"constant",value:u},i.parameters)}return i}evaluate(i,a,l,s,u,m){return i.kind==="constant"?i.value:i.evaluate(a,l,s,u,m)}}class d extends pe{possiblyEvaluate(i,a,l,s){if(i.value===void 0)return new _n(this,{kind:"constant",value:void 0},a);if(i.expression.kind==="constant"){const u=i.expression.evaluate(a,null,{},l,s),m=i.property.specification.type==="resolvedImage"&&typeof u!="string"?u.name:u,S=this._calculate(m,m,m,a);return new _n(this,{kind:"constant",value:S},a)}if(i.expression.kind==="camera"){const u=this._calculate(i.expression.evaluate({zoom:a.zoom-1}),i.expression.evaluate({zoom:a.zoom}),i.expression.evaluate({zoom:a.zoom+1}),a);return new _n(this,{kind:"constant",value:u},a)}return new _n(this,i.expression,a)}evaluate(i,a,l,s,u,m){if(i.kind==="source"){const S=i.evaluate(a,l,s,u,m);return this._calculate(S,S,S,a)}return i.kind==="composite"?this._calculate(i.evaluate({zoom:Math.floor(a.zoom)-1},l,s),i.evaluate({zoom:Math.floor(a.zoom)},l,s),i.evaluate({zoom:Math.floor(a.zoom)+1},l,s),a):i.value}_calculate(i,a,l,s){return s.zoom>s.zoomHistory.lastIntegerZoom?{from:i,to:a}:{from:l,to:a}}interpolate(i){return i}}class e{constructor(i){this.specification=i}possiblyEvaluate(i,a,l,s){if(i.value!==void 0){if(i.expression.kind==="constant"){const u=i.expression.evaluate(a,null,{},l,s);return this._calculate(u,u,u,a)}return this._calculate(i.expression.evaluate(new pt(Math.floor(a.zoom-1),a)),i.expression.evaluate(new pt(Math.floor(a.zoom),a)),i.expression.evaluate(new pt(Math.floor(a.zoom+1),a)),a)}}_calculate(i,a,l,s){return s.zoom>s.zoomHistory.lastIntegerZoom?{from:i,to:a}:{from:l,to:a}}interpolate(i){return i}}class n{constructor(i){this.specification=i}possiblyEvaluate(i,a,l,s){return!!i.expression.evaluate(a,null,{},l,s)}interpolate(){return!1}}class c{constructor(i){this.properties=i,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const a in i){const l=i[a];l.specification.overridable&&this.overridableProperties.push(a);const s=this.defaultPropertyValues[a]=new Oc(l,void 0),u=this.defaultTransitionablePropertyValues[a]=new xl(l);this.defaultTransitioningPropertyValues[a]=u.untransitioned(),this.defaultPossiblyEvaluatedValues[a]=s.possiblyEvaluate({})}}}Zi("DataDrivenProperty",pe),Zi("DataConstantProperty",ee),Zi("CrossFadedDataDrivenProperty",d),Zi("CrossFadedProperty",e),Zi("ColorRampProperty",n);const o="-transition";class y extends At{constructor(i,a){if(super(),this.id=i.id,this.type=i.type,this._featureFilter={filter:()=>!0,needGeometry:!1},i.type!=="custom"&&(this.metadata=i.metadata,this.minzoom=i.minzoom,this.maxzoom=i.maxzoom,i.type!=="background"&&(this.source=i.source,this.sourceLayer=i["source-layer"],this.filter=i.filter),a.layout&&(this._unevaluatedLayout=new lc(a.layout)),a.paint)){this._transitionablePaint=new jl(a.paint);for(const l in i.paint)this.setPaintProperty(l,i.paint[l],{validate:!1});for(const l in i.layout)this.setLayoutProperty(l,i.layout[l],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new $c(a.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(i){return i==="visibility"?this.visibility:this._unevaluatedLayout.getValue(i)}setLayoutProperty(i,a,l={}){a!=null&&this._validate(w0,`layers.${this.id}.layout.${i}`,i,a,l)||(i!=="visibility"?this._unevaluatedLayout.setValue(i,a):this.visibility=a)}getPaintProperty(i){return i.endsWith(o)?this._transitionablePaint.getTransition(i.slice(0,-11)):this._transitionablePaint.getValue(i)}setPaintProperty(i,a,l={}){if(a!=null&&this._validate(I0,`layers.${this.id}.paint.${i}`,i,a,l))return!1;if(i.endsWith(o))return this._transitionablePaint.setTransition(i.slice(0,-11),a||void 0),!1;{const s=this._transitionablePaint._values[i],u=s.property.specification["property-type"]==="cross-faded-data-driven",m=s.value.isDataDriven(),S=s.value;this._transitionablePaint.setValue(i,a),this._handleSpecialPaintPropertyUpdate(i);const _=this._transitionablePaint._values[i].value;return _.isDataDriven()||m||u||this._handleOverridablePaintPropertyUpdate(i,S,_)}}_handleSpecialPaintPropertyUpdate(i){}_handleOverridablePaintPropertyUpdate(i,a,l){return!1}isHidden(i){return!!(this.minzoom&&i=this.maxzoom)||this.visibility==="none"}updateTransitions(i){this._transitioningPaint=this._transitionablePaint.transitioned(i,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(i,a){i.getCrossfadeParameters&&(this._crossfadeParameters=i.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(i,void 0,a)),this.paint=this._transitioningPaint.possiblyEvaluate(i,void 0,a)}serialize(){const i={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(i.layout=i.layout||{},i.layout.visibility=this.visibility),we(i,(a,l)=>!(a===void 0||l==="layout"&&!Object.keys(a).length||l==="paint"&&!Object.keys(a).length))}_validate(i,a,l,s,u={}){return(!u||u.validate!==!1)&&to(this,i.call(Fn,{key:a,layerType:this.type,objectKey:l,value:s,styleSpec:gi,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const i in this.paint._values){const a=this.paint.get(i);if(a instanceof _n&&tl(a.property.specification)&&(a.value.kind==="source"||a.value.kind==="composite")&&a.value.isStateDependent)return!0}return!1}}const k={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class x{constructor(i,a){this._structArray=i,this._pos1=a*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class j{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(i,a){return i._trim(),a&&(i.isTransferred=!0,a.push(i.arrayBuffer)),{length:i.length,arrayBuffer:i.arrayBuffer}}static deserialize(i){const a=Object.create(this.prototype);return a.arrayBuffer=i.arrayBuffer,a.length=i.length,a.capacity=i.arrayBuffer.byteLength/a.bytesPerElement,a._refreshViews(),a}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(i){this.reserve(i),this.length=i}reserve(i){if(i>this.capacity){this.capacity=Math.max(i,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const a=this.uint8;this._refreshViews(),a&&this.uint8.set(a)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function A(t,i=1){let a=0,l=0;return{members:t.map(s=>{const u=k[s.type].BYTES_PER_ELEMENT,m=a=F(a,Math.max(i,u)),S=s.components||1;return l=Math.max(l,u),a+=u*S,{name:s.name,type:s.type,components:S,offset:m}}),size:F(a,Math.max(l,i)),alignment:i}}function F(t,i){return Math.ceil(t/i)*i}class C extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.int16[s+0]=a,this.int16[s+1]=l,i}}C.prototype.bytesPerElement=4,Zi("StructArrayLayout2i4",C);class G extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.int16[u+0]=a,this.int16[u+1]=l,this.int16[u+2]=s,i}}G.prototype.bytesPerElement=6,Zi("StructArrayLayout3i6",G);class q extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s){const u=this.length;return this.resize(u+1),this.emplace(u,i,a,l,s)}emplace(i,a,l,s,u){const m=4*i;return this.int16[m+0]=a,this.int16[m+1]=l,this.int16[m+2]=s,this.int16[m+3]=u,i}}q.prototype.bytesPerElement=8,Zi("StructArrayLayout4i8",q);class $ extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=6*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.int16[_+2]=s,this.int16[_+3]=u,this.int16[_+4]=m,this.int16[_+5]=S,i}}$.prototype.bytesPerElement=12,Zi("StructArrayLayout2i4i12",$);class X extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=4*i,v=8*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.uint8[v+4]=s,this.uint8[v+5]=u,this.uint8[v+6]=m,this.uint8[v+7]=S,i}}X.prototype.bytesPerElement=8,Zi("StructArrayLayout2i4ub8",X);class K extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.float32[s+0]=a,this.float32[s+1]=l,i}}K.prototype.bytesPerElement=8,Zi("StructArrayLayout2f8",K);class Q extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L){const B=this.length;return this.resize(B+1),this.emplace(B,i,a,l,s,u,m,S,_,v,L)}emplace(i,a,l,s,u,m,S,_,v,L,B){const T=10*i;return this.uint16[T+0]=a,this.uint16[T+1]=l,this.uint16[T+2]=s,this.uint16[T+3]=u,this.uint16[T+4]=m,this.uint16[T+5]=S,this.uint16[T+6]=_,this.uint16[T+7]=v,this.uint16[T+8]=L,this.uint16[T+9]=B,i}}Q.prototype.bytesPerElement=20,Zi("StructArrayLayout10ui20",Q);class ni extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T){const N=this.length;return this.resize(N+1),this.emplace(N,i,a,l,s,u,m,S,_,v,L,B,T)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N){const M=12*i;return this.int16[M+0]=a,this.int16[M+1]=l,this.int16[M+2]=s,this.int16[M+3]=u,this.uint16[M+4]=m,this.uint16[M+5]=S,this.uint16[M+6]=_,this.uint16[M+7]=v,this.int16[M+8]=L,this.int16[M+9]=B,this.int16[M+10]=T,this.int16[M+11]=N,i}}ni.prototype.bytesPerElement=24,Zi("StructArrayLayout4i4ui4i24",ni);class Z extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.float32[u+0]=a,this.float32[u+1]=l,this.float32[u+2]=s,i}}Z.prototype.bytesPerElement=12,Zi("StructArrayLayout3f12",Z);class si extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.uint32[1*i+0]=a,i}}si.prototype.bytesPerElement=4,Zi("StructArrayLayout1ul4",si);class di extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v){const L=this.length;return this.resize(L+1),this.emplace(L,i,a,l,s,u,m,S,_,v)}emplace(i,a,l,s,u,m,S,_,v,L){const B=10*i,T=5*i;return this.int16[B+0]=a,this.int16[B+1]=l,this.int16[B+2]=s,this.int16[B+3]=u,this.int16[B+4]=m,this.int16[B+5]=S,this.uint32[T+3]=_,this.uint16[B+8]=v,this.uint16[B+9]=L,i}}di.prototype.bytesPerElement=20,Zi("StructArrayLayout6i1ul2ui20",di);class yi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=6*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.int16[_+2]=s,this.int16[_+3]=u,this.int16[_+4]=m,this.int16[_+5]=S,i}}yi.prototype.bytesPerElement=12,Zi("StructArrayLayout2i2i2i12",yi);class wi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u){const m=this.length;return this.resize(m+1),this.emplace(m,i,a,l,s,u)}emplace(i,a,l,s,u,m){const S=4*i,_=8*i;return this.float32[S+0]=a,this.float32[S+1]=l,this.float32[S+2]=s,this.int16[_+6]=u,this.int16[_+7]=m,i}}wi.prototype.bytesPerElement=16,Zi("StructArrayLayout2f1f2i16",wi);class vi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=16*i,v=4*i,L=8*i;return this.uint8[_+0]=a,this.uint8[_+1]=l,this.float32[v+1]=s,this.float32[v+2]=u,this.int16[L+6]=m,this.int16[L+7]=S,i}}vi.prototype.bytesPerElement=16,Zi("StructArrayLayout2ub2f2i16",vi);class Oi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.uint16[u+0]=a,this.uint16[u+1]=l,this.uint16[u+2]=s,i}}Oi.prototype.bytesPerElement=6,Zi("StructArrayLayout3ui6",Oi);class $i extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii){const ri=this.length;return this.resize(ri+1),this.emplace(ri,i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri){const ai=24*i,oi=12*i,fi=48*i;return this.int16[ai+0]=a,this.int16[ai+1]=l,this.uint16[ai+2]=s,this.uint16[ai+3]=u,this.uint32[oi+2]=m,this.uint32[oi+3]=S,this.uint32[oi+4]=_,this.uint16[ai+10]=v,this.uint16[ai+11]=L,this.uint16[ai+12]=B,this.float32[oi+7]=T,this.float32[oi+8]=N,this.uint8[fi+36]=M,this.uint8[fi+37]=O,this.uint8[fi+38]=J,this.uint32[oi+10]=ii,this.int16[ai+22]=ri,i}}$i.prototype.bytesPerElement=48,Zi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",$i);class Ai extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,xi,Gi,ne,Ei,Ni,ie,Wi){const Ji=this.length;return this.resize(Ji+1),this.emplace(Ji,i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,xi,Gi,ne,Ei,Ni,ie,Wi)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,xi,Gi,ne,Ei,Ni,ie,Wi,Ji){const Ii=32*i,te=16*i;return this.int16[Ii+0]=a,this.int16[Ii+1]=l,this.int16[Ii+2]=s,this.int16[Ii+3]=u,this.int16[Ii+4]=m,this.int16[Ii+5]=S,this.int16[Ii+6]=_,this.int16[Ii+7]=v,this.uint16[Ii+8]=L,this.uint16[Ii+9]=B,this.uint16[Ii+10]=T,this.uint16[Ii+11]=N,this.uint16[Ii+12]=M,this.uint16[Ii+13]=O,this.uint16[Ii+14]=J,this.uint16[Ii+15]=ii,this.uint16[Ii+16]=ri,this.uint16[Ii+17]=ai,this.uint16[Ii+18]=oi,this.uint16[Ii+19]=fi,this.uint16[Ii+20]=xi,this.uint16[Ii+21]=Gi,this.uint16[Ii+22]=ne,this.uint32[te+12]=Ei,this.float32[te+13]=Ni,this.float32[te+14]=ie,this.uint16[Ii+30]=Wi,this.uint16[Ii+31]=Ji,i}}Ai.prototype.bytesPerElement=64,Zi("StructArrayLayout8i15ui1ul2f2ui64",Ai);class Bi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.float32[1*i+0]=a,i}}Bi.prototype.bytesPerElement=4,Zi("StructArrayLayout1f4",Bi);class Xi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.uint16[6*i+0]=a,this.float32[u+1]=l,this.float32[u+2]=s,i}}Xi.prototype.bytesPerElement=12,Zi("StructArrayLayout1ui2f12",Xi);class Ie extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=4*i;return this.uint32[2*i+0]=a,this.uint16[u+2]=l,this.uint16[u+3]=s,i}}Ie.prototype.bytesPerElement=8,Zi("StructArrayLayout1ul2ui8",Ie);class Ri extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.uint16[s+0]=a,this.uint16[s+1]=l,i}}Ri.prototype.bytesPerElement=4,Zi("StructArrayLayout2ui4",Ri);class zi extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.uint16[1*i+0]=a,i}}zi.prototype.bytesPerElement=2,Zi("StructArrayLayout1ui2",zi);class he extends j{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s){const u=this.length;return this.resize(u+1),this.emplace(u,i,a,l,s)}emplace(i,a,l,s,u){const m=4*i;return this.float32[m+0]=a,this.float32[m+1]=l,this.float32[m+2]=s,this.float32[m+3]=u,i}}he.prototype.bytesPerElement=16,Zi("StructArrayLayout4f16",he);class ht extends x{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new V(this.anchorPointX,this.anchorPointY)}}ht.prototype.size=20;class Ae extends di{get(i){return new ht(this,i)}}Zi("CollisionBoxArray",Ae);class Re extends x{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(i){this._structArray.uint8[this._pos1+37]=i}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(i){this._structArray.uint8[this._pos1+38]=i}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(i){this._structArray.uint32[this._pos4+10]=i}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Re.prototype.size=48;class ft extends $i{get(i){return new Re(this,i)}}Zi("PlacedSymbolArray",ft);class ua extends x{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(i){this._structArray.uint32[this._pos4+12]=i}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}ua.prototype.size=64;class rn extends Ai{get(i){return new ua(this,i)}}Zi("SymbolInstanceArray",rn);class gt extends Bi{getoffsetX(i){return this.float32[1*i+0]}}Zi("GlyphOffsetArray",gt);class Fa extends G{getx(i){return this.int16[3*i+0]}gety(i){return this.int16[3*i+1]}gettileUnitDistanceFromAnchor(i){return this.int16[3*i+2]}}Zi("SymbolLineVertexArray",Fa);class va extends x{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}va.prototype.size=12;class da extends Xi{get(i){return new va(this,i)}}Zi("TextAnchorOffsetArray",da);class ya extends x{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}ya.prototype.size=8;class pn extends Ie{get(i){return new ya(this,i)}}Zi("FeatureIndexArray",pn);class sl extends C{}class Uc extends C{}class bl extends C{}class ol extends ${}class Kc extends X{}class oo extends K{}class ca extends Q{}class un extends ni{}class On extends Z{}class vl extends si{}class ma extends yi{}class ha extends vi{}class ta extends Oi{}class bt extends Ri{}const Al=A([{name:"a_pos",components:2,type:"Int16"}],4),{members:ro}=Al;class Xt{constructor(i=[]){this.segments=i}prepareSegment(i,a,l,s){let u=this.segments[this.segments.length-1];return i>Xt.MAX_VERTEX_ARRAY_LENGTH&&qe(`Max vertices per segment is ${Xt.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${i}`),(!u||u.vertexLength+i>Xt.MAX_VERTEX_ARRAY_LENGTH||u.sortKey!==s)&&(u={vertexOffset:a.length,primitiveOffset:l.length,vertexLength:0,primitiveLength:0},s!==void 0&&(u.sortKey=s),this.segments.push(u)),u}get(){return this.segments}destroy(){for(const i of this.segments)for(const a in i.vaos)i.vaos[a].destroy()}static simpleSegment(i,a,l,s){return new Xt([{vertexOffset:i,primitiveOffset:a,vertexLength:l,primitiveLength:s,vaos:{},sortKey:0}])}}function kr(t,i){return 256*(t=Ki(Math.floor(t),0,255))+Ki(Math.floor(i),0,255)}Xt.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Zi("SegmentVector",Xt);const Jc=A([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var Zc={exports:{}},$n={exports:{}};$n.exports=function(t,i){var a,l,s,u,m,S,_,v;for(l=t.length-(a=3&t.length),s=i,m=3432918353,S=461845907,v=0;v>>16)*m&65535)<<16)&4294967295)<<15|_>>>17))*S+(((_>>>16)*S&65535)<<16)&4294967295)<<13|s>>>19))+((5*(s>>>16)&65535)<<16)&4294967295))+((58964+(u>>>16)&65535)<<16);switch(_=0,a){case 3:_^=(255&t.charCodeAt(v+2))<<16;case 2:_^=(255&t.charCodeAt(v+1))<<8;case 1:s^=_=(65535&(_=(_=(65535&(_^=255&t.charCodeAt(v)))*m+(((_>>>16)*m&65535)<<16)&4294967295)<<15|_>>>17))*S+(((_>>>16)*S&65535)<<16)&4294967295}return s^=t.length,s=2246822507*(65535&(s^=s>>>16))+((2246822507*(s>>>16)&65535)<<16)&4294967295,s=3266489909*(65535&(s^=s>>>13))+((3266489909*(s>>>16)&65535)<<16)&4294967295,(s^=s>>>16)>>>0};var _r=$n.exports,po={exports:{}};po.exports=function(t,i){for(var a,l=t.length,s=i^l,u=0;l>=4;)a=1540483477*(65535&(a=255&t.charCodeAt(u)|(255&t.charCodeAt(++u))<<8|(255&t.charCodeAt(++u))<<16|(255&t.charCodeAt(++u))<<24))+((1540483477*(a>>>16)&65535)<<16),s=1540483477*(65535&s)+((1540483477*(s>>>16)&65535)<<16)^(a=1540483477*(65535&(a^=a>>>24))+((1540483477*(a>>>16)&65535)<<16)),l-=4,++u;switch(l){case 3:s^=(255&t.charCodeAt(u+2))<<16;case 2:s^=(255&t.charCodeAt(u+1))<<8;case 1:s=1540483477*(65535&(s^=255&t.charCodeAt(u)))+((1540483477*(s>>>16)&65535)<<16)}return s=1540483477*(65535&(s^=s>>>13))+((1540483477*(s>>>16)&65535)<<16),(s^=s>>>15)>>>0};var uo=_r,yo=po.exports;Zc.exports=uo,Zc.exports.murmur3=uo,Zc.exports.murmur2=yo;var Wc=P(Zc.exports);class Ll{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(i,a,l,s){this.ids.push(Fp(i)),this.positions.push(a,l,s)}getPositions(i){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const a=Fp(i);let l=0,s=this.ids.length-1;for(;l>1;this.ids[m]>=a?s=m:l=m+1}const u=[];for(;this.ids[l]===a;)u.push({index:this.positions[3*l],start:this.positions[3*l+1],end:this.positions[3*l+2]}),l++;return u}static serialize(i,a){const l=new Float64Array(i.ids),s=new Uint32Array(i.positions);return _0(l,s,0,l.length-1),a&&a.push(l.buffer,s.buffer),{ids:l,positions:s}}static deserialize(i){const a=new Ll;return a.ids=i.ids,a.positions=i.positions,a.indexed=!0,a}}function Fp(t){const i=+t;return!isNaN(i)&&i<=Number.MAX_SAFE_INTEGER?i:Wc(String(t))}function _0(t,i,a,l){for(;a>1];let u=a-1,m=l+1;for(;;){do u++;while(t[u]s);if(u>=m)break;xr(t,u,m),xr(i,3*u,3*m),xr(i,3*u+1,3*m+1),xr(i,3*u+2,3*m+2)}m-a`u_${s}`),this.type=l}setUniform(i,a,l){i.set(l.constantOr(this.value))}getBinding(i,a,l){return this.type==="color"?new Rp(i,a):new jr(i,a)}}class Xc{constructor(i,a){this.uniformNames=a.map(l=>`u_${l}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(i,a){this.pixelRatioFrom=a.pixelRatio,this.pixelRatioTo=i.pixelRatio,this.patternFrom=a.tlbr,this.patternTo=i.tlbr}setUniform(i,a,l,s){const u=s==="u_pattern_to"?this.patternTo:s==="u_pattern_from"?this.patternFrom:s==="u_pixel_ratio_to"?this.pixelRatioTo:s==="u_pixel_ratio_from"?this.pixelRatioFrom:null;u&&i.set(u)}getBinding(i,a,l){return l.substr(0,9)==="u_pattern"?new Tp(i,a):new jr(i,a)}}class rl{constructor(i,a,l,s){this.expression=i,this.type=l,this.maxValue=0,this.paintVertexAttributes=a.map(u=>({name:`a_${u}`,type:"Float32",components:l==="color"?2:1,offset:0})),this.paintVertexArray=new s}populatePaintArray(i,a,l,s,u){const m=this.paintVertexArray.length,S=this.expression.evaluate(new pt(0),a,{},s,[],u);this.paintVertexArray.resize(i),this._setPaintValue(m,i,S)}updatePaintArray(i,a,l,s){const u=this.expression.evaluate({zoom:0},l,s);this._setPaintValue(i,a,u)}_setPaintValue(i,a,l){if(this.type==="color"){const s=x0(l);for(let u=i;u`u_${S}_t`),this.type=l,this.useIntegerZoom=s,this.zoom=u,this.maxValue=0,this.paintVertexAttributes=a.map(S=>({name:`a_${S}`,type:"Float32",components:l==="color"?4:2,offset:0})),this.paintVertexArray=new m}populatePaintArray(i,a,l,s,u){const m=this.expression.evaluate(new pt(this.zoom),a,{},s,[],u),S=this.expression.evaluate(new pt(this.zoom+1),a,{},s,[],u),_=this.paintVertexArray.length;this.paintVertexArray.resize(i),this._setPaintValue(_,i,m,S)}updatePaintArray(i,a,l,s){const u=this.expression.evaluate({zoom:this.zoom},l,s),m=this.expression.evaluate({zoom:this.zoom+1},l,s);this._setPaintValue(i,a,u,m)}_setPaintValue(i,a,l,s){if(this.type==="color"){const u=x0(l),m=x0(s);for(let S=i;S`#define HAS_UNIFORM_${s}`))}return i}getBinderAttributes(){const i=[];for(const a in this.binders){const l=this.binders[a];if(l instanceof rl||l instanceof Tn)for(let s=0;s!0){this.programConfigurations={};for(const s of i)this.programConfigurations[s.id]=new Dp(s,a,l);this.needsUpload=!1,this._featureMap=new Ll,this._bufferOffset=0}populatePaintArrays(i,a,l,s,u,m){for(const S in this.programConfigurations)this.programConfigurations[S].populatePaintArrays(i,a,s,u,m);a.id!==void 0&&this._featureMap.add(a.id,l,this._bufferOffset,i),this._bufferOffset=i,this.needsUpload=!0}updatePaintArrays(i,a,l,s){for(const u of l)this.needsUpload=this.programConfigurations[u.id].updatePaintArrays(i,this._featureMap,a,u,s)||this.needsUpload}get(i){return this.programConfigurations[i]}upload(i){if(this.needsUpload){for(const a in this.programConfigurations)this.programConfigurations[a].upload(i);this.needsUpload=!1}}destroy(){for(const i in this.programConfigurations)this.programConfigurations[i].destroy()}}function Ay(t,i){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${i}-`,"").replace(/-/g,"_")]}function Np(t,i,a){const l={color:{source:K,composite:he},number:{source:Bi,composite:K}},s=function(u){return{"line-pattern":{source:ca,composite:ca},"fill-pattern":{source:ca,composite:ca},"fill-extrusion-pattern":{source:ca,composite:ca}}[u]}(t);return s&&s[a]||l[i][a]}Zi("ConstantBinder",mo),Zi("CrossFadedConstantBinder",Xc),Zi("SourceExpressionBinder",rl),Zi("CrossFadedCompositeBinder",Bl),Zi("CompositeExpressionBinder",Tn),Zi("ProgramConfiguration",Dp,{omit:["_buffers"]}),Zi("ProgramConfigurationSet",sc);const $t=8192,j0=Math.pow(2,14)-1,Gp=-j0-1;function oc(t){const i=$t/t.extent,a=t.loadGeometry();for(let l=0;lm.x+1||_m.y+1)&&qe("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return a}function rc(t,i){return{type:t.type,id:t.id,properties:t.properties,geometry:i?oc(t):[]}}function br(t,i,a,l,s){t.emplaceBack(2*i+(l+1)/2,2*a+(s+1)/2)}class b0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.layoutVertexArray=new Uc,this.indexArray=new ta,this.segments=new Xt,this.programConfigurations=new sc(i.layers,i.zoom),this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){const s=this.layers[0],u=[];let m=null,S=!1;s.type==="circle"&&(m=s.layout.get("circle-sort-key"),S=!m.isConstant());for(const{feature:_,id:v,index:L,sourceLayerIndex:B}of i){const T=this.layers[0]._featureFilter.needGeometry,N=rc(_,T);if(!this.layers[0]._featureFilter.filter(new pt(this.zoom),N,l))continue;const M=S?m.evaluate(N,{},l):void 0,O={id:v,properties:_.properties,type:_.type,sourceLayerIndex:B,index:L,geometry:T?N.geometry:oc(_),patterns:{},sortKey:M};u.push(O)}S&&u.sort((_,v)=>_.sortKey-v.sortKey);for(const _ of u){const{geometry:v,index:L,sourceLayerIndex:B}=_,T=i[L].feature;this.addFeature(_,v,L,l),a.featureIndex.insert(T,v,L,B,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,ro),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(i,a,l,s){for(const u of a)for(const m of u){const S=m.x,_=m.y;if(S<0||S>=$t||_<0||_>=$t)continue;const v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,i.sortKey),L=v.vertexLength;br(this.layoutVertexArray,S,_,-1,-1),br(this.layoutVertexArray,S,_,1,-1),br(this.layoutVertexArray,S,_,1,1),br(this.layoutVertexArray,S,_,-1,1),this.indexArray.emplaceBack(L,L+1,L+2),this.indexArray.emplaceBack(L,L+3,L+2),v.vertexLength+=4,v.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,i,l,{},s)}}function Pp(t,i){for(let a=0;a1){if(v0(t,i))return!0;for(let l=0;l1?a:a.sub(i)._mult(s)._add(i))}function Ep(t,i){let a,l,s,u=!1;for(let m=0;mi.y!=s.y>i.y&&i.x<(s.x-l.x)*(i.y-l.y)/(s.y-l.y)+l.x&&(u=!u)}return u}function Yc(t,i){let a=!1;for(let l=0,s=t.length-1;li.y!=m.y>i.y&&i.x<(m.x-u.x)*(i.y-u.y)/(m.y-u.y)+u.x&&(a=!a)}return a}function Fy(t,i,a){const l=a[0],s=a[2];if(t.xs.x&&i.x>s.x||t.ys.y&&i.y>s.y)return!1;const u=He(t,i,a[0]);return u!==He(t,i,a[1])||u!==He(t,i,a[2])||u!==He(t,i,a[3])}function ho(t,i,a){const l=i.paint.get(t).value;return l.kind==="constant"?l.value:a.programConfigurations.get(i.id).getMaxValue(t)}function vr(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ar(t,i,a,l,s){if(!i[0]&&!i[1])return t;const u=V.convert(i)._mult(s);a==="viewport"&&u._rotate(-l);const m=[];for(let S=0;SOp(J,O))}(v,_),N=B?L*S:L;for(const M of s)for(const O of M){const J=B?O:Op(O,_);let ii=N;const ri=Lr([],[O.x,O.y,0,1],_);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ii*=ri[3]/m.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ii*=m.cameraToCenterDistance/ri[3]),Ly(T,J,ii))return!0}return!1}}function Op(t,i){const a=Lr([],[t.x,t.y,0,1],i);return new V(a[0]/a[3],a[1]/a[3])}class $p extends b0{}let Up;Zi("HeatmapBucket",$p,{omit:["layers"]});var Ny={get paint(){return Up=Up||new c({"heatmap-radius":new pe(gi.paint_heatmap["heatmap-radius"]),"heatmap-weight":new pe(gi.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new ee(gi.paint_heatmap["heatmap-intensity"]),"heatmap-color":new n(gi.paint_heatmap["heatmap-color"]),"heatmap-opacity":new ee(gi.paint_heatmap["heatmap-opacity"])})}};function B0(t,{width:i,height:a},l,s){if(s){if(s instanceof Uint8ClampedArray)s=new Uint8Array(s.buffer);else if(s.length!==i*a*l)throw new RangeError(`mismatched image size. expected: ${s.length} but got: ${i*a*l}`)}else s=new Uint8Array(i*a*l);return t.width=i,t.height=a,t.data=s,t}function Kp(t,{width:i,height:a},l){if(i===t.width&&a===t.height)return;const s=B0({},{width:i,height:a},l);C0(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,a)},l),t.width=i,t.height=a,t.data=s.data}function C0(t,i,a,l,s,u){if(s.width===0||s.height===0)return i;if(s.width>t.width||s.height>t.height||a.x>t.width-s.width||a.y>t.height-s.height)throw new RangeError("out of range source coordinates for image copy");if(s.width>i.width||s.height>i.height||l.x>i.width-s.width||l.y>i.height-s.height)throw new RangeError("out of range destination coordinates for image copy");const m=t.data,S=i.data;if(m===S)throw new Error("srcData equals dstData, so image is already copied");for(let _=0;_{i[t.evaluationKey]=_;const v=t.expression.evaluate(i);s.data[m+S+0]=Math.floor(255*v.r/v.a),s.data[m+S+1]=Math.floor(255*v.g/v.a),s.data[m+S+2]=Math.floor(255*v.b/v.a),s.data[m+S+3]=Math.floor(255*v.a)};if(t.clips)for(let m=0,S=0;m80*a){l=u=t[0],s=m=t[1];for(var M=a;Mu&&(u=S),_>m&&(m=_);v=(v=Math.max(u-l,m-s))!==0?32767/v:0}return So(T,N,a,l,s,v,0),N}function Wp(t,i,a,l,s){var u,m;if(s===D0(t,i,a,l)>0)for(u=i;u=i;u-=l)m=Qp(u,t[u],t[u+1],m);return m&&Cr(m,m.next)&&(wo(m),m=m.next),m}function pc(t,i){if(!t)return t;i||(i=t);var a,l=t;do if(a=!1,l.steiner||!Cr(l,l.next)&&Mt(l.prev,l,l.next)!==0)l=l.next;else{if(wo(l),(l=i=l.prev)===l.next)break;a=!0}while(a||l!==i);return i}function So(t,i,a,l,s,u,m){if(t){!m&&u&&function(L,B,T,N){var M=L;do M.z===0&&(M.z=T0(M.x,M.y,B,T,N)),M.prevZ=M.prev,M.nextZ=M.next,M=M.next;while(M!==L);M.prevZ.nextZ=null,M.prevZ=null,function(O){var J,ii,ri,ai,oi,fi,xi,Gi,ne=1;do{for(ii=O,O=null,oi=null,fi=0;ii;){for(fi++,ri=ii,xi=0,J=0;J0||Gi>0&&ri;)xi!==0&&(Gi===0||!ri||ii.z<=ri.z)?(ai=ii,ii=ii.nextZ,xi--):(ai=ri,ri=ri.nextZ,Gi--),oi?oi.nextZ=ai:O=ai,ai.prevZ=oi,oi=ai;ii=ri}oi.nextZ=null,ne*=2}while(fi>1)}(M)}(t,l,s,u);for(var S,_,v=t;t.prev!==t.next;)if(S=t.prev,_=t.next,u?Hy(t,l,s,u):qy(t))i.push(S.i/a|0),i.push(t.i/a|0),i.push(_.i/a|0),wo(t),t=_.next,v=_.next;else if((t=_)===v){m?m===1?So(t=Vy(pc(t),i,a),i,a,l,s,u,2):m===2&&Oy(t,i,a,l,s,u):So(pc(t),i,a,l,s,u,1);break}}}function qy(t){var i=t.prev,a=t,l=t.next;if(Mt(i,a,l)>=0)return!1;for(var s=i.x,u=a.x,m=l.x,S=i.y,_=a.y,v=l.y,L=su?s>m?s:m:u>m?u:m,N=S>_?S>v?S:v:_>v?_:v,M=l.next;M!==i;){if(M.x>=L&&M.x<=T&&M.y>=B&&M.y<=N&&is(s,S,u,_,m,v,M.x,M.y)&&Mt(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function Hy(t,i,a,l){var s=t.prev,u=t,m=t.next;if(Mt(s,u,m)>=0)return!1;for(var S=s.x,_=u.x,v=m.x,L=s.y,B=u.y,T=m.y,N=S<_?S_?S>v?S:v:_>v?_:v,J=L>B?L>T?L:T:B>T?B:T,ii=T0(N,M,i,a,l),ri=T0(O,J,i,a,l),ai=t.prevZ,oi=t.nextZ;ai&&ai.z>=ii&&oi&&oi.z<=ri;){if(ai.x>=N&&ai.x<=O&&ai.y>=M&&ai.y<=J&&ai!==s&&ai!==m&&is(S,L,_,B,v,T,ai.x,ai.y)&&Mt(ai.prev,ai,ai.next)>=0||(ai=ai.prevZ,oi.x>=N&&oi.x<=O&&oi.y>=M&&oi.y<=J&&oi!==s&&oi!==m&&is(S,L,_,B,v,T,oi.x,oi.y)&&Mt(oi.prev,oi,oi.next)>=0))return!1;oi=oi.nextZ}for(;ai&&ai.z>=ii;){if(ai.x>=N&&ai.x<=O&&ai.y>=M&&ai.y<=J&&ai!==s&&ai!==m&&is(S,L,_,B,v,T,ai.x,ai.y)&&Mt(ai.prev,ai,ai.next)>=0)return!1;ai=ai.prevZ}for(;oi&&oi.z<=ri;){if(oi.x>=N&&oi.x<=O&&oi.y>=M&&oi.y<=J&&oi!==s&&oi!==m&&is(S,L,_,B,v,T,oi.x,oi.y)&&Mt(oi.prev,oi,oi.next)>=0)return!1;oi=oi.nextZ}return!0}function Vy(t,i,a){var l=t;do{var s=l.prev,u=l.next.next;!Cr(s,u)&&Xp(s,l,l.next,u)&&Io(s,u)&&Io(u,s)&&(i.push(s.i/a|0),i.push(l.i/a|0),i.push(u.i/a|0),wo(l),wo(l.next),l=t=u),l=l.next}while(l!==t);return pc(l)}function Oy(t,i,a,l,s,u){var m=t;do{for(var S=m.next.next;S!==m.prev;){if(m.i!==S.i&&Zy(m,S)){var _=Yp(m,S);return m=pc(m,m.next),_=pc(_,_.next),So(m,i,a,l,s,u,0),void So(_,i,a,l,s,u,0)}S=S.next}m=m.next}while(m!==t)}function $y(t,i){return t.x-i.x}function Uy(t,i){var a=function(s,u){var m,S=u,_=s.x,v=s.y,L=-1/0;do{if(v<=S.y&&v>=S.next.y&&S.next.y!==S.y){var B=S.x+(v-S.y)*(S.next.x-S.x)/(S.next.y-S.y);if(B<=_&&B>L&&(L=B,m=S.x=S.x&&S.x>=M&&_!==S.x&&is(vm.x||S.x===m.x&&Ky(m,S)))&&(m=S,J=T)),S=S.next;while(S!==N);return m}(t,i);if(!a)return i;var l=Yp(a,t);return pc(l,l.next),pc(a,a.next)}function Ky(t,i){return Mt(t.prev,t,i.prev)<0&&Mt(i.next,t,t.next)<0}function T0(t,i,a,l,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-a)*s|0)|t<<8))|t<<4))|t<<2))|t<<1))|(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=(i-l)*s|0)|i<<8))|i<<4))|i<<2))|i<<1))<<1}function Jy(t){var i=t,a=t;do(i.x=(t-m)*(u-S)&&(t-m)*(l-S)>=(a-m)*(i-S)&&(a-m)*(u-S)>=(s-m)*(l-S)}function Zy(t,i){return t.next.i!==i.i&&t.prev.i!==i.i&&!function(a,l){var s=a;do{if(s.i!==a.i&&s.next.i!==a.i&&s.i!==l.i&&s.next.i!==l.i&&Xp(s,s.next,a,l))return!0;s=s.next}while(s!==a);return!1}(t,i)&&(Io(t,i)&&Io(i,t)&&function(a,l){var s=a,u=!1,m=(a.x+l.x)/2,S=(a.y+l.y)/2;do s.y>S!=s.next.y>S&&s.next.y!==s.y&&m<(s.next.x-s.x)*(S-s.y)/(s.next.y-s.y)+s.x&&(u=!u),s=s.next;while(s!==a);return u}(t,i)&&(Mt(t.prev,t,i.prev)||Mt(t,i.prev,i))||Cr(t,i)&&Mt(t.prev,t,t.next)>0&&Mt(i.prev,i,i.next)>0)}function Mt(t,i,a){return(i.y-t.y)*(a.x-i.x)-(i.x-t.x)*(a.y-i.y)}function Cr(t,i){return t.x===i.x&&t.y===i.y}function Xp(t,i,a,l){var s=Tr(Mt(t,i,a)),u=Tr(Mt(t,i,l)),m=Tr(Mt(a,l,t)),S=Tr(Mt(a,l,i));return s!==u&&m!==S||!(s!==0||!Fr(t,a,i))||!(u!==0||!Fr(t,l,i))||!(m!==0||!Fr(a,t,l))||!(S!==0||!Fr(a,i,l))}function Fr(t,i,a){return i.x<=Math.max(t.x,a.x)&&i.x>=Math.min(t.x,a.x)&&i.y<=Math.max(t.y,a.y)&&i.y>=Math.min(t.y,a.y)}function Tr(t){return t>0?1:t<0?-1:0}function Io(t,i){return Mt(t.prev,t,t.next)<0?Mt(t,i,t.next)>=0&&Mt(t,t.prev,i)>=0:Mt(t,i,t.prev)<0||Mt(t,t.next,i)<0}function Yp(t,i){var a=new R0(t.i,t.x,t.y),l=new R0(i.i,i.x,i.y),s=t.next,u=i.prev;return t.next=i,i.prev=t,a.next=s,s.prev=a,l.next=a,a.prev=l,u.next=l,l.prev=u,l}function Qp(t,i,a,l){var s=new R0(t,i,a);return l?(s.next=l.next,s.prev=l,l.next.prev=s,l.next=s):(s.prev=s,s.next=s),s}function wo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function R0(t,i,a){this.i=t,this.x=i,this.y=a,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function D0(t,i,a,l){for(var s=0,u=i,m=a-l;u0&&a.holes.push(l+=t[s-1].length)}return a};var iu=P(F0.exports);function N0(t,i,a){const l=a.patternDependencies;let s=!1;for(const u of i){const m=u.paint.get(`${t}-pattern`);m.isConstant()||(s=!0);const S=m.constantOr(null);S&&(s=!0,l[S.to]=!0,l[S.from]=!0)}return s}function G0(t,i,a,l,s){const u=s.patternDependencies;for(const m of i){const S=m.paint.get(`${t}-pattern`).value;if(S.kind!=="constant"){let _=S.evaluate({zoom:l-1},a,{},s.availableImages),v=S.evaluate({zoom:l},a,{},s.availableImages),L=S.evaluate({zoom:l+1},a,{},s.availableImages);_=_&&_.name?_.name:_,v=v&&v.name?v.name:v,L=L&&L.name?L.name:L,u[_]=!0,u[v]=!0,u[L]=!0,a.patterns[m.id]={min:_,mid:v,max:L}}}return a}class P0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new bl,this.indexArray=new ta,this.indexArray2=new bt,this.programConfigurations=new sc(i.layers,i.zoom),this.segments=new Xt,this.segments2=new Xt,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.hasPattern=N0("fill",this.layers,a);const s=this.layers[0].layout.get("fill-sort-key"),u=!s.isConstant(),m=[];for(const{feature:S,id:_,index:v,sourceLayerIndex:L}of i){const B=this.layers[0]._featureFilter.needGeometry,T=rc(S,B);if(!this.layers[0]._featureFilter.filter(new pt(this.zoom),T,l))continue;const N=u?s.evaluate(T,{},l,a.availableImages):void 0,M={id:_,properties:S.properties,type:S.type,sourceLayerIndex:L,index:v,geometry:B?T.geometry:oc(S),patterns:{},sortKey:N};m.push(M)}u&&m.sort((S,_)=>S.sortKey-_.sortKey);for(const S of m){const{geometry:_,index:v,sourceLayerIndex:L}=S;if(this.hasPattern){const B=G0("fill",this.layers,S,this.zoom,a);this.patternFeatures.push(B)}else this.addFeature(S,_,v,l,{});a.featureIndex.insert(i[v].feature,_,v,L,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}addFeatures(i,a,l){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,a,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,Ey),this.indexBuffer=i.createIndexBuffer(this.indexArray),this.indexBuffer2=i.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(i,a,l,s,u){for(const m of Ac(a,500)){let S=0;for(const N of m)S+=N.length;const _=this.segments.prepareSegment(S,this.layoutVertexArray,this.indexArray),v=_.vertexLength,L=[],B=[];for(const N of m){if(N.length===0)continue;N!==m[0]&&B.push(L.length/2);const M=this.segments2.prepareSegment(N.length,this.layoutVertexArray,this.indexArray2),O=M.vertexLength;this.layoutVertexArray.emplaceBack(N[0].x,N[0].y),this.indexArray2.emplaceBack(O+N.length-1,O),L.push(N[0].x),L.push(N[0].y);for(let J=1;J>3}if(s--,l===1||l===2)u+=t.readSVarint(),m+=t.readSVarint(),l===1&&(i&&S.push(i),i=[]),i.push(new em(u,m));else{if(l!==7)throw new Error("unknown command "+l);i&&i.push(i[0].clone())}}return i&&S.push(i),S},es.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var i=t.readVarint()+t.pos,a=1,l=0,s=0,u=0,m=1/0,S=-1/0,_=1/0,v=-1/0;t.pos>3}if(l--,a===1||a===2)(s+=t.readSVarint())S&&(S=s),(u+=t.readSVarint())<_&&(_=u),u>v&&(v=u);else if(a!==7)throw new Error("unknown command "+a)}return[m,_,S,v]},es.prototype.toGeoJSON=function(t,i,a){var l,s,u=this.extent*Math.pow(2,a),m=this.extent*t,S=this.extent*i,_=this.loadGeometry(),v=es.types[this.type];function L(N){for(var M=0;M>3;s=m===1?l.readString():m===2?l.readFloat():m===3?l.readDouble():m===4?l.readVarint64():m===5?l.readVarint():m===6?l.readSVarint():m===7?l.readBoolean():null}return s}(a))}lu.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var i=this._pbf.readVarint()+this._pbf.pos;return new nm(this._pbf,i,this.extent,this._keys,this._values)};var cm=nu;function sm(t,i,a){if(t===3){var l=new cm(a,a.readVarint()+a.pos);l.length&&(i[l.name]=l)}}Cl.VectorTile=function(t,i){this.layers=t.readFields(sm,{},i)},Cl.VectorTileFeature=au,Cl.VectorTileLayer=nu;const om=Cl.VectorTileFeature.types,M0=Math.pow(2,13);function ko(t,i,a,l,s,u,m,S){t.emplaceBack(i,a,2*Math.floor(l*M0)+m,s*M0*2,u*M0*2,Math.round(S))}class z0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.layoutVertexArray=new ol,this.centroidVertexArray=new sl,this.indexArray=new ta,this.programConfigurations=new sc(i.layers,i.zoom),this.segments=new Xt,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.features=[],this.hasPattern=N0("fill-extrusion",this.layers,a);for(const{feature:s,id:u,index:m,sourceLayerIndex:S}of i){const _=this.layers[0]._featureFilter.needGeometry,v=rc(s,_);if(!this.layers[0]._featureFilter.filter(new pt(this.zoom),v,l))continue;const L={id:u,sourceLayerIndex:S,index:m,geometry:_?v.geometry:oc(s),properties:s.properties,type:s.type,patterns:{}};this.hasPattern?this.features.push(G0("fill-extrusion",this.layers,L,this.zoom,a)):this.addFeature(L,L.geometry,m,l,{}),a.featureIndex.insert(s,L.geometry,m,S,this.index,!0)}}addFeatures(i,a,l){for(const s of this.features){const{geometry:u}=s;this.addFeature(s,u,s.index,a,l)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,im),this.centroidVertexBuffer=i.createVertexBuffer(this.centroidVertexArray,Qy.members,!0),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(i,a,l,s,u){for(const m of Ac(a,500)){const S={x:0,y:0,vertexCount:0};let _=0;for(const M of m)_+=M.length;let v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const M of m){if(M.length===0||pm(M))continue;let O=0;for(let J=0;J=1){const ri=M[J-1];if(!rm(ii,ri)){v.vertexLength+4>Xt.MAX_VERTEX_ARRAY_LENGTH&&(v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const ai=ii.sub(ri)._perp()._unit(),oi=ri.dist(ii);O+oi>32768&&(O=0),ko(this.layoutVertexArray,ii.x,ii.y,ai.x,ai.y,0,0,O),ko(this.layoutVertexArray,ii.x,ii.y,ai.x,ai.y,0,1,O),S.x+=2*ii.x,S.y+=2*ii.y,S.vertexCount+=2,O+=oi,ko(this.layoutVertexArray,ri.x,ri.y,ai.x,ai.y,0,0,O),ko(this.layoutVertexArray,ri.x,ri.y,ai.x,ai.y,0,1,O),S.x+=2*ri.x,S.y+=2*ri.y,S.vertexCount+=2;const fi=v.vertexLength;this.indexArray.emplaceBack(fi,fi+2,fi+1),this.indexArray.emplaceBack(fi+1,fi+2,fi+3),v.vertexLength+=4,v.primitiveLength+=2}}}}if(v.vertexLength+_>Xt.MAX_VERTEX_ARRAY_LENGTH&&(v=this.segments.prepareSegment(_,this.layoutVertexArray,this.indexArray)),om[i.type]!=="Polygon")continue;const L=[],B=[],T=v.vertexLength;for(const M of m)if(M.length!==0){M!==m[0]&&B.push(L.length/2);for(let O=0;O$t)||t.y===i.y&&(t.y<0||t.y>$t)}function pm(t){return t.every(i=>i.x<0)||t.every(i=>i.x>$t)||t.every(i=>i.y<0)||t.every(i=>i.y>$t)}let cu;Zi("FillExtrusionBucket",z0,{omit:["layers","features"]});var um={get paint(){return cu=cu||new c({"fill-extrusion-opacity":new ee(gi["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new pe(gi["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ee(gi["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ee(gi["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new d(gi["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new pe(gi["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new pe(gi["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ee(gi["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class dm extends y{constructor(i){super(i,um)}createBucket(i){return new z0(i)}queryRadius(){return vr(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(i,a,l,s,u,m,S,_){const v=Ar(i,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),m.angle,S),L=this.paint.get("fill-extrusion-height").evaluate(a,l),B=this.paint.get("fill-extrusion-base").evaluate(a,l),T=function(M,O,J,ii){const ri=[];for(const ai of M){const oi=[ai.x,ai.y,0,1];Lr(oi,oi,O),ri.push(new V(oi[0]/oi[3],oi[1]/oi[3]))}return ri}(v,_),N=function(M,O,J,ii){const ri=[],ai=[],oi=ii[8]*O,fi=ii[9]*O,xi=ii[10]*O,Gi=ii[11]*O,ne=ii[8]*J,Ei=ii[9]*J,Ni=ii[10]*J,ie=ii[11]*J;for(const Wi of M){const Ji=[],Ii=[];for(const te of Wi){const Qi=te.x,ge=te.y,nt=ii[0]*Qi+ii[4]*ge+ii[12],tt=ii[1]*Qi+ii[5]*ge+ii[13],aa=ii[2]*Qi+ii[6]*ge+ii[14],xn=ii[3]*Qi+ii[7]*ge+ii[15],ga=aa+xi,Rt=xn+Gi,Ra=nt+ne,Da=tt+Ei,Na=aa+Ni,Dt=xn+ie,na=new V((nt+oi)/Rt,(tt+fi)/Rt);na.z=ga/Rt,Ji.push(na);const Aa=new V(Ra/Dt,Da/Dt);Aa.z=Na/Dt,Ii.push(Aa)}ri.push(Ji),ai.push(Ii)}return[ri,ai]}(s,B,L,_);return function(M,O,J){let ii=1/0;Mp(J,O)&&(ii=su(J,O[0]));for(let ri=0;ria.id),this.index=i.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(a=>{this.gradients[a.id]={}}),this.layoutVertexArray=new Kc,this.layoutVertexArray2=new oo,this.indexArray=new ta,this.programConfigurations=new sc(i.layers,i.zoom),this.segments=new Xt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.hasPattern=N0("line",this.layers,a);const s=this.layers[0].layout.get("line-sort-key"),u=!s.isConstant(),m=[];for(const{feature:S,id:_,index:v,sourceLayerIndex:L}of i){const B=this.layers[0]._featureFilter.needGeometry,T=rc(S,B);if(!this.layers[0]._featureFilter.filter(new pt(this.zoom),T,l))continue;const N=u?s.evaluate(T,{},l):void 0,M={id:_,properties:S.properties,type:S.type,sourceLayerIndex:L,index:v,geometry:B?T.geometry:oc(S),patterns:{},sortKey:N};m.push(M)}u&&m.sort((S,_)=>S.sortKey-_.sortKey);for(const S of m){const{geometry:_,index:v,sourceLayerIndex:L}=S;if(this.hasPattern){const B=G0("line",this.layers,S,this.zoom,a);this.patternFeatures.push(B)}else this.addFeature(S,_,v,l,{});a.featureIndex.insert(i[v].feature,_,v,L,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}addFeatures(i,a,l){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,a,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=i.createVertexBuffer(this.layoutVertexArray2,fm)),this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,mm),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(i){if(i.properties&&Object.prototype.hasOwnProperty.call(i.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(i.properties,"mapbox_clip_end"))return{start:+i.properties.mapbox_clip_start,end:+i.properties.mapbox_clip_end}}addFeature(i,a,l,s,u){const m=this.layers[0].layout,S=m.get("line-join").evaluate(i,{}),_=m.get("line-cap"),v=m.get("line-miter-limit"),L=m.get("line-round-limit");this.lineClips=this.lineFeatureClips(i);for(const B of a)this.addLine(B,i,S,_,v,L);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,i,l,u,s)}addLine(i,a,l,s,u,m){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ii=0;ii=2&&i[_-1].equals(i[_-2]);)_--;let v=0;for(;v<_-1&&i[v].equals(i[v+1]);)v++;if(_<(S?3:2))return;l==="bevel"&&(u=1.05);const L=this.overscaling<=16?15*$t/(512*this.overscaling):0,B=this.segments.prepareSegment(10*_,this.layoutVertexArray,this.indexArray);let T,N,M,O,J;this.e1=this.e2=-1,S&&(T=i[_-2],J=i[v].sub(T)._unit()._perp());for(let ii=v;ii<_;ii++){if(M=ii===_-1?S?i[v+1]:void 0:i[ii+1],M&&i[ii].equals(M))continue;J&&(O=J),T&&(N=T),T=i[ii],J=M?M.sub(T)._unit()._perp():O,O=O||J;let ri=O.add(J);ri.x===0&&ri.y===0||ri._unit();const ai=O.x*J.x+O.y*J.y,oi=ri.x*J.x+ri.y*J.y,fi=oi!==0?1/oi:1/0,xi=2*Math.sqrt(2-2*oi),Gi=oi0;if(Gi&&ii>v){const ie=T.dist(N);if(ie>2*L){const Wi=T.sub(T.sub(N)._mult(L/ie)._round());this.updateDistance(N,Wi),this.addCurrentVertex(Wi,O,0,0,B),N=Wi}}const Ei=N&&M;let Ni=Ei?l:S?"butt":s;if(Ei&&Ni==="round"&&(fiu&&(Ni="bevel"),Ni==="bevel"&&(fi>2&&(Ni="flipbevel"),fi100)ri=J.mult(-1);else{const ie=fi*O.add(J).mag()/O.sub(J).mag();ri._perp()._mult(ie*(ne?-1:1))}this.addCurrentVertex(T,ri,0,0,B),this.addCurrentVertex(T,ri.mult(-1),0,0,B)}else if(Ni==="bevel"||Ni==="fakeround"){const ie=-Math.sqrt(fi*fi-1),Wi=ne?ie:0,Ji=ne?0:ie;if(N&&this.addCurrentVertex(T,O,Wi,Ji,B),Ni==="fakeround"){const Ii=Math.round(180*xi/Math.PI/20);for(let te=1;te2*L){const Wi=T.add(M.sub(T)._mult(L/ie)._round());this.updateDistance(T,Wi),this.addCurrentVertex(Wi,J,0,0,B),T=Wi}}}}addCurrentVertex(i,a,l,s,u,m=!1){const S=a.y*s-a.x,_=-a.y-a.x*s;this.addHalfVertex(i,a.x+a.y*l,a.y-a.x*l,m,!1,l,u),this.addHalfVertex(i,S,_,m,!0,-s,u),this.distance>ou/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(i,a,l,s,u,m))}addHalfVertex({x:i,y:a},l,s,u,m,S,_){const v=.5*(this.lineClips?this.scaledDistance*(ou-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((i<<1)+(u?1:0),(a<<1)+(m?1:0),Math.round(63*l)+128,Math.round(63*s)+128,1+(S===0?0:S<0?-1:1)|(63&v)<<2,v>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const L=_.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,L),_.primitiveLength++),m?this.e2=L:this.e1=L}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(i,a){this.distance+=i.dist(a),this.updateScaledDistance()}}let ru,pu;Zi("LineBucket",E0,{omit:["layers","patternFeatures"]});var uu={get paint(){return pu=pu||new c({"line-opacity":new pe(gi.paint_line["line-opacity"]),"line-color":new pe(gi.paint_line["line-color"]),"line-translate":new ee(gi.paint_line["line-translate"]),"line-translate-anchor":new ee(gi.paint_line["line-translate-anchor"]),"line-width":new pe(gi.paint_line["line-width"]),"line-gap-width":new pe(gi.paint_line["line-gap-width"]),"line-offset":new pe(gi.paint_line["line-offset"]),"line-blur":new pe(gi.paint_line["line-blur"]),"line-dasharray":new e(gi.paint_line["line-dasharray"]),"line-pattern":new d(gi.paint_line["line-pattern"]),"line-gradient":new n(gi.paint_line["line-gradient"])})},get layout(){return ru=ru||new c({"line-cap":new ee(gi.layout_line["line-cap"]),"line-join":new pe(gi.layout_line["line-join"]),"line-miter-limit":new ee(gi.layout_line["line-miter-limit"]),"line-round-limit":new ee(gi.layout_line["line-round-limit"]),"line-sort-key":new pe(gi.layout_line["line-sort-key"])})}};class Im extends pe{possiblyEvaluate(i,a){return a=new pt(Math.floor(a.zoom),{now:a.now,fadeDuration:a.fadeDuration,zoomHistory:a.zoomHistory,transition:a.transition}),super.possiblyEvaluate(i,a)}evaluate(i,a,l,s){return a=ue({},a,{zoom:Math.floor(a.zoom)}),super.evaluate(i,a,l,s)}}let Rr;class wm extends y{constructor(i){super(i,uu),this.gradientVersion=0,Rr||(Rr=new Im(uu.paint.properties["line-width"].specification),Rr.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(i){if(i==="line-gradient"){const a=this.gradientExpression();this.stepInterpolant=!!function(l){return l._styleExpression!==void 0}(a)&&a._styleExpression.expression instanceof ml,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(i,a){super.recalculate(i,a),this.paint._values["line-floorwidth"]=Rr.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,i)}createBucket(i){return new E0(i)}queryRadius(i){const a=i,l=du(ho("line-width",this,a),ho("line-gap-width",this,a)),s=ho("line-offset",this,a);return l/2+Math.abs(s)+vr(this.paint.get("line-translate"))}queryIntersectsFeature(i,a,l,s,u,m,S){const _=Ar(i,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),m.angle,S),v=S/2*du(this.paint.get("line-width").evaluate(a,l),this.paint.get("line-gap-width").evaluate(a,l)),L=this.paint.get("line-offset").evaluate(a,l);return L&&(s=function(B,T){const N=[];for(let M=0;M=3){for(let J=0;J0?i+2*t:t}const km=A([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),_m=A([{name:"a_projected_pos",components:3,type:"Float32"}],4);A([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const xm=A([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);A([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const yu=A([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),jm=A([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function bm(t,i,a){return t.sections.forEach(l=>{l.text=function(s,u,m){const S=u.layout.get("text-transform").evaluate(m,{});return S==="uppercase"?s=s.toLocaleUpperCase():S==="lowercase"&&(s=s.toLocaleLowerCase()),Vn.applyArabicShaping&&(s=Vn.applyArabicShaping(s)),s}(l.text,i,a)}),t}A([{name:"triangle",components:3,type:"Uint16"}]),A([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),A([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),A([{type:"Float32",name:"offsetX"}]),A([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),A([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const xo={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Yt=24,mu=et,hu=function(t,i,a,l,s){var u,m,S=8*s-l-1,_=(1<>1,L=-7,B=s-1,T=-1,N=t[i+B];for(B+=T,u=N&(1<<-L)-1,N>>=-L,L+=S;L>0;u=256*u+t[i+B],B+=T,L-=8);for(m=u&(1<<-L)-1,u>>=-L,L+=l;L>0;m=256*m+t[i+B],B+=T,L-=8);if(u===0)u=1-v;else{if(u===_)return m?NaN:1/0*(N?-1:1);m+=Math.pow(2,l),u-=v}return(N?-1:1)*m*Math.pow(2,u-l)},fu=function(t,i,a,l,s,u){var m,S,_,v=8*u-s-1,L=(1<>1,T=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,N=0,M=1,O=i<0||i===0&&1/i<0?1:0;for(i=Math.abs(i),isNaN(i)||i===1/0?(S=isNaN(i)?1:0,m=L):(m=Math.floor(Math.log(i)/Math.LN2),i*(_=Math.pow(2,-m))<1&&(m--,_*=2),(i+=m+B>=1?T/_:T*Math.pow(2,1-B))*_>=2&&(m++,_/=2),m+B>=L?(S=0,m=L):m+B>=1?(S=(i*_-1)*Math.pow(2,s),m+=B):(S=i*Math.pow(2,B-1)*Math.pow(2,s),m=0));s>=8;t[a+N]=255&S,N+=M,S/=256,s-=8);for(m=m<0;t[a+N]=255&m,N+=M,m/=256,v-=8);t[a+N-M]|=128*O};function et(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}et.Varint=0,et.Fixed64=1,et.Bytes=2,et.Fixed32=5;var q0=4294967296,gu=1/q0,Su=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function pl(t){return t.type===et.Bytes?t.readVarint()+t.pos:t.pos+1}function ts(t,i,a){return a?4294967296*i+(t>>>0):4294967296*(i>>>0)+(t>>>0)}function Iu(t,i,a){var l=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.floor(Math.log(i)/(7*Math.LN2));a.realloc(l);for(var s=a.pos-1;s>=t;s--)a.buf[s+l]=a.buf[s]}function vm(t,i){for(var a=0;a>>8,t[a+2]=i>>>16,t[a+3]=i>>>24}function wu(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+(t[i+3]<<24)}et.prototype={destroy:function(){this.buf=null},readFields:function(t,i,a){for(a=a||this.length;this.pos>3,u=this.pos;this.type=7&l,t(s,i,this),this.pos===u&&this.skip(l)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=Dr(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=wu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Dr(this.buf,this.pos)+Dr(this.buf,this.pos+4)*q0;return this.pos+=8,t},readSFixed64:function(){var t=Dr(this.buf,this.pos)+wu(this.buf,this.pos+4)*q0;return this.pos+=8,t},readFloat:function(){var t=hu(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hu(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var i,a,l=this.buf;return i=127&(a=l[this.pos++]),a<128?i:(i|=(127&(a=l[this.pos++]))<<7,a<128?i:(i|=(127&(a=l[this.pos++]))<<14,a<128?i:(i|=(127&(a=l[this.pos++]))<<21,a<128?i:function(s,u,m){var S,_,v=m.buf;if(S=(112&(_=v[m.pos++]))>>4,_<128||(S|=(127&(_=v[m.pos++]))<<3,_<128)||(S|=(127&(_=v[m.pos++]))<<10,_<128)||(S|=(127&(_=v[m.pos++]))<<17,_<128)||(S|=(127&(_=v[m.pos++]))<<24,_<128)||(S|=(1&(_=v[m.pos++]))<<31,_<128))return ts(s,S,u);throw new Error("Expected varint not more than 10 bytes")}(i|=(15&(a=l[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var t=this.readVarint()+this.pos,i=this.pos;return this.pos=t,t-i>=12&&Su?function(a,l,s){return Su.decode(a.subarray(l,s))}(this.buf,i,t):function(a,l,s){for(var u="",m=l;m239?4:L>223?3:L>191?2:1;if(m+T>s)break;T===1?L<128&&(B=L):T===2?(192&(S=a[m+1]))==128&&(B=(31&L)<<6|63&S)<=127&&(B=null):T===3?(_=a[m+2],(192&(S=a[m+1]))==128&&(192&_)==128&&((B=(15&L)<<12|(63&S)<<6|63&_)<=2047||B>=55296&&B<=57343)&&(B=null)):T===4&&(_=a[m+2],v=a[m+3],(192&(S=a[m+1]))==128&&(192&_)==128&&(192&v)==128&&((B=(15&L)<<18|(63&S)<<12|(63&_)<<6|63&v)<=65535||B>=1114112)&&(B=null)),B===null?(B=65533,T=1):B>65535&&(B-=65536,u+=String.fromCharCode(B>>>10&1023|55296),B=56320|1023&B),u+=String.fromCharCode(B),m+=T}return u}(this.buf,i,t)},readBytes:function(){var t=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,t);return this.pos=t,i},readPackedVarint:function(t,i){if(this.type!==et.Bytes)return t.push(this.readVarint(i));var a=pl(this);for(t=t||[];this.pos127;);else if(i===et.Bytes)this.pos=this.readVarint()+this.pos;else if(i===et.Fixed32)this.pos+=4;else{if(i!==et.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455||t<0?function(i,a){var l,s;if(i>=0?(l=i%4294967296|0,s=i/4294967296|0):(s=~(-i/4294967296),4294967295^(l=~(-i%4294967296))?l=l+1|0:(l=0,s=s+1|0)),i>=18446744073709552e3||i<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");a.realloc(10),function(u,m,S){S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,S.buf[S.pos]=127&(u>>>=7)}(l,0,a),function(u,m){var S=(7&u)<<4;m.buf[m.pos++]|=S|((u>>>=3)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u)))))}(s,a)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(!!t)},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var i=this.pos;this.pos=function(l,s,u){for(var m,S,_=0;_55295&&m<57344){if(!S){m>56319||_+1===s.length?(l[u++]=239,l[u++]=191,l[u++]=189):S=m;continue}if(m<56320){l[u++]=239,l[u++]=191,l[u++]=189,S=m;continue}m=S-55296<<10|m-56320|65536,S=null}else S&&(l[u++]=239,l[u++]=191,l[u++]=189,S=null);m<128?l[u++]=m:(m<2048?l[u++]=m>>6|192:(m<65536?l[u++]=m>>12|224:(l[u++]=m>>18|240,l[u++]=m>>12&63|128),l[u++]=m>>6&63|128),l[u++]=63&m|128)}return u}(this.buf,t,this.pos);var a=this.pos-i;a>=128&&Iu(i,a,this),this.pos=i-1,this.writeVarint(a),this.pos+=a},writeFloat:function(t){this.realloc(4),fu(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),fu(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var a=0;a=128&&Iu(a,l,this),this.pos=a-1,this.writeVarint(l),this.pos+=l},writeMessage:function(t,i,a){this.writeTag(t,et.Bytes),this.writeRawMessage(i,a)},writePackedVarint:function(t,i){i.length&&this.writeMessage(t,vm,i)},writePackedSVarint:function(t,i){i.length&&this.writeMessage(t,Am,i)},writePackedBoolean:function(t,i){i.length&&this.writeMessage(t,Cm,i)},writePackedFloat:function(t,i){i.length&&this.writeMessage(t,Lm,i)},writePackedDouble:function(t,i){i.length&&this.writeMessage(t,Bm,i)},writePackedFixed32:function(t,i){i.length&&this.writeMessage(t,Fm,i)},writePackedSFixed32:function(t,i){i.length&&this.writeMessage(t,Tm,i)},writePackedFixed64:function(t,i){i.length&&this.writeMessage(t,Rm,i)},writePackedSFixed64:function(t,i){i.length&&this.writeMessage(t,Dm,i)},writeBytesField:function(t,i){this.writeTag(t,et.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,et.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,et.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,et.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,et.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,et.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,et.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,et.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,et.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,et.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,!!i)}};var H0=P(mu);const V0=3;function Nm(t,i,a){t===1&&a.readMessage(Gm,i)}function Gm(t,i,a){if(t===3){const{id:l,bitmap:s,width:u,height:m,left:S,top:_,advance:v}=a.readMessage(Pm,{});i.push({id:l,bitmap:new go({width:u+2*V0,height:m+2*V0},s),metrics:{width:u,height:m,left:S,top:_,advance:v}})}}function Pm(t,i,a){t===1?i.id=a.readVarint():t===2?i.bitmap=a.readBytes():t===3?i.width=a.readVarint():t===4?i.height=a.readVarint():t===5?i.left=a.readSVarint():t===6?i.top=a.readSVarint():t===7&&(i.advance=a.readVarint())}const ku=V0;function _u(t){let i=0,a=0;for(const m of t)i+=m.w*m.h,a=Math.max(a,m.w);t.sort((m,S)=>S.h-m.h);const l=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(i/.95)),a),h:1/0}];let s=0,u=0;for(const m of t)for(let S=l.length-1;S>=0;S--){const _=l[S];if(!(m.w>_.w||m.h>_.h)){if(m.x=_.x,m.y=_.y,u=Math.max(u,m.y+m.h),s=Math.max(s,m.x+m.w),m.w===_.w&&m.h===_.h){const v=l.pop();S=0&&l>=i&&Gr[this.text.charCodeAt(l)];l--)a--;this.text=this.text.substring(i,a),this.sectionIndex=this.sectionIndex.slice(i,a)}substring(i,a){const l=new ns;return l.text=this.text.substring(i,a),l.sectionIndex=this.sectionIndex.slice(i,a),l.sections=this.sections,l}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((i,a)=>Math.max(i,this.sections[a].scale),0)}addTextSection(i,a){this.text+=i.text,this.sections.push(bo.forText(i.scale,i.fontStack||a));const l=this.sections.length-1;for(let s=0;s=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nr(t,i,a,l,s,u,m,S,_,v,L,B,T,N,M){const O=ns.fromFeature(t,s);let J;B===w.ai.vertical&&O.verticalizePunctuation();const{processBidirectionalText:ii,processStyledBidirectionalText:ri}=Vn;if(ii&&O.sections.length===1){J=[];const fi=ii(O.toString(),$0(O,v,u,i,l,N));for(const xi of fi){const Gi=new ns;Gi.text=xi,Gi.sections=O.sections;for(let ne=0;ne0&&ul>Ia&&(Ia=ul)}else{const hn=Gi[Ke.fontStack],sa=hn&&hn[St];if(sa&&sa.rect)os=sa.rect,Bt=sa.metrics;else{const ul=xi[Ke.fontStack],Co=ul&&ul[St];if(!Co)continue;Bt=Co.metrics}en=(na-Ke.scale)*Yt}jn?(fi.verticalizable=!0,Ga.push({glyph:St,imageName:Kn,x:ge,y:nt+en,vertical:jn,scale:Ke.scale,fontStack:Ke.fontStack,sectionIndex:ut,metrics:Bt,rect:os}),ge+=Jn*Ke.scale+Ii):(Ga.push({glyph:St,imageName:Kn,x:ge,y:nt+en,vertical:jn,scale:Ke.scale,fontStack:Ke.fontStack,sectionIndex:ut,metrics:Bt,rect:os}),ge+=Bt.advance*Ke.scale+Ii)}Ga.length!==0&&(tt=Math.max(ge-Ii,tt),qm(Ga,0,Ga.length-1,xn,Ia)),ge=0;const mn=Ni*na+Ia;Sa.lineOffset=Math.max(Ia,Aa),nt+=mn,aa=Math.max(mn,aa),++ga}var Rt;const Ra=nt-jo,{horizontalAlign:Da,verticalAlign:Na}=U0(ie);(function(Dt,na,Aa,Sa,Ga,Ia,mn,Ua,Ke){const ut=(na-Aa)*Ga;let St=0;St=Ia!==mn?-Ua*Sa-jo:(-Sa*Ke+.5)*mn;for(const en of Dt)for(const Bt of en.positionedGlyphs)Bt.x+=ut,Bt.y+=St})(fi.positionedLines,xn,Da,Na,tt,aa,Ni,Ra,Ei.length),fi.top+=-Na*Ra,fi.bottom=fi.top+Ra,fi.left+=-Da*tt,fi.right=fi.left+tt}(oi,i,a,l,J,m,S,_,B,v,T,M),!function(fi){for(const xi of fi)if(xi.positionedGlyphs.length!==0)return!1;return!0}(ai)&&oi}const Gr={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Mm={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},zm={40:!0};function ju(t,i,a,l,s,u){if(i.imageName){const m=l[i.imageName];return m?m.displaySize[0]*i.scale*Yt/u+s:0}{const m=a[i.fontStack],S=m&&m[t];return S?S.metrics.advance*i.scale+s:0}}function bu(t,i,a,l){const s=Math.pow(t-i,2);return l?t=0;let v=0;for(let B=0;Bv){const L=Math.ceil(u/v);s*=L/m,m=L}return{x1:l,y1:s,x2:l+u,y2:s+m}}function Bu(t,i,a,l,s,u){const m=t.image;let S;if(m.content){const J=m.content,ii=m.pixelRatio||1;S=[J[0]/ii,J[1]/ii,m.displaySize[0]-J[2]/ii,m.displaySize[1]-J[3]/ii]}const _=i.left*u,v=i.right*u;let L,B,T,N;a==="width"||a==="both"?(N=s[0]+_-l[3],B=s[0]+v+l[1]):(N=s[0]+(_+v-m.displaySize[0])/2,B=N+m.displaySize[0]);const M=i.top*u,O=i.bottom*u;return a==="height"||a==="both"?(L=s[1]+M-l[0],T=s[1]+O+l[2]):(L=s[1]+(M+O-m.displaySize[1])/2,T=L+m.displaySize[1]),{image:m,top:L,right:B,bottom:T,left:N,collisionPadding:S}}const vo=255,Un=128,Tl=vo*Un;function Cu(t,i){const{expression:a}=i;if(a.kind==="constant")return{kind:"constant",layoutSize:a.evaluate(new pt(t+1))};if(a.kind==="source")return{kind:"source"};{const{zoomStops:l,interpolationType:s}=a;let u=0;for(;um.id),this.index=i.index,this.pixelRatio=i.pixelRatio,this.sourceLayerIndex=i.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=L0([]),this.placementViewportMatrix=L0([]);const a=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Cu(this.zoom,a["text-size"]),this.iconSizeData=Cu(this.zoom,a["icon-size"]);const l=this.layers[0].layout,s=l.get("symbol-sort-key"),u=l.get("symbol-z-order");this.canOverlap=K0(l,"text-overlap","text-allow-overlap")!=="never"||K0(l,"icon-overlap","icon-allow-overlap")!=="never"||l.get("text-ignore-placement")||l.get("icon-ignore-placement"),this.sortFeaturesByKey=u!=="viewport-y"&&!s.isConstant(),this.sortFeaturesByY=(u==="viewport-y"||u==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,l.get("symbol-placement")==="point"&&(this.writingModes=l.get("text-writing-mode").map(m=>w.ai[m])),this.stateDependentLayerIds=this.layers.filter(m=>m.isStateDependent()).map(m=>m.id),this.sourceID=i.sourceID}createArrays(){this.text=new Z0(new sc(this.layers,this.zoom,i=>/^text/.test(i))),this.icon=new Z0(new sc(this.layers,this.zoom,i=>/^icon/.test(i))),this.glyphOffsetArray=new gt,this.lineVertexArray=new Fa,this.symbolInstances=new rn,this.textAnchorOffsets=new da}calculateGlyphDependencies(i,a,l,s,u){for(let m=0;m0)&&(m.value.kind!=="constant"||m.value.value.length>0),L=_.value.kind!=="constant"||!!_.value.value||Object.keys(_.parameters).length>0,B=u.get("symbol-sort-key");if(this.features=[],!v&&!L)return;const T=a.iconDependencies,N=a.glyphDependencies,M=a.availableImages,O=new pt(this.zoom);for(const{feature:J,id:ii,index:ri,sourceLayerIndex:ai}of i){const oi=s._featureFilter.needGeometry,fi=rc(J,oi);if(!s._featureFilter.filter(O,fi,l))continue;let xi,Gi;if(oi||(fi.geometry=oc(J)),v){const Ei=s.getValueAndResolveTokens("text-field",fi,l,M),Ni=za.factory(Ei),ie=this.hasRTLText=this.hasRTLText||$m(Ni);(!ie||Vn.getRTLTextPluginStatus()==="unavailable"||ie&&Vn.isParsed())&&(xi=bm(Ni,s,fi))}if(L){const Ei=s.getValueAndResolveTokens("icon-image",fi,l,M);Gi=Ei instanceof pa?Ei:pa.fromString(Ei)}if(!xi&&!Gi)continue;const ne=this.sortFeaturesByKey?B.evaluate(fi,{},l):void 0;if(this.features.push({id:ii,text:xi,icon:Gi,index:ri,sourceLayerIndex:ai,geometry:fi.geometry,properties:J.properties,type:Vm[J.type],sortKey:ne}),Gi&&(T[Gi.name]=!0),xi){const Ei=m.evaluate(fi,{},l).join(","),Ni=u.get("text-rotation-alignment")!=="viewport"&&u.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(w.ai.vertical)>=0;for(const ie of xi.sections)if(ie.image)T[ie.image.name]=!0;else{const Wi=no(xi.toString()),Ji=ie.fontStack||Ei,Ii=N[Ji]=N[Ji]||{};this.calculateGlyphDependencies(ie.text,Ii,Ni,this.allowVerticalPlacement,Wi)}}}u.get("symbol-placement")==="line"&&(this.features=function(J){const ii={},ri={},ai=[];let oi=0;function fi(Ei){ai.push(J[Ei]),oi++}function xi(Ei,Ni,ie){const Wi=ri[Ei];return delete ri[Ei],ri[Ni]=Wi,ai[Wi].geometry[0].pop(),ai[Wi].geometry[0]=ai[Wi].geometry[0].concat(ie[0]),Wi}function Gi(Ei,Ni,ie){const Wi=ii[Ni];return delete ii[Ni],ii[Ei]=Wi,ai[Wi].geometry[0].shift(),ai[Wi].geometry[0]=ie[0].concat(ai[Wi].geometry[0]),Wi}function ne(Ei,Ni,ie){const Wi=ie?Ni[0][Ni[0].length-1]:Ni[0][0];return`${Ei}:${Wi.x}:${Wi.y}`}for(let Ei=0;EiEi.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((J,ii)=>J.sortKey-ii.sortKey)}update(i,a,l){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(i,a,this.layers,l),this.icon.programConfigurations.updatePaintArrays(i,a,this.layers,l))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(i){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(i),this.iconCollisionBox.upload(i)),this.text.upload(i,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(i,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(i,a){const l=this.lineVertexArray.length;if(i.segment!==void 0){let s=i.dist(a[i.segment+1]),u=i.dist(a[i.segment]);const m={};for(let S=i.segment+1;S=0;S--)m[S]={x:a[S].x,y:a[S].y,tileUnitDistanceFromAnchor:u},S>0&&(u+=a[S-1].dist(a[S]));for(let S=0;S0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(i,a){const l=i.placedSymbolArray.get(a),s=l.vertexStartIndex+4*l.numGlyphs;for(let u=l.vertexStartIndex;us[S]-s[_]||u[_]-u[S]),m}addToSortKeyRanges(i,a){const l=this.sortKeyRanges[this.sortKeyRanges.length-1];l&&l.sortKey===a?l.symbolInstanceEnd=i+1:this.sortKeyRanges.push({sortKey:a,symbolInstanceStart:i,symbolInstanceEnd:i+1})}sortFeatures(i){if(this.sortFeaturesByY&&this.sortedAngle!==i&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(i),this.sortedAngle=i,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const a of this.symbolInstanceIndexes){const l=this.symbolInstances.get(a);this.featureSortOrder.push(l.featureIndex),[l.rightJustifiedTextSymbolIndex,l.centerJustifiedTextSymbolIndex,l.leftJustifiedTextSymbolIndex].forEach((s,u,m)=>{s>=0&&m.indexOf(s)===u&&this.addIndicesForPlacedSymbol(this.text,s)}),l.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,l.verticalPlacedTextSymbolIndex),l.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,l.placedIconSymbolIndex),l.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,l.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Fu,Tu;Zi("SymbolBucket",ls,{omit:["layers","collisionBoxArray","features","compareText"]}),ls.MAX_GLYPHS=65535,ls.addDynamicAttributes=J0;var X0={get paint(){return Tu=Tu||new c({"icon-opacity":new pe(gi.paint_symbol["icon-opacity"]),"icon-color":new pe(gi.paint_symbol["icon-color"]),"icon-halo-color":new pe(gi.paint_symbol["icon-halo-color"]),"icon-halo-width":new pe(gi.paint_symbol["icon-halo-width"]),"icon-halo-blur":new pe(gi.paint_symbol["icon-halo-blur"]),"icon-translate":new ee(gi.paint_symbol["icon-translate"]),"icon-translate-anchor":new ee(gi.paint_symbol["icon-translate-anchor"]),"text-opacity":new pe(gi.paint_symbol["text-opacity"]),"text-color":new pe(gi.paint_symbol["text-color"],{runtimeType:Ba,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new pe(gi.paint_symbol["text-halo-color"]),"text-halo-width":new pe(gi.paint_symbol["text-halo-width"]),"text-halo-blur":new pe(gi.paint_symbol["text-halo-blur"]),"text-translate":new ee(gi.paint_symbol["text-translate"]),"text-translate-anchor":new ee(gi.paint_symbol["text-translate-anchor"])})},get layout(){return Fu=Fu||new c({"symbol-placement":new ee(gi.layout_symbol["symbol-placement"]),"symbol-spacing":new ee(gi.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ee(gi.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new pe(gi.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ee(gi.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ee(gi.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ee(gi.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ee(gi.layout_symbol["icon-ignore-placement"]),"icon-optional":new ee(gi.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ee(gi.layout_symbol["icon-rotation-alignment"]),"icon-size":new pe(gi.layout_symbol["icon-size"]),"icon-text-fit":new ee(gi.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ee(gi.layout_symbol["icon-text-fit-padding"]),"icon-image":new pe(gi.layout_symbol["icon-image"]),"icon-rotate":new pe(gi.layout_symbol["icon-rotate"]),"icon-padding":new pe(gi.layout_symbol["icon-padding"]),"icon-keep-upright":new ee(gi.layout_symbol["icon-keep-upright"]),"icon-offset":new pe(gi.layout_symbol["icon-offset"]),"icon-anchor":new pe(gi.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ee(gi.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ee(gi.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ee(gi.layout_symbol["text-rotation-alignment"]),"text-field":new pe(gi.layout_symbol["text-field"]),"text-font":new pe(gi.layout_symbol["text-font"]),"text-size":new pe(gi.layout_symbol["text-size"]),"text-max-width":new pe(gi.layout_symbol["text-max-width"]),"text-line-height":new ee(gi.layout_symbol["text-line-height"]),"text-letter-spacing":new pe(gi.layout_symbol["text-letter-spacing"]),"text-justify":new pe(gi.layout_symbol["text-justify"]),"text-radial-offset":new pe(gi.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ee(gi.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new pe(gi.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new pe(gi.layout_symbol["text-anchor"]),"text-max-angle":new ee(gi.layout_symbol["text-max-angle"]),"text-writing-mode":new ee(gi.layout_symbol["text-writing-mode"]),"text-rotate":new pe(gi.layout_symbol["text-rotate"]),"text-padding":new ee(gi.layout_symbol["text-padding"]),"text-keep-upright":new ee(gi.layout_symbol["text-keep-upright"]),"text-transform":new pe(gi.layout_symbol["text-transform"]),"text-offset":new pe(gi.layout_symbol["text-offset"]),"text-allow-overlap":new ee(gi.layout_symbol["text-allow-overlap"]),"text-overlap":new ee(gi.layout_symbol["text-overlap"]),"text-ignore-placement":new ee(gi.layout_symbol["text-ignore-placement"]),"text-optional":new ee(gi.layout_symbol["text-optional"])})}};class Ru{constructor(i){if(i.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=i.property.overrides?i.property.overrides.runtimeType:ln,this.defaultValue=i}evaluate(i){if(i.formattedSection){const a=this.defaultValue.property.overrides;if(a&&a.hasOverride(i.formattedSection))return a.getOverride(i.formattedSection)}return i.feature&&i.featureState?this.defaultValue.evaluate(i.feature,i.featureState):this.defaultValue.property.specification.default}eachChild(i){this.defaultValue.isConstant()||i(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Zi("FormatSectionOverride",Ru,{omit:["defaultValue"]});class Mr extends y{constructor(i){super(i,X0)}recalculate(i,a){if(super.recalculate(i,a),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const l=this.layout.get("text-writing-mode");if(l){const s=[];for(const u of l)s.indexOf(u)<0&&s.push(u);this.layout._values["text-writing-mode"]=s}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(i,a,l,s){const u=this.layout.get(i).evaluate(a,{},l,s),m=this._unevaluatedLayout._values[i];return m.isDataDriven()||Xl(m.value)||!u?u:function(S,_){return _.replace(/{([^{}]+)}/g,(v,L)=>S&&L in S?String(S[L]):"")}(a.properties,u)}createBucket(i){return new ls(i)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const i of X0.paint.overridableProperties){if(!Mr.hasPaintOverride(this.layout,i))continue;const a=this.paint.get(i),l=new Ru(a),s=new Mc(l,a.property.specification);let u=null;u=a.value.kind==="constant"||a.value.kind==="source"?new Ps("source",s):new Ms("composite",s,a.value.zoomStops),this.paint._values[i]=new _n(a.property,u,a.parameters)}}_handleOverridablePaintPropertyUpdate(i,a,l){return!(!this.layout||a.isDataDriven()||l.isDataDriven())&&Mr.hasPaintOverride(this.layout,i)}static hasPaintOverride(i,a){const l=i.get("text-field"),s=X0.paint.properties[a];let u=!1;const m=S=>{for(const _ of S)if(s.overrides&&s.overrides.hasOverride(_))return void(u=!0)};if(l.value.kind==="constant"&&l.value.value instanceof za)m(l.value.value.sections);else if(l.value.kind==="source"){const S=v=>{u||(v instanceof Xn&&Ot(v.value)===An?m(v.value.sections):v instanceof bc?m(v.sections):v.eachChild(S))},_=l.value;_._styleExpression&&S(_._styleExpression.expression)}return u}}let Du;var Um={get paint(){return Du=Du||new c({"background-color":new ee(gi.paint_background["background-color"]),"background-pattern":new e(gi.paint_background["background-pattern"]),"background-opacity":new ee(gi.paint_background["background-opacity"])})}};class Km extends y{constructor(i){super(i,Um)}}let Nu;var Jm={get paint(){return Nu=Nu||new c({"raster-opacity":new ee(gi.paint_raster["raster-opacity"]),"raster-hue-rotate":new ee(gi.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ee(gi.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ee(gi.paint_raster["raster-brightness-max"]),"raster-saturation":new ee(gi.paint_raster["raster-saturation"]),"raster-contrast":new ee(gi.paint_raster["raster-contrast"]),"raster-resampling":new ee(gi.paint_raster["raster-resampling"]),"raster-fade-duration":new ee(gi.paint_raster["raster-fade-duration"])})}};class Zm extends y{constructor(i){super(i,Jm)}}class Wm extends y{constructor(i){super(i,{}),this.onAdd=a=>{this.implementation.onAdd&&this.implementation.onAdd(a,a.painter.context.gl)},this.onRemove=a=>{this.implementation.onRemove&&this.implementation.onRemove(a,a.painter.context.gl)},this.implementation=i}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Xm{constructor(i){this._methodToThrottle=i,this._triggered=!1,typeof MessageChannel<"u"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Y0=63710088e-1;class Rl{constructor(i,a){if(isNaN(i)||isNaN(a))throw new Error(`Invalid LngLat object: (${i}, ${a})`);if(this.lng=+i,this.lat=+a,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Rl(de(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(i){const a=Math.PI/180,l=this.lat*a,s=i.lat*a,u=Math.sin(l)*Math.sin(s)+Math.cos(l)*Math.cos(s)*Math.cos((i.lng-this.lng)*a);return Y0*Math.acos(Math.min(u,1))}static convert(i){if(i instanceof Rl)return i;if(Array.isArray(i)&&(i.length===2||i.length===3))return new Rl(Number(i[0]),Number(i[1]));if(!Array.isArray(i)&&typeof i=="object"&&i!==null)return new Rl(Number("lng"in i?i.lng:i.lon),Number(i.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const Gu=2*Math.PI*Y0;function Pu(t){return Gu*Math.cos(t*Math.PI/180)}function Mu(t){return(180+t)/360}function zu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Eu(t,i){return t/Pu(i)}function Q0(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class zr{constructor(i,a,l=0){this.x=+i,this.y=+a,this.z=+l}static fromLngLat(i,a=0){const l=Rl.convert(i);return new zr(Mu(l.lng),zu(l.lat),Eu(a,l.lat))}toLngLat(){return new Rl(360*this.x-180,Q0(this.y))}toAltitude(){return this.z*Pu(Q0(this.y))}meterInMercatorCoordinateUnits(){return 1/Gu*(i=Q0(this.y),1/Math.cos(i*Math.PI/180));var i}}function qu(t,i,a){var l=2*Math.PI*6378137/256/Math.pow(2,a);return[t*l-2*Math.PI*6378137/2,i*l-2*Math.PI*6378137/2]}class ip{constructor(i,a,l){if(i<0||i>25||l<0||l>=Math.pow(2,i)||a<0||a>=Math.pow(2,i))throw new Error(`x=${a}, y=${l}, z=${i} outside of bounds. 0<=x<${Math.pow(2,i)}, 0<=y<${Math.pow(2,i)} 0<=z<=25 `);this.z=i,this.x=a,this.y=l,this.key=Ao(0,i,i,a,l)}equals(i){return this.z===i.z&&this.x===i.x&&this.y===i.y}url(i,a,l){const s=(m=this.y,S=this.z,_=qu(256*(u=this.x),256*(m=Math.pow(2,S)-m-1),S),v=qu(256*(u+1),256*(m+1),S),_[0]+","+_[1]+","+v[0]+","+v[1]);var u,m,S,_,v;const L=function(B,T,N){let M,O="";for(let J=B;J>0;J--)M=1<1?"@2x":"").replace(/{quadkey}/g,L).replace(/{bbox-epsg-3857}/g,s)}isChildOf(i){const a=this.z-i.z;return a>0&&i.x===this.x>>a&&i.y===this.y>>a}getTilePoint(i){const a=Math.pow(2,this.z);return new V((i.x*a-this.x)*$t,(i.y*a-this.y)*$t)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Hu{constructor(i,a){this.wrap=i,this.canonical=a,this.key=Ao(i,a.z,a.z,a.x,a.y)}}class yn{constructor(i,a,l,s,u){if(i= z; overscaledZ = ${i}; z = ${l}`);this.overscaledZ=i,this.wrap=a,this.canonical=new ip(l,+s,+u),this.key=Ao(a,i,l,s,u)}clone(){return new yn(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(i){return this.overscaledZ===i.overscaledZ&&this.wrap===i.wrap&&this.canonical.equals(i.canonical)}scaledTo(i){if(i>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${i}; overscaledZ = ${this.overscaledZ}`);const a=this.canonical.z-i;return i>this.canonical.z?new yn(i,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new yn(i,this.wrap,i,this.canonical.x>>a,this.canonical.y>>a)}calculateScaledKey(i,a){if(i>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${i}; overscaledZ = ${this.overscaledZ}`);const l=this.canonical.z-i;return i>this.canonical.z?Ao(this.wrap*+a,i,this.canonical.z,this.canonical.x,this.canonical.y):Ao(this.wrap*+a,i,i,this.canonical.x>>l,this.canonical.y>>l)}isChildOf(i){if(i.wrap!==this.wrap)return!1;const a=this.canonical.z-i.canonical.z;return i.overscaledZ===0||i.overscaledZ>a&&i.canonical.y===this.canonical.y>>a}children(i){if(this.overscaledZ>=i)return[new yn(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const a=this.canonical.z+1,l=2*this.canonical.x,s=2*this.canonical.y;return[new yn(a,this.wrap,a,l,s),new yn(a,this.wrap,a,l+1,s),new yn(a,this.wrap,a,l,s+1),new yn(a,this.wrap,a,l+1,s+1)]}isLessThan(i){return this.wrapi.wrap)&&(this.overscaledZi.overscaledZ)&&(this.canonical.xi.canonical.x)&&this.canonical.ythis.max&&(this.max=B),B=this.dim+1||a<-1||a>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(a+1)*this.stride+(i+1)}unpack(i,a,l){return i*this.redFactor+a*this.greenFactor+l*this.blueFactor-this.baseShift}getPixels(){return new dn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(i,a,l){if(this.dim!==i.dim)throw new Error("dem dimension mismatch");let s=a*this.dim,u=a*this.dim+this.dim,m=l*this.dim,S=l*this.dim+this.dim;switch(a){case-1:s=u-1;break;case 1:u=s+1}switch(l){case-1:m=S-1;break;case 1:S=m+1}const _=-a*this.dim,v=-l*this.dim;for(let L=m;L=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${i} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[i]}}class $u{constructor(i,a,l,s,u){this.type="Feature",this._vectorTileFeature=i,i._z=a,i._x=l,i._y=s,this.properties=i.properties,this.id=u}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(i){this._geometry=i}toJSON(){const i={geometry:this.geometry};for(const a in this)a!=="_geometry"&&a!=="_vectorTileFeature"&&(i[a]=this[a]);return i}}class Uu{constructor(i,a){this.tileID=i,this.x=i.canonical.x,this.y=i.canonical.y,this.z=i.canonical.z,this.grid=new _l($t,16,0),this.grid3D=new _l($t,16,0),this.featureIndexArray=new pn,this.promoteId=a}insert(i,a,l,s,u,m){const S=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(l,s,u);const _=m?this.grid3D:this.grid;for(let v=0;v=0&&B[3]>=0&&_.insert(S,B[0],B[1],B[2],B[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Cl.VectorTile(new H0(this.rawTileData)).layers,this.sourceLayerCoder=new Ou(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(i,a,l,s){this.loadVTLayers();const u=i.params||{},m=$t/i.tileSize/i.scale,S=ba(u.filter),_=i.queryGeometry,v=i.queryPadding*m,L=Ju(_),B=this.grid.query(L.minX-v,L.minY-v,L.maxX+v,L.maxY+v),T=Ju(i.cameraQueryGeometry),N=this.grid3D.query(T.minX-v,T.minY-v,T.maxX+v,T.maxY+v,(J,ii,ri,ai)=>function(oi,fi,xi,Gi,ne){for(const Ni of oi)if(fi<=Ni.x&&xi<=Ni.y&&Gi>=Ni.x&&ne>=Ni.y)return!0;const Ei=[new V(fi,xi),new V(fi,ne),new V(Gi,ne),new V(Gi,xi)];if(oi.length>2){for(const Ni of Ei)if(Yc(oi,Ni))return!0}for(let Ni=0;Ni(ai||(ai=oc(oi)),fi.queryIntersectsFeature(_,oi,xi,ai,this.z,i.transform,m,i.pixelPosMatrix)))}return M}loadMatchingFeature(i,a,l,s,u,m,S,_,v,L,B){const T=this.bucketLayerIDs[a];if(m&&!function(J,ii){for(let ri=0;ri=0)return!0;return!1}(m,T))return;const N=this.sourceLayerCoder.decode(l),M=this.vtLayers[N].feature(s);if(u.needGeometry){const J=rc(M,!0);if(!u.filter(new pt(this.tileID.overscaledZ),J,this.tileID.canonical))return}else if(!u.filter(new pt(this.tileID.overscaledZ),M))return;const O=this.getId(M,N);for(let J=0;J{const S=i instanceof $c?i.get(m):null;return S&&S.evaluate?S.evaluate(a,l,s):S})}function Ju(t){let i=1/0,a=1/0,l=-1/0,s=-1/0;for(const u of t)i=Math.min(i,u.x),a=Math.min(a,u.y),l=Math.max(l,u.x),s=Math.max(s,u.y);return{minX:i,minY:a,maxX:l,maxY:s}}function Ym(t,i){return i-t}function Zu(t,i,a,l,s){const u=[];for(let m=0;m=l&&B.x>=l||(L.x>=l?L=new V(l,L.y+(l-L.x)/(B.x-L.x)*(B.y-L.y))._round():B.x>=l&&(B=new V(l,L.y+(l-L.x)/(B.x-L.x)*(B.y-L.y))._round()),L.y>=s&&B.y>=s||(L.y>=s?L=new V(L.x+(s-L.y)/(B.y-L.y)*(B.x-L.x),s)._round():B.y>=s&&(B=new V(L.x+(s-L.y)/(B.y-L.y)*(B.x-L.x),s)._round()),_&&L.equals(_[_.length-1])||(_=[L],u.push(_)),_.push(B)))))}}return u}Zi("FeatureIndex",Uu,{omit:["rawTileData","sourceLayerCoder"]});class Dl extends V{constructor(i,a,l,s){super(i,a),this.angle=l,s!==void 0&&(this.segment=s)}clone(){return new Dl(this.x,this.y,this.angle,this.segment)}}function Wu(t,i,a,l,s){if(i.segment===void 0||a===0)return!0;let u=i,m=i.segment+1,S=0;for(;S>-a/2;){if(m--,m<0)return!1;S-=t[m].dist(u),u=t[m]}S+=t[m].dist(t[m+1]),m++;const _=[];let v=0;for(;Sl;)v-=_.shift().angleDelta;if(v>s)return!1;m++,S+=L.dist(B)}return!0}function Xu(t){let i=0;for(let a=0;av){const M=(v-_)/N,O=Ha.number(B.x,T.x,M),J=Ha.number(B.y,T.y,M),ii=new Dl(O,J,T.angleTo(B),L);return ii._round(),!m||Wu(t,ii,S,m,i)?ii:void 0}_+=N}}function ih(t,i,a,l,s,u,m,S,_){const v=Yu(l,u,m),L=Qu(l,s),B=L*m,T=t[0].x===0||t[0].x===_||t[0].y===0||t[0].y===_;return i-B=0&&oi<_&&fi>=0&&fi<_&&T-v>=0&&T+v<=L){const xi=new Dl(oi,fi,ri,M);xi._round(),l&&!Wu(t,xi,u,l,s)||N.push(xi)}}B+=ii}return S||N.length||m||(N=id(t,B/2,a,l,s,u,m,!0,_)),N}Zi("Anchor",Dl);const cs=$a;function ed(t,i,a,l){const s=[],u=t.image,m=u.pixelRatio,S=u.paddedRect.w-2*cs,_=u.paddedRect.h-2*cs;let v={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const L=u.stretchX||[[0,S]],B=u.stretchY||[[0,_]],T=(Ii,te)=>Ii+te[1]-te[0],N=L.reduce(T,0),M=B.reduce(T,0),O=S-N,J=_-M;let ii=0,ri=N,ai=0,oi=M,fi=0,xi=O,Gi=0,ne=J;if(u.content&&l){const Ii=u.content,te=Ii[2]-Ii[0],Qi=Ii[3]-Ii[1];(u.textFitWidth||u.textFitHeight)&&(v=Lu(t)),ii=Er(L,0,Ii[0]),ai=Er(B,0,Ii[1]),ri=Er(L,Ii[0],Ii[2]),oi=Er(B,Ii[1],Ii[3]),fi=Ii[0]-ii,Gi=Ii[1]-ai,xi=te-ri,ne=Qi-oi}const Ei=v.x1,Ni=v.y1,ie=v.x2-Ei,Wi=v.y2-Ni,Ji=(Ii,te,Qi,ge)=>{const nt=qr(Ii.stretch-ii,ri,ie,Ei),tt=Hr(Ii.fixed-fi,xi,Ii.stretch,N),aa=qr(te.stretch-ai,oi,Wi,Ni),xn=Hr(te.fixed-Gi,ne,te.stretch,M),ga=qr(Qi.stretch-ii,ri,ie,Ei),Rt=Hr(Qi.fixed-fi,xi,Qi.stretch,N),Ra=qr(ge.stretch-ai,oi,Wi,Ni),Da=Hr(ge.fixed-Gi,ne,ge.stretch,M),Na=new V(nt,aa),Dt=new V(ga,aa),na=new V(ga,Ra),Aa=new V(nt,Ra),Sa=new V(tt/m,xn/m),Ga=new V(Rt/m,Da/m),Ia=i*Math.PI/180;if(Ia){const Ke=Math.sin(Ia),ut=Math.cos(Ia),St=[ut,-Ke,Ke,ut];Na._matMult(St),Dt._matMult(St),Aa._matMult(St),na._matMult(St)}const mn=Ii.stretch+Ii.fixed,Ua=te.stretch+te.fixed;return{tl:Na,tr:Dt,bl:Aa,br:na,tex:{x:u.paddedRect.x+cs+mn,y:u.paddedRect.y+cs+Ua,w:Qi.stretch+Qi.fixed-mn,h:ge.stretch+ge.fixed-Ua},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Sa,pixelOffsetBR:Ga,minFontScaleX:xi/m/ie,minFontScaleY:ne/m/Wi,isSDF:a}};if(l&&(u.stretchX||u.stretchY)){const Ii=td(L,O,N),te=td(B,J,M);for(let Qi=0;Qi0&&(O=Math.max(10,O),this.circleDiameter=O)}else{const T=!((B=m.image)===null||B===void 0)&&B.content&&(m.image.textFitWidth||m.image.textFitHeight)?Lu(m):{x1:m.left,y1:m.top,x2:m.right,y2:m.bottom};T.y1=T.y1*S-_[0],T.y2=T.y2*S+_[2],T.x1=T.x1*S-_[3],T.x2=T.x2*S+_[1];const N=m.collisionPadding;if(N&&(T.x1-=N[0]*S,T.y1-=N[1]*S,T.x2+=N[2]*S,T.y2+=N[3]*S),L){const M=new V(T.x1,T.y1),O=new V(T.x2,T.y1),J=new V(T.x1,T.y2),ii=new V(T.x2,T.y2),ri=L*Math.PI/180;M._rotate(ri),O._rotate(ri),J._rotate(ri),ii._rotate(ri),T.x1=Math.min(M.x,O.x,J.x,ii.x),T.x2=Math.max(M.x,O.x,J.x,ii.x),T.y1=Math.min(M.y,O.y,J.y,ii.y),T.y2=Math.max(M.y,O.y,J.y,ii.y)}i.emplaceBack(a.x,a.y,T.x1,T.y1,T.x2,T.y2,l,s,u)}this.boxEndIndex=i.length}}class eh{constructor(i=[],a=th){if(this.data=i,this.length=this.data.length,this.compare=a,this.length>0)for(let l=(this.length>>1)-1;l>=0;l--)this._down(l)}push(i){this.data.push(i),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const i=this.data[0],a=this.data.pop();return this.length--,this.length>0&&(this.data[0]=a,this._down(0)),i}peek(){return this.data[0]}_up(i){const{data:a,compare:l}=this,s=a[i];for(;i>0;){const u=i-1>>1,m=a[u];if(l(s,m)>=0)break;a[i]=m,i=u}a[i]=s}_down(i){const{data:a,compare:l}=this,s=this.length>>1,u=a[i];for(;i=0)break;a[i]=S,i=m}a[i]=u}}function th(t,i){return ti?1:0}function ah(t,i=1,a=!1){let l=1/0,s=1/0,u=-1/0,m=-1/0;const S=t[0];for(let N=0;Nu)&&(u=M.x),(!N||M.y>m)&&(m=M.y)}const _=Math.min(u-l,m-s);let v=_/2;const L=new eh([],nh);if(_===0)return new V(l,s);for(let N=l;NB.d||!B.d)&&(B=N,a&&console.log("found best %d after %d probes",Math.round(1e4*N.d)/1e4,T)),N.max-B.d<=i||(v=N.h/2,L.push(new ss(N.p.x-v,N.p.y-v,v,t)),L.push(new ss(N.p.x+v,N.p.y-v,v,t)),L.push(new ss(N.p.x-v,N.p.y+v,v,t)),L.push(new ss(N.p.x+v,N.p.y+v,v,t)),T+=4)}return a&&(console.log(`num probes: ${T}`),console.log(`best distance: ${B.d}`)),B.p}function nh(t,i){return i.max-t.max}function ss(t,i,a,l){this.p=new V(t,i),this.h=a,this.d=function(s,u){let m=!1,S=1/0;for(let _=0;_s.y!=M.y>s.y&&s.x<(M.x-N.x)*(s.y-N.y)/(M.y-N.y)+N.x&&(m=!m),S=Math.min(S,zp(s,N,M))}}return(m?1:-1)*Math.sqrt(S)}(this.p,l),this.max=this.d+this.h*Math.SQRT2}var fa;w.ar=void 0,(fa=w.ar||(w.ar={}))[fa.center=1]="center",fa[fa.left=2]="left",fa[fa.right=3]="right",fa[fa.top=4]="top",fa[fa.bottom=5]="bottom",fa[fa["top-left"]=6]="top-left",fa[fa["top-right"]=7]="top-right",fa[fa["bottom-left"]=8]="bottom-left",fa[fa["bottom-right"]=9]="bottom-right";const Nl=7,ep=Number.POSITIVE_INFINITY;function ad(t,i){return i[1]!==ep?function(a,l,s){let u=0,m=0;switch(l=Math.abs(l),s=Math.abs(s),a){case"top-right":case"top-left":case"top":m=s-Nl;break;case"bottom-right":case"bottom-left":case"bottom":m=-s+Nl}switch(a){case"top-right":case"bottom-right":case"right":u=-l;break;case"top-left":case"bottom-left":case"left":u=l}return[u,m]}(t,i[0],i[1]):function(a,l){let s=0,u=0;l<0&&(l=0);const m=l/Math.SQRT2;switch(a){case"top-right":case"top-left":u=m-Nl;break;case"bottom-right":case"bottom-left":u=-m+Nl;break;case"bottom":u=-l+Nl;break;case"top":u=l-Nl}switch(a){case"top-right":case"bottom-right":s=-m;break;case"top-left":case"bottom-left":s=m;break;case"left":s=l;break;case"right":s=-l}return[s,u]}(t,i[0])}function nd(t,i,a){var l;const s=t.layout,u=(l=s.get("text-variable-anchor-offset"))===null||l===void 0?void 0:l.evaluate(i,{},a);if(u){const S=u.values,_=[];for(let v=0;vT*Yt);L.startsWith("top")?B[1]-=Nl:L.startsWith("bottom")&&(B[1]+=Nl),_[v+1]=B}return new qa(_)}const m=s.get("text-variable-anchor");if(m){let S;S=t._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[s.get("text-radial-offset").evaluate(i,{},a)*Yt,ep]:s.get("text-offset").evaluate(i,{},a).map(v=>v*Yt);const _=[];for(const v of m)_.push(v,ad(v,S));return new qa(_)}return null}function tp(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function lh(t,i,a,l,s,u,m,S,_,v,L){let B=u.textMaxSize.evaluate(i,{});B===void 0&&(B=m);const T=t.layers[0].layout,N=T.get("icon-offset").evaluate(i,{},L),M=cd(a.horizontal),O=m/24,J=t.tilePixelRatio*O,ii=t.tilePixelRatio*B/24,ri=t.tilePixelRatio*S,ai=t.tilePixelRatio*T.get("symbol-spacing"),oi=T.get("text-padding")*t.tilePixelRatio,fi=function(Ii,te,Qi,ge=1){const nt=Ii.get("icon-padding").evaluate(te,{},Qi),tt=nt&&nt.values;return[tt[0]*ge,tt[1]*ge,tt[2]*ge,tt[3]*ge]}(T,i,L,t.tilePixelRatio),xi=T.get("text-max-angle")/180*Math.PI,Gi=T.get("text-rotation-alignment")!=="viewport"&&T.get("symbol-placement")!=="point",ne=T.get("icon-rotation-alignment")==="map"&&T.get("symbol-placement")!=="point",Ei=T.get("symbol-placement"),Ni=ai/2,ie=T.get("icon-text-fit");let Wi;l&&ie!=="none"&&(t.allowVerticalPlacement&&a.vertical&&(Wi=Bu(l,a.vertical,ie,T.get("icon-text-fit-padding"),N,O)),M&&(l=Bu(l,M,ie,T.get("icon-text-fit-padding"),N,O)));const Ji=(Ii,te)=>{te.x<0||te.x>=$t||te.y<0||te.y>=$t||function(Qi,ge,nt,tt,aa,xn,ga,Rt,Ra,Da,Na,Dt,na,Aa,Sa,Ga,Ia,mn,Ua,Ke,ut,St,en,Bt,os){const Kn=Qi.addToLineVertexArray(ge,nt);let Jn,jn,hn,sa,ul=0,Co=0,pd=0,ud=0,pp=-1,up=-1;const dl={};let dd=Wc("");if(Qi.allowVerticalPlacement&&tt.vertical){const La=Rt.layout.get("text-rotate").evaluate(ut,{},Bt)+90;hn=new Vr(Ra,ge,Da,Na,Dt,tt.vertical,na,Aa,Sa,La),ga&&(sa=new Vr(Ra,ge,Da,Na,Dt,ga,Ia,mn,Sa,La))}if(aa){const La=Rt.layout.get("icon-rotate").evaluate(ut,{}),fn=Rt.layout.get("icon-text-fit")!=="none",uc=ed(aa,La,en,fn),Dn=ga?ed(ga,La,en,fn):void 0;jn=new Vr(Ra,ge,Da,Na,Dt,aa,Ia,mn,!1,La),ul=4*uc.length;const dc=Qi.iconSizeData;let Zn=null;dc.kind==="source"?(Zn=[Un*Rt.layout.get("icon-size").evaluate(ut,{})],Zn[0]>Tl&&qe(`${Qi.layerIds[0]}: Value for "icon-size" is >= ${vo}. Reduce your "icon-size".`)):dc.kind==="composite"&&(Zn=[Un*St.compositeIconSizes[0].evaluate(ut,{},Bt),Un*St.compositeIconSizes[1].evaluate(ut,{},Bt)],(Zn[0]>Tl||Zn[1]>Tl)&&qe(`${Qi.layerIds[0]}: Value for "icon-size" is >= ${vo}. Reduce your "icon-size".`)),Qi.addSymbols(Qi.icon,uc,Zn,Ke,Ua,ut,w.ai.none,ge,Kn.lineStartIndex,Kn.lineLength,-1,Bt),pp=Qi.icon.placedSymbolArray.length-1,Dn&&(Co=4*Dn.length,Qi.addSymbols(Qi.icon,Dn,Zn,Ke,Ua,ut,w.ai.vertical,ge,Kn.lineStartIndex,Kn.lineLength,-1,Bt),up=Qi.icon.placedSymbolArray.length-1)}const yd=Object.keys(tt.horizontal);for(const La of yd){const fn=tt.horizontal[La];if(!Jn){dd=Wc(fn.text);const Dn=Rt.layout.get("text-rotate").evaluate(ut,{},Bt);Jn=new Vr(Ra,ge,Da,Na,Dt,fn,na,Aa,Sa,Dn)}const uc=fn.positionedLines.length===1;if(pd+=ld(Qi,ge,fn,xn,Rt,Sa,ut,Ga,Kn,tt.vertical?w.ai.horizontal:w.ai.horizontalOnly,uc?yd:[La],dl,pp,St,Bt),uc)break}tt.vertical&&(ud+=ld(Qi,ge,tt.vertical,xn,Rt,Sa,ut,Ga,Kn,w.ai.vertical,["vertical"],dl,up,St,Bt));const oh=Jn?Jn.boxStartIndex:Qi.collisionBoxArray.length,rh=Jn?Jn.boxEndIndex:Qi.collisionBoxArray.length,ph=hn?hn.boxStartIndex:Qi.collisionBoxArray.length,uh=hn?hn.boxEndIndex:Qi.collisionBoxArray.length,dh=jn?jn.boxStartIndex:Qi.collisionBoxArray.length,yh=jn?jn.boxEndIndex:Qi.collisionBoxArray.length,mh=sa?sa.boxStartIndex:Qi.collisionBoxArray.length,hh=sa?sa.boxEndIndex:Qi.collisionBoxArray.length;let Rn=-1;const $r=(La,fn)=>La&&La.circleDiameter?Math.max(La.circleDiameter,fn):fn;Rn=$r(Jn,Rn),Rn=$r(hn,Rn),Rn=$r(jn,Rn),Rn=$r(sa,Rn);const md=Rn>-1?1:0;md&&(Rn*=os/Yt),Qi.glyphOffsetArray.length>=ls.MAX_GLYPHS&&qe("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),ut.sortKey!==void 0&&Qi.addToSortKeyRanges(Qi.symbolInstances.length,ut.sortKey);const fh=nd(Rt,ut,Bt),[gh,Sh]=function(La,fn){const uc=La.length,Dn=fn==null?void 0:fn.values;if((Dn==null?void 0:Dn.length)>0)for(let dc=0;dc=0?dl.right:-1,dl.center>=0?dl.center:-1,dl.left>=0?dl.left:-1,dl.vertical||-1,pp,up,dd,oh,rh,ph,uh,dh,yh,mh,hh,Da,pd,ud,ul,Co,md,0,na,Rn,gh,Sh)}(t,te,Ii,a,l,s,Wi,t.layers[0],t.collisionBoxArray,i.index,i.sourceLayerIndex,t.index,J,[oi,oi,oi,oi],Gi,_,ri,fi,ne,N,i,u,v,L,m)};if(Ei==="line")for(const Ii of Zu(i.geometry,0,0,$t,$t)){const te=ih(Ii,ai,xi,a.vertical||M,l,24,ii,t.overscaling,$t);for(const Qi of te)M&&ch(t,M.text,Ni,Qi)||Ji(Ii,Qi)}else if(Ei==="line-center"){for(const Ii of i.geometry)if(Ii.length>1){const te=Qm(Ii,xi,a.vertical||M,l,24,ii);te&&Ji(Ii,te)}}else if(i.type==="Polygon")for(const Ii of Ac(i.geometry,0)){const te=ah(Ii,16);Ji(Ii[0],new Dl(te.x,te.y,0))}else if(i.type==="LineString")for(const Ii of i.geometry)Ji(Ii,new Dl(Ii[0].x,Ii[0].y,0));else if(i.type==="Point")for(const Ii of i.geometry)for(const te of Ii)Ji([te],new Dl(te.x,te.y,0))}function ld(t,i,a,l,s,u,m,S,_,v,L,B,T,N,M){const O=function(ri,ai,oi,fi,xi,Gi,ne,Ei){const Ni=fi.layout.get("text-rotate").evaluate(Gi,{})*Math.PI/180,ie=[];for(const Wi of ai.positionedLines)for(const Ji of Wi.positionedGlyphs){if(!Ji.rect)continue;const Ii=Ji.rect||{};let te=ku+1,Qi=!0,ge=1,nt=0;const tt=(xi||Ei)&&Ji.vertical,aa=Ji.metrics.advance*Ji.scale/2;if(Ei&&ai.verticalizable&&(nt=Wi.lineOffset/2-(Ji.imageName?-(Yt-Ji.metrics.width*Ji.scale)/2:(Ji.scale-1)*Yt)),Ji.imageName){const Ke=ne[Ji.imageName];Qi=Ke.sdf,ge=Ke.pixelRatio,te=$a/ge}const xn=xi?[Ji.x+aa,Ji.y]:[0,0];let ga=xi?[0,0]:[Ji.x+aa+oi[0],Ji.y+oi[1]-nt],Rt=[0,0];tt&&(Rt=ga,ga=[0,0]);const Ra=Ji.metrics.isDoubleResolution?2:1,Da=(Ji.metrics.left-te)*Ji.scale-aa+ga[0],Na=(-Ji.metrics.top-te)*Ji.scale+ga[1],Dt=Da+Ii.w/Ra*Ji.scale/ge,na=Na+Ii.h/Ra*Ji.scale/ge,Aa=new V(Da,Na),Sa=new V(Dt,Na),Ga=new V(Da,na),Ia=new V(Dt,na);if(tt){const Ke=new V(-aa,aa-jo),ut=-Math.PI/2,St=Yt/2-aa,en=new V(5-jo-St,-(Ji.imageName?St:0)),Bt=new V(...Rt);Aa._rotateAround(ut,Ke)._add(en)._add(Bt),Sa._rotateAround(ut,Ke)._add(en)._add(Bt),Ga._rotateAround(ut,Ke)._add(en)._add(Bt),Ia._rotateAround(ut,Ke)._add(en)._add(Bt)}if(Ni){const Ke=Math.sin(Ni),ut=Math.cos(Ni),St=[ut,-Ke,Ke,ut];Aa._matMult(St),Sa._matMult(St),Ga._matMult(St),Ia._matMult(St)}const mn=new V(0,0),Ua=new V(0,0);ie.push({tl:Aa,tr:Sa,bl:Ga,br:Ia,tex:Ii,writingMode:ai.writingMode,glyphOffset:xn,sectionIndex:Ji.sectionIndex,isSDF:Qi,pixelOffsetTL:mn,pixelOffsetBR:Ua,minFontScaleX:0,minFontScaleY:0})}return ie}(0,a,S,s,u,m,l,t.allowVerticalPlacement),J=t.textSizeData;let ii=null;J.kind==="source"?(ii=[Un*s.layout.get("text-size").evaluate(m,{})],ii[0]>Tl&&qe(`${t.layerIds[0]}: Value for "text-size" is >= ${vo}. Reduce your "text-size".`)):J.kind==="composite"&&(ii=[Un*N.compositeTextSizes[0].evaluate(m,{},M),Un*N.compositeTextSizes[1].evaluate(m,{},M)],(ii[0]>Tl||ii[1]>Tl)&&qe(`${t.layerIds[0]}: Value for "text-size" is >= ${vo}. Reduce your "text-size".`)),t.addSymbols(t.text,O,ii,S,u,m,v,i,_.lineStartIndex,_.lineLength,T,M);for(const ri of L)B[ri]=t.text.placedSymbolArray.length-1;return 4*O.length}function cd(t){for(const i in t)return t[i];return null}function ch(t,i,a,l){const s=t.compareText;if(i in s){const u=s[i];for(let m=u.length-1;m>=0;m--)if(l.dist(u[m])>4;if(s!==1)throw new Error(`Got v${s} data when expected v1.`);const u=sd[15&l];if(!u)throw new Error("Unrecognized array type.");const[m]=new Uint16Array(i,2,1),[S]=new Uint32Array(i,4,1);return new ap(S,m,u,i)}constructor(i,a=64,l=Float64Array,s){if(isNaN(i)||i<0)throw new Error(`Unpexpected numItems value: ${i}.`);this.numItems=+i,this.nodeSize=Math.min(Math.max(+a,2),65535),this.ArrayType=l,this.IndexArrayType=i<65536?Uint16Array:Uint32Array;const u=sd.indexOf(this.ArrayType),m=2*i*this.ArrayType.BYTES_PER_ELEMENT,S=i*this.IndexArrayType.BYTES_PER_ELEMENT,_=(8-S%8)%8;if(u<0)throw new Error(`Unexpected typed array class: ${l}.`);s&&s instanceof ArrayBuffer?(this.data=s,this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+S+_,2*i),this._pos=2*i,this._finished=!0):(this.data=new ArrayBuffer(8+m+S+_),this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+S+_,2*i),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+u]),new Uint16Array(this.data,2,1)[0]=a,new Uint32Array(this.data,4,1)[0]=i)}add(i,a){const l=this._pos>>1;return this.ids[l]=l,this.coords[this._pos++]=i,this.coords[this._pos++]=a,l}finish(){const i=this._pos>>1;if(i!==this.numItems)throw new Error(`Added ${i} items when expected ${this.numItems}.`);return np(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(i,a,l,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:u,coords:m,nodeSize:S}=this,_=[0,u.length-1,0],v=[];for(;_.length;){const L=_.pop()||0,B=_.pop()||0,T=_.pop()||0;if(B-T<=S){for(let J=T;J<=B;J++){const ii=m[2*J],ri=m[2*J+1];ii>=i&&ii<=l&&ri>=a&&ri<=s&&v.push(u[J])}continue}const N=T+B>>1,M=m[2*N],O=m[2*N+1];M>=i&&M<=l&&O>=a&&O<=s&&v.push(u[N]),(L===0?i<=M:a<=O)&&(_.push(T),_.push(N-1),_.push(1-L)),(L===0?l>=M:s>=O)&&(_.push(N+1),_.push(B),_.push(1-L))}return v}within(i,a,l){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:u,nodeSize:m}=this,S=[0,s.length-1,0],_=[],v=l*l;for(;S.length;){const L=S.pop()||0,B=S.pop()||0,T=S.pop()||0;if(B-T<=m){for(let J=T;J<=B;J++)rd(u[2*J],u[2*J+1],i,a)<=v&&_.push(s[J]);continue}const N=T+B>>1,M=u[2*N],O=u[2*N+1];rd(M,O,i,a)<=v&&_.push(s[N]),(L===0?i-l<=M:a-l<=O)&&(S.push(T),S.push(N-1),S.push(1-L)),(L===0?i+l>=M:a+l>=O)&&(S.push(N+1),S.push(B),S.push(1-L))}return _}}function np(t,i,a,l,s,u){if(s-l<=a)return;const m=l+s>>1;od(t,i,m,l,s,u),np(t,i,a,l,m-1,1-u),np(t,i,a,m+1,s,1-u)}function od(t,i,a,l,s,u){for(;s>l;){if(s-l>600){const v=s-l+1,L=a-l+1,B=Math.log(v),T=.5*Math.exp(2*B/3),N=.5*Math.sqrt(B*T*(v-T)/v)*(L-v/2<0?-1:1);od(t,i,a,Math.max(l,Math.floor(a-L*T/v+N)),Math.min(s,Math.floor(a+(v-L)*T/v+N)),u)}const m=i[2*a+u];let S=l,_=s;for(Lo(t,i,l,a),i[2*s+u]>m&&Lo(t,i,l,s);S<_;){for(Lo(t,i,S,_),S++,_--;i[2*S+u]m;)_--}i[2*l+u]===m?Lo(t,i,l,_):(_++,Lo(t,i,_,s)),_<=a&&(l=_+1),a<=_&&(s=_-1)}}function Lo(t,i,a,l){lp(t,a,l),lp(i,2*a,2*l),lp(i,2*a+1,2*l+1)}function lp(t,i,a){const l=t[i];t[i]=t[a],t[a]=l}function rd(t,i,a,l){const s=t-a,u=i-l;return s*s+u*u}var cp;w.bf=void 0,(cp=w.bf||(w.bf={})).create="create",cp.load="load",cp.fullLoad="fullLoad";let Or=null,Bo=[];const sp=1e3/60,op="loadTime",rp="fullLoadTime",sh={mark(t){performance.mark(t)},frame(t){const i=t;Or!=null&&Bo.push(i-Or),Or=i},clearMetrics(){Or=null,Bo=[],performance.clearMeasures(op),performance.clearMeasures(rp);for(const t in w.bf)performance.clearMarks(w.bf[t])},getPerformanceMetrics(){performance.measure(op,w.bf.create,w.bf.load),performance.measure(rp,w.bf.create,w.bf.fullLoad);const t=performance.getEntriesByName(op)[0].duration,i=performance.getEntriesByName(rp)[0].duration,a=Bo.length,l=1/(Bo.reduce((u,m)=>u+m,0)/a/1e3),s=Bo.filter(u=>u>sp).reduce((u,m)=>u+(m-sp)/sp,0);return{loadTime:t,fullLoadTime:i,fps:l,percentDroppedFrames:s/(a+s)*100,totalFrames:a}}};w.$=class extends q{},w.A=Qc,w.B=eo,w.C=function(t){if(Gt==null){const i=t.navigator?t.navigator.userAgent:null;Gt=!!t.safari||!(!i||!(/\b(iPad|iPhone|iPod)\b/.test(i)||i.match("Safari")&&!i.match("Chrome")))}return Gt},w.D=ee,w.E=At,w.F=class{constructor(t,i){this.target=t,this.mapId=i,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Xm(()=>this.process()),this.subscription=function(a,l,s,u){return a.addEventListener(l,s,!1),{unsubscribe:()=>{a.removeEventListener(l,s,!1)}}}(this.target,"message",a=>this.receive(a)),this.globalScope=Le(self)?t:window}registerMessageHandler(t,i){this.messageHandlers[t]=i}sendAsync(t,i){return new Promise((a,l)=>{const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[s]={resolve:a,reject:l},i&&i.signal.addEventListener("abort",()=>{delete this.resolveRejects[s];const S={id:s,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(S)},{once:!0});const u=[],m=Object.assign(Object.assign({},t),{id:s,sourceMapId:this.mapId,origin:location.origin,data:nc(t.data,u)});this.target.postMessage(m,{transfer:u})})}receive(t){const i=t.data,a=i.id;if(!(i.origin!=="file://"&&location.origin!=="file://"&&i.origin!==location.origin||i.targetMapId&&this.mapId!==i.targetMapId)){if(i.type===""){delete this.tasks[a];const l=this.abortControllers[a];return delete this.abortControllers[a],void(l&&l.abort())}if(Le(self)||i.mustQueue)return this.tasks[a]=i,this.taskQueue.push(a),void this.invoker.trigger();this.processTask(a,i)}}process(){if(this.taskQueue.length===0)return;const t=this.taskQueue.shift(),i=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),i&&this.processTask(t,i)}processTask(t,i){return r(this,void 0,void 0,function*(){if(i.type===""){const s=this.resolveRejects[t];return delete this.resolveRejects[t],s?void(i.error?s.reject(kn(i.error)):s.resolve(kn(i.data))):void 0}if(!this.messageHandlers[i.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${i.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const a=kn(i.data),l=new AbortController;this.abortControllers[t]=l;try{const s=yield this.messageHandlers[i.type](i.sourceMapId,a,l);this.completeTask(t,null,s)}catch(s){this.completeTask(t,s)}})}completeTask(t,i,a){const l=[];delete this.abortControllers[t];const s={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:i?nc(i):null,data:nc(a,l)};this.target.postMessage(s,{transfer:l})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},w.G=Ct,w.H=function(){var t=new Qc(16);return Qc!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},w.I=O0,w.J=function(t,i,a){var l,s,u,m,S,_,v,L,B,T,N,M,O=a[0],J=a[1],ii=a[2];return i===t?(t[12]=i[0]*O+i[4]*J+i[8]*ii+i[12],t[13]=i[1]*O+i[5]*J+i[9]*ii+i[13],t[14]=i[2]*O+i[6]*J+i[10]*ii+i[14],t[15]=i[3]*O+i[7]*J+i[11]*ii+i[15]):(s=i[1],u=i[2],m=i[3],S=i[4],_=i[5],v=i[6],L=i[7],B=i[8],T=i[9],N=i[10],M=i[11],t[0]=l=i[0],t[1]=s,t[2]=u,t[3]=m,t[4]=S,t[5]=_,t[6]=v,t[7]=L,t[8]=B,t[9]=T,t[10]=N,t[11]=M,t[12]=l*O+S*J+B*ii+i[12],t[13]=s*O+_*J+T*ii+i[13],t[14]=u*O+v*J+N*ii+i[14],t[15]=m*O+L*J+M*ii+i[15]),t},w.K=function(t,i,a){var l=a[0],s=a[1],u=a[2];return t[0]=i[0]*l,t[1]=i[1]*l,t[2]=i[2]*l,t[3]=i[3]*l,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=i[7]*s,t[8]=i[8]*u,t[9]=i[9]*u,t[10]=i[10]*u,t[11]=i[11]*u,t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},w.L=Vp,w.M=function(t,i){const a={};for(let l=0;l{const i=window.document.createElement("video");return i.muted=!0,new Promise(a=>{i.onloadstart=()=>{a(i)};for(const l of t){const s=window.document.createElement("source");Ht(l)||(i.crossOrigin="Anonymous"),s.src=l,i.appendChild(s)}})},w.a4=function(){return dt++},w.a5=Ae,w.a6=ls,w.a7=ba,w.a8=rc,w.a9=pt,w.aA=function(t){t=t.slice();const i=Object.create(null);for(let a=0;a{"source"in m&&l[m.source]?a.push({command:"removeLayer",args:[m.id]}):u.push(m)}),a=a.concat(s),function(m,S,_){S=S||[];const v=(m=m||[]).map(Xa),L=S.map(Xa),B=m.reduce(ea,{}),T=S.reduce(ea,{}),N=v.slice(),M=Object.create(null);let O,J,ii,ri,ai;for(let oi=0,fi=0;oi@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(a,l,s,u)=>{const m=s||u;return i[l]=!m||m.toLowerCase(),""}),i["max-age"]){const a=parseInt(i["max-age"],10);isNaN(a)?delete i["max-age"]:i["max-age"]=a}return i},w.ac=function(t,i){const a=[];for(const l in t)l in i||a.push(l);return a},w.ad=Ki,w.ae=function(t,i,a){var l=Math.sin(a),s=Math.cos(a),u=i[0],m=i[1],S=i[2],_=i[3],v=i[4],L=i[5],B=i[6],T=i[7];return i!==t&&(t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15]),t[0]=u*s+v*l,t[1]=m*s+L*l,t[2]=S*s+B*l,t[3]=_*s+T*l,t[4]=v*s-u*l,t[5]=L*s-m*l,t[6]=B*s-S*l,t[7]=T*s-_*l,t},w.af=function(t){var i=new Qc(16);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],i[9]=t[9],i[10]=t[10],i[11]=t[11],i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15],i},w.ag=Lr,w.ah=function(t,i){let a=0,l=0;if(t.kind==="constant")l=t.layoutSize;else if(t.kind!=="source"){const{interpolationType:s,minZoom:u,maxZoom:m}=t,S=s?Ki(Va.interpolationFactor(s,i,u,m),0,1):0;t.kind==="camera"?l=Ha.number(t.minSize,t.maxSize,S):a=S}return{uSizeT:a,uSize:l}},w.aj=function(t,{uSize:i,uSizeT:a},{lowerSize:l,upperSize:s}){return t.kind==="source"?l/Un:t.kind==="composite"?Ha.number(l/Un,s/Un,a):i},w.ak=J0,w.al=function(t,i,a,l){const s=i.y-t.y,u=i.x-t.x,m=l.y-a.y,S=l.x-a.x,_=m*u-S*s;if(_===0)return null;const v=(S*(t.y-a.y)-m*(t.x-a.x))/_;return new V(t.x+v*u,t.y+v*s)},w.am=Zu,w.an=Pp,w.ao=L0,w.ap=function(t){let i=1/0,a=1/0,l=-1/0,s=-1/0;for(const u of t)i=Math.min(i,u.x),a=Math.min(a,u.y),l=Math.max(l,u.x),s=Math.max(s,u.y);return[i,a,l,s]},w.aq=Yt,w.as=K0,w.at=function(t,i){var a=i[0],l=i[1],s=i[2],u=i[3],m=i[4],S=i[5],_=i[6],v=i[7],L=i[8],B=i[9],T=i[10],N=i[11],M=i[12],O=i[13],J=i[14],ii=i[15],ri=a*S-l*m,ai=a*_-s*m,oi=a*v-u*m,fi=l*_-s*S,xi=l*v-u*S,Gi=s*v-u*_,ne=L*O-B*M,Ei=L*J-T*M,Ni=L*ii-N*M,ie=B*J-T*O,Wi=B*ii-N*O,Ji=T*ii-N*J,Ii=ri*Ji-ai*Wi+oi*ie+fi*Ni-xi*Ei+Gi*ne;return Ii?(t[0]=(S*Ji-_*Wi+v*ie)*(Ii=1/Ii),t[1]=(s*Wi-l*Ji-u*ie)*Ii,t[2]=(O*Gi-J*xi+ii*fi)*Ii,t[3]=(T*xi-B*Gi-N*fi)*Ii,t[4]=(_*Ni-m*Ji-v*Ei)*Ii,t[5]=(a*Ji-s*Ni+u*Ei)*Ii,t[6]=(J*oi-M*Gi-ii*ai)*Ii,t[7]=(L*Gi-T*oi+N*ai)*Ii,t[8]=(m*Wi-S*Ni+v*ne)*Ii,t[9]=(l*Ni-a*Wi-u*ne)*Ii,t[10]=(M*xi-O*oi+ii*ri)*Ii,t[11]=(B*oi-L*xi-N*ri)*Ii,t[12]=(S*Ei-m*ie-_*ne)*Ii,t[13]=(a*ie-l*Ei+s*ne)*Ii,t[14]=(O*ai-M*fi-J*ri)*Ii,t[15]=(L*fi-B*ai+T*ri)*Ii,t):null},w.au=tp,w.av=U0,w.aw=ap,w.ax=function(){const t={},i=gi.$version;for(const a in gi.$root){const l=gi.$root[a];if(l.required){let s=null;s=a==="version"?i:l.type==="array"?[]:{},s!=null&&(t[a]=s)}}return t},w.ay=fr,w.az=jt,w.b=We,w.b0=function(t,i){return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},w.b1=function(t,i,a){return t[0]=i[0]*a[0],t[1]=i[1]*a[1],t[2]=i[2]*a[2],t[3]=i[3]*a[3],t},w.b2=function(t,i){return t[0]*i[0]+t[1]*i[1]+t[2]*i[2]+t[3]*i[3]},w.b3=de,w.b4=Hu,w.b5=Eu,w.b6=function(t,i,a,l,s){var u,m=1/Math.tan(i/2);return t[0]=m/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=m,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0?(t[10]=(s+l)*(u=1/(l-s)),t[14]=2*s*l*u):(t[10]=-1,t[14]=-2*l),t},w.b7=function(t,i,a){var l=Math.sin(a),s=Math.cos(a),u=i[4],m=i[5],S=i[6],_=i[7],v=i[8],L=i[9],B=i[10],T=i[11];return i!==t&&(t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15]),t[4]=u*s+v*l,t[5]=m*s+L*l,t[6]=S*s+B*l,t[7]=_*s+T*l,t[8]=v*s-u*l,t[9]=L*s-m*l,t[10]=B*s-S*l,t[11]=T*s-_*l,t},w.b8=Pi,w.b9=Ui,w.bA=function(t){return t.message===Ye},w.bB=nl,w.bC=Vn,w.ba=function(t){return t*Math.PI/180},w.bb=function(t,i){return t[0]=i[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=i[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},w.bc=class extends G{},w.bd=Y0,w.be=sh,w.bg=qt,w.bh=function(t,i){kt.REGISTERED_PROTOCOLS[t]=i},w.bi=function(t){delete kt.REGISTERED_PROTOCOLS[t]},w.bj=function(t,i){const a={};for(let s=0;sJi*Yt)}let Ei=m?"center":a.get("text-justify").evaluate(v,{},t.canonical);const Ni=a.get("symbol-placement")==="point"?a.get("text-max-width").evaluate(v,{},t.canonical)*Yt:1/0,ie=()=>{t.bucket.allowVerticalPlacement&&no(oi)&&(M.vertical=Nr(O,t.glyphMap,t.glyphPositions,t.imagePositions,L,Ni,u,Gi,"left",xi,ii,w.ai.vertical,!0,T,B))};if(!m&&ne){const Wi=new Set;if(Ei==="auto")for(let Ii=0;Iir(void 0,void 0,void 0,function*(){if(t.byteLength===0)return createImageBitmap(new ImageData(1,1));const i=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(i)}catch(a){throw new Error(`Could not load image because of ${a.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),w.e=ue,w.f=t=>new Promise((i,a)=>{const l=new Image;l.onload=()=>{i(l),URL.revokeObjectURL(l.src),l.onload=null,window.requestAnimationFrame(()=>{l.src=qi})},l.onerror=()=>a(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const s=new Blob([new Uint8Array(t)],{type:"image/png"});l.src=t.byteLength?URL.createObjectURL(s):qi}),w.g=st,w.h=(t,i)=>an(ue(t,{type:"json"}),i),w.i=Le,w.j=nn,w.k=Wa,w.l=(t,i)=>an(ue(t,{type:"arrayBuffer"}),i),w.m=an,w.n=function(t){return new H0(t).readFields(Nm,[])},w.o=go,w.p=_u,w.q=c,w.r=S0,w.s=Ht,w.t=to,w.u=Hi,w.v=gi,w.w=qe,w.x=Fn,w.y=function([t,i,a]){return i+=90,i*=Math.PI/180,a*=Math.PI/180,{x:t*Math.cos(i)*Math.sin(a),y:t*Math.sin(i)*Math.sin(a),z:t*Math.cos(a)}},w.z=Ha}),g("worker",["./shared"],function(w){class r{constructor(D){this.keyCache={},D&&this.replace(D)}replace(D){this._layerConfigs={},this._layers={},this.update(D,[])}update(D,R){for(const W of D){this._layerConfigs[W.id]=W;const li=this._layers[W.id]=w.aB(W);li._featureFilter=w.a7(li.filter),this.keyCache[W.id]&&delete this.keyCache[W.id]}for(const W of R)delete this.keyCache[W],delete this._layerConfigs[W],delete this._layers[W];this.familiesBySource={};const H=w.bj(Object.values(this._layerConfigs),this.keyCache);for(const W of H){const li=W.map(mi=>this._layers[mi.id]),ci=li[0];if(ci.visibility==="none")continue;const ui=ci.source||"";let ei=this.familiesBySource[ui];ei||(ei=this.familiesBySource[ui]={});const Si=ci.sourceLayer||"_geojsonTileLayer";let ki=ei[Si];ki||(ki=ei[Si]=[]),ki.push(li)}}}class P{constructor(D){const R={},H=[];for(const ui in D){const ei=D[ui],Si=R[ui]={};for(const ki in ei){const mi=ei[+ki];if(!mi||mi.bitmap.width===0||mi.bitmap.height===0)continue;const Ti={x:0,y:0,w:mi.bitmap.width+2,h:mi.bitmap.height+2};H.push(Ti),Si[ki]={rect:Ti,metrics:mi.metrics}}}const{w:W,h:li}=w.p(H),ci=new w.o({width:W||1,height:li||1});for(const ui in D){const ei=D[ui];for(const Si in ei){const ki=ei[+Si];if(!ki||ki.bitmap.width===0||ki.bitmap.height===0)continue;const mi=R[ui][Si].rect;w.o.copy(ki.bitmap,ci,{x:0,y:0},{x:mi.x+1,y:mi.y+1},ki.bitmap)}}this.image=ci,this.positions=R}}w.bk("GlyphAtlas",P);class z{constructor(D){this.tileID=new w.S(D.tileID.overscaledZ,D.tileID.wrap,D.tileID.canonical.z,D.tileID.canonical.x,D.tileID.canonical.y),this.uid=D.uid,this.zoom=D.zoom,this.pixelRatio=D.pixelRatio,this.tileSize=D.tileSize,this.source=D.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=D.showCollisionBoxes,this.collectResourceTiming=!!D.collectResourceTiming,this.returnDependencies=!!D.returnDependencies,this.promoteId=D.promoteId,this.inFlightDependencies=[]}parse(D,R,H,W){return w._(this,void 0,void 0,function*(){this.status="parsing",this.data=D,this.collisionBoxArray=new w.a5;const li=new w.bl(Object.keys(D.layers).sort()),ci=new w.bm(this.tileID,this.promoteId);ci.bucketLayerIDs=[];const ui={},ei={featureIndex:ci,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:H},Si=R.familiesBySource[this.source];for(const Ce in Si){const Qe=D.layers[Ce];if(!Qe)continue;Qe.version===1&&w.w(`Vector tile source "${this.source}" layer "${Ce}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const _t=li.encode(Ce),Wt=[];for(let oa=0;oa=ra.maxzoom||ra.visibility!=="none"&&(U(oa,this.zoom,H),(ui[ra.id]=ra.createBucket({index:ci.bucketLayerIDs.length,layers:oa,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_t,sourceID:this.source})).populate(Wt,ei,this.tileID.canonical),ci.bucketLayerIDs.push(oa.map(Pl=>Pl.id)))}}const ki=w.aG(ei.glyphDependencies,Ce=>Object.keys(Ce).map(Number));this.inFlightDependencies.forEach(Ce=>Ce==null?void 0:Ce.abort()),this.inFlightDependencies=[];let mi=Promise.resolve({});if(Object.keys(ki).length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),mi=W.sendAsync({type:"GG",data:{stacks:ki,source:this.source,tileID:this.tileID,type:"glyphs"}},Ce)}const Ti=Object.keys(ei.iconDependencies);let ae=Promise.resolve({});if(Ti.length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),ae=W.sendAsync({type:"GI",data:{icons:Ti,source:this.source,tileID:this.tileID,type:"icons"}},Ce)}const le=Object.keys(ei.patternDependencies);let be=Promise.resolve({});if(le.length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),be=W.sendAsync({type:"GI",data:{icons:le,source:this.source,tileID:this.tileID,type:"patterns"}},Ce)}const[$e,xe,ot]=yield Promise.all([mi,ae,be]),Lt=new P($e),Vt=new w.bn(xe,ot);for(const Ce in ui){const Qe=ui[Ce];Qe instanceof w.a6?(U(Qe.layers,this.zoom,H),w.bo({bucket:Qe,glyphMap:$e,glyphPositions:Lt.positions,imageMap:xe,imagePositions:Vt.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Qe.hasPattern&&(Qe instanceof w.bp||Qe instanceof w.bq||Qe instanceof w.br)&&(U(Qe.layers,this.zoom,H),Qe.addFeatures(ei,this.tileID.canonical,Vt.patternPositions))}return this.status="done",{buckets:Object.values(ui).filter(Ce=>!Ce.isEmpty()),featureIndex:ci,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Lt.image,imageAtlas:Vt,glyphMap:this.returnDependencies?$e:null,iconMap:this.returnDependencies?xe:null,glyphPositions:this.returnDependencies?Lt.positions:null}})}}function U(Y,D,R){const H=new w.a9(D);for(const W of Y)W.recalculate(H,R)}class V{constructor(D,R,H){this.actor=D,this.layerIndex=R,this.availableImages=H,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(D,R){return w._(this,void 0,void 0,function*(){const H=yield w.l(D.request,R);try{return{vectorTile:new w.bs.VectorTile(new w.bt(H.data)),rawData:H.data,cacheControl:H.cacheControl,expires:H.expires}}catch(W){const li=new Uint8Array(H.data);let ci=`Unable to parse the tile at ${D.request.url}, `;throw ci+=li[0]===31&&li[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${W.message}`,new Error(ci)}})}loadTile(D){return w._(this,void 0,void 0,function*(){const R=D.uid,H=!!(D&&D.request&&D.request.collectResourceTiming)&&new w.bu(D.request),W=new z(D);this.loading[R]=W;const li=new AbortController;W.abort=li;try{const ci=yield this.loadVectorTile(D,li);if(delete this.loading[R],!ci)return null;const ui=ci.rawData,ei={};ci.expires&&(ei.expires=ci.expires),ci.cacheControl&&(ei.cacheControl=ci.cacheControl);const Si={};if(H){const mi=H.finish();mi&&(Si.resourceTiming=JSON.parse(JSON.stringify(mi)))}W.vectorTile=ci.vectorTile;const ki=W.parse(ci.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[R]=W,this.fetching[R]={rawTileData:ui,cacheControl:ei,resourceTiming:Si};try{const mi=yield ki;return w.e({rawTileData:ui.slice(0)},mi,ei,Si)}finally{delete this.fetching[R]}}catch(ci){throw delete this.loading[R],W.status="done",this.loaded[R]=W,ci}})}reloadTile(D){return w._(this,void 0,void 0,function*(){const R=D.uid;if(!this.loaded||!this.loaded[R])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const H=this.loaded[R];if(H.showCollisionBoxes=D.showCollisionBoxes,H.status==="parsing"){const W=yield H.parse(H.vectorTile,this.layerIndex,this.availableImages,this.actor);let li;if(this.fetching[R]){const{rawTileData:ci,cacheControl:ui,resourceTiming:ei}=this.fetching[R];delete this.fetching[R],li=w.e({rawTileData:ci.slice(0)},W,ui,ei)}else li=W;return li}if(H.status==="done"&&H.vectorTile)return H.parse(H.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(D){return w._(this,void 0,void 0,function*(){const R=this.loading,H=D.uid;R&&R[H]&&R[H].abort&&(R[H].abort.abort(),delete R[H])})}removeTile(D){return w._(this,void 0,void 0,function*(){this.loaded&&this.loaded[D.uid]&&delete this.loaded[D.uid]})}}class E{constructor(){this.loaded={}}loadTile(D){return w._(this,void 0,void 0,function*(){const{uid:R,encoding:H,rawImageData:W,redFactor:li,greenFactor:ci,blueFactor:ui,baseShift:ei}=D,Si=W.width+2,ki=W.height+2,mi=w.b(W)?new w.R({width:Si,height:ki},yield w.bv(W,-1,-1,Si,ki)):W,Ti=new w.bw(R,mi,H,li,ci,ui,ei);return this.loaded=this.loaded||{},this.loaded[R]=Ti,Ti})}removeTile(D){const R=this.loaded,H=D.uid;R&&R[H]&&delete R[H]}}function _i(Y,D){if(Y.length!==0){ti(Y[0],D);for(var R=1;R=Math.abs(ui)?R-ei+ui:ui-ei+R,R=ei}R+H>=0!=!!D&&Y.reverse()}var hi=w.bx(function Y(D,R){var H,W=D&&D.type;if(W==="FeatureCollection")for(H=0;H>31}function Le(Y,D){for(var R=Y.loadGeometry(),H=Y.type,W=0,li=0,ci=R.length,ui=0;uiY},Kt=Math.fround||(fe=new Float32Array(1),Y=>(fe[0]=+Y,fe[0]));var fe;const ye=3,Ye=5,Jt=6;class kt{constructor(D){this.options=Object.assign(Object.create(qi),D),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(D){const{log:R,minZoom:H,maxZoom:W}=this.options;R&&console.time("total time");const li=`prepare ${D.length} points`;R&&console.time(li),this.points=D;const ci=[];for(let ei=0;ei=H;ei--){const Si=+Date.now();ui=this.trees[ei]=this._createTree(this._cluster(ui,ei)),R&&console.log("z%d: %d clusters in %dms",ei,ui.numItems,+Date.now()-Si)}return R&&console.timeEnd("total time"),this}getClusters(D,R){let H=((D[0]+180)%360+360)%360-180;const W=Math.max(-90,Math.min(90,D[1]));let li=D[2]===180?180:((D[2]+180)%360+360)%360-180;const ci=Math.max(-90,Math.min(90,D[3]));if(D[2]-D[0]>=360)H=-180,li=180;else if(H>li){const mi=this.getClusters([H,W,180,ci],R),Ti=this.getClusters([-180,W,li,ci],R);return mi.concat(Ti)}const ui=this.trees[this._limitZoom(R)],ei=ui.range(qt(H),jt(ci),qt(li),jt(W)),Si=ui.data,ki=[];for(const mi of ei){const Ti=this.stride*mi;ki.push(Si[Ti+Ye]>1?st(Si,Ti,this.clusterProps):this.points[Si[Ti+ye]])}return ki}getChildren(D){const R=this._getOriginId(D),H=this._getOriginZoom(D),W="No cluster with the specified id.",li=this.trees[H];if(!li)throw new Error(W);const ci=li.data;if(R*this.stride>=ci.length)throw new Error(W);const ui=this.options.radius/(this.options.extent*Math.pow(2,H-1)),ei=li.within(ci[R*this.stride],ci[R*this.stride+1],ui),Si=[];for(const ki of ei){const mi=ki*this.stride;ci[mi+4]===D&&Si.push(ci[mi+Ye]>1?st(ci,mi,this.clusterProps):this.points[ci[mi+ye]])}if(Si.length===0)throw new Error(W);return Si}getLeaves(D,R,H){const W=[];return this._appendLeaves(W,D,R=R||10,H=H||0,0),W}getTile(D,R,H){const W=this.trees[this._limitZoom(D)],li=Math.pow(2,D),{extent:ci,radius:ui}=this.options,ei=ui/ci,Si=(H-ei)/li,ki=(H+1+ei)/li,mi={features:[]};return this._addTileFeatures(W.range((R-ei)/li,Si,(R+1+ei)/li,ki),W.data,R,H,li,mi),R===0&&this._addTileFeatures(W.range(1-ei/li,Si,1,ki),W.data,li,H,li,mi),R===li-1&&this._addTileFeatures(W.range(0,Si,ei/li,ki),W.data,-1,H,li,mi),mi.features.length?mi:null}getClusterExpansionZoom(D){let R=this._getOriginZoom(D)-1;for(;R<=this.options.maxZoom;){const H=this.getChildren(D);if(R++,H.length!==1)break;D=H[0].properties.cluster_id}return R}_appendLeaves(D,R,H,W,li){const ci=this.getChildren(R);for(const ui of ci){const ei=ui.properties;if(ei&&ei.cluster?li+ei.point_count<=W?li+=ei.point_count:li=this._appendLeaves(D,ei.cluster_id,H,W,li):li1;let ki,mi,Ti;if(Si)ki=Ct(R,ei,this.clusterProps),mi=R[ei],Ti=R[ei+1];else{const be=this.points[R[ei+ye]];ki=be.properties;const[$e,xe]=be.geometry.coordinates;mi=qt($e),Ti=jt(xe)}const ae={type:1,geometry:[[Math.round(this.options.extent*(mi*li-H)),Math.round(this.options.extent*(Ti*li-W))]],tags:ki};let le;le=Si||this.options.generateId?R[ei+ye]:this.points[R[ei+ye]].id,le!==void 0&&(ae.id=le),ci.features.push(ae)}}_limitZoom(D){return Math.max(this.options.minZoom,Math.min(Math.floor(+D),this.options.maxZoom+1))}_cluster(D,R){const{radius:H,extent:W,reduce:li,minPoints:ci}=this.options,ui=H/(W*Math.pow(2,R)),ei=D.data,Si=[],ki=this.stride;for(let mi=0;miR&&($e+=ei[ot+Ye])}if($e>be&&$e>=ci){let xe,ot=Ti*be,Lt=ae*be,Vt=-1;const Ce=((mi/ki|0)<<5)+(R+1)+this.points.length;for(const Qe of le){const _t=Qe*ki;if(ei[_t+2]<=R)continue;ei[_t+2]=R;const Wt=ei[_t+Ye];ot+=ei[_t]*Wt,Lt+=ei[_t+1]*Wt,ei[_t+4]=Ce,li&&(xe||(xe=this._map(ei,mi,!0),Vt=this.clusterProps.length,this.clusterProps.push(xe)),li(xe,this._map(ei,_t)))}ei[mi+4]=Ce,Si.push(ot/$e,Lt/$e,1/0,Ce,-1,$e),li&&Si.push(Vt)}else{for(let xe=0;xe1)for(const xe of le){const ot=xe*ki;if(!(ei[ot+2]<=R)){ei[ot+2]=R;for(let Lt=0;Lt>5}_getOriginZoom(D){return(D-this.points.length)%32}_map(D,R,H){if(D[R+Ye]>1){const ci=this.clusterProps[D[R+Jt]];return H?Object.assign({},ci):ci}const W=this.points[D[R+ye]].properties,li=this.options.map(W);return H&&li===W?Object.assign({},li):li}}function st(Y,D,R){return{type:"Feature",id:Y[D+ye],properties:Ct(Y,D,R),geometry:{type:"Point",coordinates:[(H=Y[D],360*(H-.5)),an(Y[D+1])]}};var H}function Ct(Y,D,R){const H=Y[D+Ye],W=H>=1e4?`${Math.round(H/1e3)}k`:H>=1e3?Math.round(H/100)/10+"k":H,li=Y[D+Jt],ci=li===-1?{}:Object.assign({},R[li]);return Object.assign(ci,{cluster:!0,cluster_id:Y[D+ye],point_count:H,point_count_abbreviated:W})}function qt(Y){return Y/360+.5}function jt(Y){const D=Math.sin(Y*Math.PI/180),R=.5-.25*Math.log((1+D)/(1-D))/Math.PI;return R<0?0:R>1?1:R}function an(Y){const D=(180-360*Y)*Math.PI/180;return 360*Math.atan(Math.exp(D))/Math.PI-90}function Ht(Y,D,R,H){let W=H;const li=D+(R-D>>1);let ci,ui=R-D;const ei=Y[D],Si=Y[D+1],ki=Y[R],mi=Y[R+1];for(let Ti=D+3;TiW)ci=Ti,W=ae;else if(ae===W){const le=Math.abs(Ti-li);leH&&(ci-D>3&&Ht(Y,D,ci,H),Y[ci+2]=W,R-ci>3&&Ht(Y,ci,R,H))}function ia(Y,D,R,H,W,li){let ci=W-R,ui=li-H;if(ci!==0||ui!==0){const ei=((Y-R)*ci+(D-H)*ui)/(ci*ci+ui*ui);ei>1?(R=W,H=li):ei>0&&(R+=ci*ei,H+=ui*ei)}return ci=Y-R,ui=D-H,ci*ci+ui*ui}function la(Y,D,R,H){const W={id:Y??null,type:D,geometry:R,tags:H,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(D==="Point"||D==="MultiPoint"||D==="LineString")Wa(W,R);else if(D==="Polygon")Wa(W,R[0]);else if(D==="MultiLineString")for(const li of R)Wa(W,li);else if(D==="MultiPolygon")for(const li of R)Wa(W,li[0]);return W}function Wa(Y,D){for(let R=0;R0&&(ci+=H?(W*ki-Si*li)/2:Math.sqrt(Math.pow(Si-W,2)+Math.pow(ki-li,2))),W=Si,li=ki}const ui=D.length-3;D[2]=1,Ht(D,0,ui,R),D[ui+2]=1,D.size=Math.abs(ci),D.start=0,D.end=D.size}function ja(Y,D,R,H){for(let W=0;W1?1:R}function Xe(Y,D,R,H,W,li,ci,ui){if(H/=D,li>=(R/=D)&&ci=H)return null;const ei=[];for(const Si of Y){const ki=Si.geometry;let mi=Si.type;const Ti=W===0?Si.minX:Si.minY,ae=W===0?Si.maxX:Si.maxY;if(Ti>=R&&ae=H)continue;let le=[];if(mi==="Point"||mi==="MultiPoint")Gn(ki,le,R,H,W);else if(mi==="LineString")me(ki,le,R,H,W,!1,ui.lineMetrics);else if(mi==="MultiLineString")Pa(ki,le,R,H,W,!1);else if(mi==="Polygon")Pa(ki,le,R,H,W,!0);else if(mi==="MultiPolygon")for(const be of ki){const $e=[];Pa(be,$e,R,H,W,!0),$e.length&&le.push($e)}if(le.length){if(ui.lineMetrics&&mi==="LineString"){for(const be of le)ei.push(la(Si.id,mi,be,Si.tags));continue}mi!=="LineString"&&mi!=="MultiLineString"||(le.length===1?(mi="LineString",le=le[0]):mi="MultiLineString"),mi!=="Point"&&mi!=="MultiPoint"||(mi=le.length===3?"Point":"MultiPoint"),ei.push(la(Si.id,mi,le,Si.tags))}}return ei.length?ei:null}function Gn(Y,D,R,H,W){for(let li=0;li=R&&ci<=H&&Zt(D,Y[li],Y[li+1],Y[li+2])}}function me(Y,D,R,H,W,li,ci){let ui=Fe(Y);const ei=W===0?Xa:ea;let Si,ki,mi=Y.start;for(let $e=0;$eR&&(ki=ei(ui,xe,ot,Vt,Ce,R),ci&&(ui.start=mi+Si*ki)):Qe>H?_t=R&&(ki=ei(ui,xe,ot,Vt,Ce,R),Wt=!0),_t>H&&Qe<=H&&(ki=ei(ui,xe,ot,Vt,Ce,H),Wt=!0),!li&&Wt&&(ci&&(ui.end=mi+Si*ki),D.push(ui),ui=Fe(Y)),ci&&(mi+=Si)}let Ti=Y.length-3;const ae=Y[Ti],le=Y[Ti+1],be=W===0?ae:le;be>=R&&be<=H&&Zt(ui,ae,le,Y[Ti+2]),Ti=ui.length-3,li&&Ti>=3&&(ui[Ti]!==ui[0]||ui[Ti+1]!==ui[1])&&Zt(ui,ui[0],ui[1],ui[2]),ui.length&&D.push(ui)}function Fe(Y){const D=[];return D.size=Y.size,D.start=Y.start,D.end=Y.end,D}function Pa(Y,D,R,H,W,li){for(const ci of Y)me(ci,D,R,H,W,li,!1)}function Zt(Y,D,R,H){Y.push(D,R,H)}function Xa(Y,D,R,H,W,li){const ci=(li-D)/(H-D);return Zt(Y,li,R+(W-R)*ci,1),ci}function ea(Y,D,R,H,W,li){const ci=(li-R)/(W-R);return Zt(Y,D+(H-D)*ci,li,1),ci}function bi(Y,D){const R=[];for(let H=0;H0&&D.size<(W?ci:H))return void(R.numPoints+=D.length/3);const ui=[];for(let ei=0;eici)&&(R.numSimplified++,ui.push(D[ei],D[ei+1])),R.numPoints++;W&&function(ei,Si){let ki=0;for(let mi=0,Ti=ei.length,ae=Ti-2;mi0===Si)for(let mi=0,Ti=ei.length;mi24)throw new Error("maxZoom should be in the 0-24 range");if(R.promoteId&&R.generateId)throw new Error("promoteId and generateId cannot be used together.");let W=function(li,ci){const ui=[];if(li.type==="FeatureCollection")for(let ei=0;ei1&&console.time("creation"),ae=this.tiles[Ti]=ln(D,R,H,W,Si),this.tileCoords.push({z:R,x:H,y:W}),ki)){ki>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",R,H,W,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd("creation"));const Wt=`z${R}`;this.stats[Wt]=(this.stats[Wt]||0)+1,this.total++}if(ae.source=D,li==null){if(R===Si.indexMaxZoom||ae.numPoints<=Si.indexMaxPoints)continue}else{if(R===Si.maxZoom||R===li)continue;if(li!=null){const Wt=li-R;if(H!==ci>>Wt||W!==ui>>Wt)continue}}if(ae.source=null,D.length===0)continue;ki>1&&console.time("clipping");const le=.5*Si.buffer/Si.extent,be=.5-le,$e=.5+le,xe=1+le;let ot=null,Lt=null,Vt=null,Ce=null,Qe=Xe(D,mi,H-le,H+$e,0,ae.minX,ae.maxX,Si),_t=Xe(D,mi,H+be,H+xe,0,ae.minX,ae.maxX,Si);D=null,Qe&&(ot=Xe(Qe,mi,W-le,W+$e,1,ae.minY,ae.maxY,Si),Lt=Xe(Qe,mi,W+be,W+xe,1,ae.minY,ae.maxY,Si),Qe=null),_t&&(Vt=Xe(_t,mi,W-le,W+$e,1,ae.minY,ae.maxY,Si),Ce=Xe(_t,mi,W+be,W+xe,1,ae.minY,ae.maxY,Si),_t=null),ki>1&&console.timeEnd("clipping"),ei.push(ot||[],R+1,2*H,2*W),ei.push(Lt||[],R+1,2*H,2*W+1),ei.push(Vt||[],R+1,2*H+1,2*W),ei.push(Ce||[],R+1,2*H+1,2*W+1)}}getTile(D,R,H){D=+D,R=+R,H=+H;const W=this.options,{extent:li,debug:ci}=W;if(D<0||D>24)return null;const ui=1<1&&console.log("drilling down to z%d-%d-%d",D,R,H);let Si,ki=D,mi=R,Ti=H;for(;!Si&&ki>0;)ki--,mi>>=1,Ti>>=1,Si=this.tiles[cn(ki,mi,Ti)];return Si&&Si.source?(ci>1&&(console.log("found parent tile z%d-%d-%d",ki,mi,Ti),console.time("drilling down")),this.splitTile(Si.source,ki,mi,Ti,D,R,H),ci>1&&console.timeEnd("drilling down"),this.tiles[ei]?Tt(this.tiles[ei],li):null):null}}function cn(Y,D,R){return 32*((1<{mi.properties=ae;const le={};for(const be of Ti)le[be]=ei[be].evaluate(ki,mi);return le},ci.reduce=(ae,le)=>{mi.properties=le;for(const be of Ti)ki.accumulated=ae[be],ae[be]=Si[be].evaluate(ki,mi)},ci}(D)).load((yield this._pendingData).features):(W=yield this._pendingData,new Ba(W,D.geojsonVtOptions)),this.loaded={};const li={};if(H){const ci=H.finish();ci&&(li.resourceTiming={},li.resourceTiming[D.source]=JSON.parse(JSON.stringify(ci)))}return li}catch(li){if(delete this._pendingRequest,w.bA(li))return{abandoned:!0};throw li}var W})}getData(){return w._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(D){const R=this.loaded;return R&&R[D.uid]?super.reloadTile(D):this.loadTile(D)}loadAndProcessGeoJSON(D,R){return w._(this,void 0,void 0,function*(){let H=yield this.loadGeoJSON(D,R);if(delete this._pendingRequest,typeof H!="object")throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if(hi(H,!0),D.filter){const W=w.bB(D.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(W.result==="error")throw new Error(W.value.map(ci=>`${ci.key}: ${ci.message}`).join(", "));H={type:"FeatureCollection",features:H.features.filter(ci=>W.value.evaluate({zoom:0},ci))}}return H})}loadGeoJSON(D,R){return w._(this,void 0,void 0,function*(){const{promoteId:H}=D;if(D.request){const W=yield w.h(D.request,R);return this._dataUpdateable=gn(W.data,H)?An(W.data,H):void 0,W.data}if(typeof D.data=="string")try{const W=JSON.parse(D.data);return this._dataUpdateable=gn(W,H)?An(W,H):void 0,W}catch{throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`)}if(!D.dataDiff)throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${D.source}`);return function(W,li,ci){var ui,ei,Si,ki;if(li.removeAll&&W.clear(),li.remove)for(const mi of li.remove)W.delete(mi);if(li.add)for(const mi of li.add){const Ti=_e(mi,ci);Ti!=null&&W.set(Ti,mi)}if(li.update)for(const mi of li.update){let Ti=W.get(mi.id);if(Ti==null)continue;const ae=!mi.removeAllProperties&&(((ui=mi.removeProperties)===null||ui===void 0?void 0:ui.length)>0||((ei=mi.addOrUpdateProperties)===null||ei===void 0?void 0:ei.length)>0);if((mi.newGeometry||mi.removeAllProperties||ae)&&(Ti=Object.assign({},Ti),W.set(mi.id,Ti),ae&&(Ti.properties=Object.assign({},Ti.properties))),mi.newGeometry&&(Ti.geometry=mi.newGeometry),mi.removeAllProperties)Ti.properties={};else if(((Si=mi.removeProperties)===null||Si===void 0?void 0:Si.length)>0)for(const le of mi.removeProperties)Object.prototype.hasOwnProperty.call(Ti.properties,le)&&delete Ti.properties[le];if(((ki=mi.addOrUpdateProperties)===null||ki===void 0?void 0:ki.length)>0)for(const{key:le,value:be}of mi.addOrUpdateProperties)Ti.properties[le]=be}}(this._dataUpdateable,D.dataDiff,H),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(D){return w._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(D){return this._geoJSONIndex.getClusterExpansionZoom(D.clusterId)}getClusterChildren(D){return this._geoJSONIndex.getChildren(D.clusterId)}getClusterLeaves(D){return this._geoJSONIndex.getLeaves(D.clusterId,D.limit,D.offset)}}class Sn{constructor(D){this.self=D,this.actor=new w.F(D),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(R,H)=>{if(this.externalWorkerSourceTypes[R])throw new Error(`Worker source with name "${R}" already registered.`);this.externalWorkerSourceTypes[R]=H},this.self.addProtocol=w.bh,this.self.removeProtocol=w.bi,this.self.registerRTLTextPlugin=R=>{if(w.bC.isParsed())throw new Error("RTL text plugin already registered.");w.bC.setMethods(R)},this.actor.registerMessageHandler("LDT",(R,H)=>this._getDEMWorkerSource(R,H.source).loadTile(H)),this.actor.registerMessageHandler("RDT",(R,H)=>w._(this,void 0,void 0,function*(){this._getDEMWorkerSource(R,H.source).removeTile(H)})),this.actor.registerMessageHandler("GCEZ",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterExpansionZoom(H)})),this.actor.registerMessageHandler("GCC",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterChildren(H)})),this.actor.registerMessageHandler("GCL",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterLeaves(H)})),this.actor.registerMessageHandler("LD",(R,H)=>this._getWorkerSource(R,H.type,H.source).loadData(H)),this.actor.registerMessageHandler("GD",(R,H)=>this._getWorkerSource(R,H.type,H.source).getData()),this.actor.registerMessageHandler("LT",(R,H)=>this._getWorkerSource(R,H.type,H.source).loadTile(H)),this.actor.registerMessageHandler("RT",(R,H)=>this._getWorkerSource(R,H.type,H.source).reloadTile(H)),this.actor.registerMessageHandler("AT",(R,H)=>this._getWorkerSource(R,H.type,H.source).abortTile(H)),this.actor.registerMessageHandler("RMT",(R,H)=>this._getWorkerSource(R,H.type,H.source).removeTile(H)),this.actor.registerMessageHandler("RS",(R,H)=>w._(this,void 0,void 0,function*(){if(!this.workerSources[R]||!this.workerSources[R][H.type]||!this.workerSources[R][H.type][H.source])return;const W=this.workerSources[R][H.type][H.source];delete this.workerSources[R][H.type][H.source],W.removeSource!==void 0&&W.removeSource(H)})),this.actor.registerMessageHandler("RM",R=>w._(this,void 0,void 0,function*(){delete this.layerIndexes[R],delete this.availableImages[R],delete this.workerSources[R],delete this.demWorkerSources[R]})),this.actor.registerMessageHandler("SR",(R,H)=>w._(this,void 0,void 0,function*(){this.referrer=H})),this.actor.registerMessageHandler("SRPS",(R,H)=>this._syncRTLPluginState(R,H)),this.actor.registerMessageHandler("IS",(R,H)=>w._(this,void 0,void 0,function*(){this.self.importScripts(H)})),this.actor.registerMessageHandler("SI",(R,H)=>this._setImages(R,H)),this.actor.registerMessageHandler("UL",(R,H)=>w._(this,void 0,void 0,function*(){this._getLayerIndex(R).update(H.layers,H.removedIds)})),this.actor.registerMessageHandler("SL",(R,H)=>w._(this,void 0,void 0,function*(){this._getLayerIndex(R).replace(H)}))}_setImages(D,R){return w._(this,void 0,void 0,function*(){this.availableImages[D]=R;for(const H in this.workerSources[D]){const W=this.workerSources[D][H];for(const li in W)W[li].availableImages=R}})}_syncRTLPluginState(D,R){return w._(this,void 0,void 0,function*(){if(w.bC.isParsed())return w.bC.getState();if(R.pluginStatus!=="loading")return w.bC.setState(R),R;const H=R.pluginURL;if(this.self.importScripts(H),w.bC.isParsed()){const W={pluginStatus:"loaded",pluginURL:H};return w.bC.setState(W),W}throw w.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${H}`)})}_getAvailableImages(D){let R=this.availableImages[D];return R||(R=[]),R}_getLayerIndex(D){let R=this.layerIndexes[D];return R||(R=this.layerIndexes[D]=new r),R}_getWorkerSource(D,R,H){if(this.workerSources[D]||(this.workerSources[D]={}),this.workerSources[D][R]||(this.workerSources[D][R]={}),!this.workerSources[D][R][H]){const W={sendAsync:(li,ci)=>(li.targetMapId=D,this.actor.sendAsync(li,ci))};switch(R){case"vector":this.workerSources[D][R][H]=new V(W,this._getLayerIndex(D),this._getAvailableImages(D));break;case"geojson":this.workerSources[D][R][H]=new Pn(W,this._getLayerIndex(D),this._getAvailableImages(D));break;default:this.workerSources[D][R][H]=new this.externalWorkerSourceTypes[R](W,this._getLayerIndex(D),this._getAvailableImages(D))}}return this.workerSources[D][R][H]}_getDEMWorkerSource(D,R){return this.demWorkerSources[D]||(this.demWorkerSources[D]={}),this.demWorkerSources[D][R]||(this.demWorkerSources[D][R]=new E),this.demWorkerSources[D][R]}}return w.i(self)&&(self.worker=new Sn(self)),Sn}),g("index",["exports","./shared"],function(w,r){var P="4.5.0";let z,U;const V={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:d=>new Promise((e,n)=>{const c=requestAnimationFrame(e);d.signal.addEventListener("abort",()=>{cancelAnimationFrame(c),n(r.c())})}),getImageData(d,e=0){return this.getImageCanvasContext(d).getImageData(-e,-e,d.width+2*e,d.height+2*e)},getImageCanvasContext(d){const e=window.document.createElement("canvas"),n=e.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("failed to create canvas 2d context");return e.width=d.width,e.height=d.height,n.drawImage(d,0,0,d.width,d.height),n},resolveURL:d=>(z||(z=document.createElement("a")),z.href=d,z.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(U==null&&(U=matchMedia("(prefers-reduced-motion: reduce)")),U.matches)}};class E{static testProp(e){if(!E.docStyle)return e[0];for(let n=0;n{window.removeEventListener("click",E.suppressClickInternal,!0)},0)}static getScale(e){const n=e.getBoundingClientRect();return{x:n.width/e.offsetWidth||1,y:n.height/e.offsetHeight||1,boundingClientRect:n}}static getPoint(e,n,c){const o=n.boundingClientRect;return new r.P((c.clientX-o.left)/n.x-e.clientLeft,(c.clientY-o.top)/n.y-e.clientTop)}static mousePos(e,n){const c=E.getScale(e);return E.getPoint(e,c,n)}static touchPos(e,n){const c=[],o=E.getScale(e);for(let y=0;y{ti&&Vi(ti),ti=null,Li=!0},hi.onerror=()=>{pi=!0,ti=null},hi.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(d){let e,n,c,o;d.resetRequestQueue=()=>{e=[],n=0,c=0,o={}},d.addThrottleControl=j=>{const A=c++;return o[A]=j,A},d.removeThrottleControl=j=>{delete o[j],k()},d.getImage=(j,A,F=!0)=>new Promise((C,G)=>{_i.supported&&(j.headers||(j.headers={}),j.headers.accept="image/webp,*/*"),r.e(j,{type:"image"}),e.push({abortController:A,requestParameters:j,supportImageRefresh:F,state:"queued",onError:q=>{G(q)},onSuccess:q=>{C(q)}}),k()});const y=j=>r._(this,void 0,void 0,function*(){j.state="running";const{requestParameters:A,supportImageRefresh:F,onError:C,onSuccess:G,abortController:q}=j,$=F===!1&&!r.i(self)&&!r.g(A.url)&&(!A.headers||Object.keys(A.headers).reduce((Q,ni)=>Q&&ni==="accept",!0));n++;const X=$?x(A,q):r.m(A,q);try{const Q=yield X;delete j.abortController,j.state="completed",Q.data instanceof HTMLImageElement||r.b(Q.data)?G(Q):Q.data&&G({data:yield(K=Q.data,typeof createImageBitmap=="function"?r.d(K):r.f(K)),cacheControl:Q.cacheControl,expires:Q.expires})}catch(Q){delete j.abortController,C(Q)}finally{n--,k()}var K}),k=()=>{const j=(()=>{for(const A of Object.keys(o))if(o[A]())return!0;return!1})()?r.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:r.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let A=n;A0;A++){const F=e.shift();F.abortController.signal.aborted?A--:y(F)}},x=(j,A)=>new Promise((F,C)=>{const G=new Image,q=j.url,$=j.credentials;$&&$==="include"?G.crossOrigin="use-credentials":($&&$==="same-origin"||!r.s(q))&&(G.crossOrigin="anonymous"),A.signal.addEventListener("abort",()=>{G.src="",C(r.c())}),G.fetchPriority="high",G.onload=()=>{G.onerror=G.onload=null,F({data:G})},G.onerror=()=>{G.onerror=G.onload=null,A.signal.aborted||C(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},G.src=q})}(Pi||(Pi={})),Pi.resetRequestQueue();class Ui{constructor(e){this._transformRequestFn=e}transformRequest(e,n){return this._transformRequestFn&&this._transformRequestFn(e,n)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function Ki(d){var e=new r.A(3);return e[0]=d[0],e[1]=d[1],e[2]=d[2],e}var de,ue=function(d,e,n){return d[0]=e[0]-n[0],d[1]=e[1]-n[1],d[2]=e[2]-n[2],d};de=new r.A(3),r.A!=Float32Array&&(de[0]=0,de[1]=0,de[2]=0);var dt=function(d){var e=d[0],n=d[1];return e*e+n*n};function Be(d){const e=[];if(typeof d=="string")e.push({id:"default",url:d});else if(d&&d.length>0){const n=[];for(const{id:c,url:o}of d){const y=`${c}${o}`;n.indexOf(y)===-1&&(n.push(y),e.push({id:c,url:o}))}}return e}function we(d,e,n){const c=d.split("?");return c[0]+=`${e}${n}`,c.join("?")}(function(){var d=new r.A(2);r.A!=Float32Array&&(d[0]=0,d[1]=0)})();class Yi{constructor(e,n,c,o){this.context=e,this.format=c,this.texture=e.gl.createTexture(),this.update(n,o)}update(e,n,c){const{width:o,height:y}=e,k=!(this.size&&this.size[0]===o&&this.size[1]===y||c),{context:x}=this,{gl:j}=x;if(this.useMipmap=!!(n&&n.useMipmap),j.bindTexture(j.TEXTURE_2D,this.texture),x.pixelStoreUnpackFlipY.set(!1),x.pixelStoreUnpack.set(1),x.pixelStoreUnpackPremultiplyAlpha.set(this.format===j.RGBA&&(!n||n.premultiply!==!1)),k)this.size=[o,y],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||r.b(e)?j.texImage2D(j.TEXTURE_2D,0,this.format,this.format,j.UNSIGNED_BYTE,e):j.texImage2D(j.TEXTURE_2D,0,this.format,o,y,0,this.format,j.UNSIGNED_BYTE,e.data);else{const{x:A,y:F}=c||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||r.b(e)?j.texSubImage2D(j.TEXTURE_2D,0,A,F,j.RGBA,j.UNSIGNED_BYTE,e):j.texSubImage2D(j.TEXTURE_2D,0,A,F,o,y,j.RGBA,j.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&j.generateMipmap(j.TEXTURE_2D)}bind(e,n,c){const{context:o}=this,{gl:y}=o;y.bindTexture(y.TEXTURE_2D,this.texture),c!==y.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(c=y.LINEAR),e!==this.filter&&(y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MAG_FILTER,e),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MIN_FILTER,c||e),this.filter=e),n!==this.wrap&&(y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_S,n),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_T,n),this.wrap=n)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function ke(d){const{userImage:e}=d;return!!(e&&e.render&&e.render())&&(d.data.replace(new Uint8Array(e.data.buffer)),!0)}class qe extends r.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new r.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:n,promiseResolve:c}of this.requestors)c(this._getImagesForIds(n));this.requestors=[]}}getImage(e){const n=this.images[e];if(n&&!n.data&&n.spriteData){const c=n.spriteData;n.data=new r.R({width:c.width,height:c.height},c.context.getImageData(c.x,c.y,c.width,c.height).data),n.spriteData=null}return n}addImage(e,n){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,n)&&(this.images[e]=n)}_validate(e,n){let c=!0;const o=n.data||n.spriteData;return this._validateStretch(n.stretchX,o&&o.width)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "stretchX" value`))),c=!1),this._validateStretch(n.stretchY,o&&o.height)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "stretchY" value`))),c=!1),this._validateContent(n.content,n)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "content" value`))),c=!1),c}_validateStretch(e,n){if(!e)return!0;let c=0;for(const o of e){if(o[0]{let o=!0;if(!this.isLoaded())for(const y of e)this.images[y]||(o=!1);this.isLoaded()||o?n(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:n})})}_getImagesForIds(e){const n={};for(const c of e){let o=this.getImage(c);o||(this.fire(new r.k("styleimagemissing",{id:c})),o=this.getImage(c)),o?n[c]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf,version:o.version,stretchX:o.stretchX,stretchY:o.stretchY,content:o.content,textFitWidth:o.textFitWidth,textFitHeight:o.textFitHeight,hasRenderCallback:!!(o.userImage&&o.userImage.render)}:r.w(`Image "${c}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return n}getPixelSize(){const{width:e,height:n}=this.atlasImage;return{width:e,height:n}}getPattern(e){const n=this.patterns[e],c=this.getImage(e);if(!c)return null;if(n&&n.position.version===c.version)return n.position;if(n)n.position.version=c.version;else{const o={w:c.data.width+2,h:c.data.height+2,x:0,y:0},y=new r.I(o,c);this.patterns[e]={bin:o,position:y}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){const n=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new Yi(e,this.atlasImage,n.RGBA),this.atlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}_updatePatternAtlas(){const e=[];for(const y in this.patterns)e.push(this.patterns[y].bin);const{w:n,h:c}=r.p(e),o=this.atlasImage;o.resize({width:n||1,height:c||1});for(const y in this.patterns){const{bin:k}=this.patterns[y],x=k.x+1,j=k.y+1,A=this.getImage(y).data,F=A.width,C=A.height;r.R.copy(A,o,{x:0,y:0},{x,y:j},{width:F,height:C}),r.R.copy(A,o,{x:0,y:C-1},{x,y:j-1},{width:F,height:1}),r.R.copy(A,o,{x:0,y:0},{x,y:j+C},{width:F,height:1}),r.R.copy(A,o,{x:F-1,y:0},{x:x-1,y:j},{width:1,height:C}),r.R.copy(A,o,{x:0,y:0},{x:x+F,y:j},{width:1,height:C})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(const n of e){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;const c=this.getImage(n);c||r.w(`Image with ID: "${n}" was not found`),ke(c)&&this.updateImage(n,c)}}}const He=1e20;function Le(d,e,n,c,o,y,k,x,j){for(let A=e;A-1);j++,y[j]=x,k[j]=A,k[j+1]=He}for(let x=0,j=0;x65535)throw new Error("glyphs > 65535 not supported");if(c.ranges[y])return{stack:e,id:n,glyph:o};if(!this.url)throw new Error("glyphsUrl is not set");if(!c.requests[y]){const x=We.loadGlyphRange(e,y,this.url,this.requestManager);c.requests[y]=x}const k=yield c.requests[y];for(const x in k)this._doesCharSupportLocalGlyph(+x)||(c.glyphs[+x]=k[+x]);return c.ranges[y]=!0,{stack:e,id:n,glyph:k[n]||null}})}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(r.u["CJK Unified Ideographs"](e)||r.u["Hangul Syllables"](e)||r.u.Hiragana(e)||r.u.Katakana(e))}_tinySDF(e,n,c){const o=this.localIdeographFontFamily;if(!o||!this._doesCharSupportLocalGlyph(c))return;let y=e.tinySDF;if(!y){let x="400";/bold/i.test(n)?x="900":/medium/i.test(n)?x="500":/light/i.test(n)&&(x="200"),y=e.tinySDF=new We.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:o,fontWeight:x})}const k=y.draw(String.fromCharCode(c));return{id:c,bitmap:new r.o({width:k.width||60,height:k.height||60},k.data),metrics:{width:k.glyphWidth/2||24,height:k.glyphHeight/2||24,left:k.glyphLeft/2+.5||0,top:k.glyphTop/2-27.5||-8,advance:k.glyphAdvance/2||24,isDoubleResolution:!0}}}}We.loadGlyphRange=function(d,e,n,c){return r._(this,void 0,void 0,function*(){const o=256*e,y=o+255,k=c.transformRequest(n.replace("{fontstack}",d).replace("{range}",`${o}-${y}`),"Glyphs"),x=yield r.l(k,new AbortController);if(!x||!x.data)throw new Error(`Could not load glyph range. range: ${e}, ${o}-${y}`);const j={};for(const A of r.n(x.data))j[A.id]=A;return j})},We.TinySDF=class{constructor({fontSize:d=24,buffer:e=3,radius:n=8,cutoff:c=.25,fontFamily:o="sans-serif",fontWeight:y="normal",fontStyle:k="normal"}={}){this.buffer=e,this.cutoff=c,this.radius=n;const x=this.size=d+4*e,j=this._createCanvas(x),A=this.ctx=j.getContext("2d",{willReadFrequently:!0});A.font=`${k} ${y} ${d}px ${o}`,A.textBaseline="alphabetic",A.textAlign="left",A.fillStyle="black",this.gridOuter=new Float64Array(x*x),this.gridInner=new Float64Array(x*x),this.f=new Float64Array(x),this.z=new Float64Array(x+1),this.v=new Uint16Array(x)}_createCanvas(d){const e=document.createElement("canvas");return e.width=e.height=d,e}draw(d){const{width:e,actualBoundingBoxAscent:n,actualBoundingBoxDescent:c,actualBoundingBoxLeft:o,actualBoundingBoxRight:y}=this.ctx.measureText(d),k=Math.ceil(n),x=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(y-o))),j=Math.min(this.size-this.buffer,k+Math.ceil(c)),A=x+2*this.buffer,F=j+2*this.buffer,C=Math.max(A*F,0),G=new Uint8ClampedArray(C),q={data:G,width:A,height:F,glyphWidth:x,glyphHeight:j,glyphTop:k,glyphLeft:0,glyphAdvance:e};if(x===0||j===0)return q;const{ctx:$,buffer:X,gridInner:K,gridOuter:Q}=this;$.clearRect(X,X,x,j),$.fillText(d,X,X+k);const ni=$.getImageData(X,X,x,j);Q.fill(He,0,C),K.fill(0,0,C);for(let Z=0;Z0?wi*wi:0,K[yi]=wi<0?wi*wi:0}}Le(Q,0,0,A,F,A,this.f,this.v,this.z),Le(K,X,X,x,j,A,this.f,this.v,this.z);for(let Z=0;Z1&&(j=e[++x]);const F=Math.abs(A-j.left),C=Math.abs(A-j.right),G=Math.min(F,C);let q;const $=y/c*(o+1);if(j.isDash){const X=o-Math.abs($);q=Math.sqrt(G*G+X*X)}else q=o-Math.sqrt(G*G+$*$);this.data[k+A]=Math.max(0,Math.min(255,q+128))}}}addRegularDash(e){for(let x=e.length-1;x>=0;--x){const j=e[x],A=e[x+1];j.zeroLength?e.splice(x,1):A&&A.isDash===j.isDash&&(A.left=j.left,e.splice(x,1))}const n=e[0],c=e[e.length-1];n.isDash===c.isDash&&(n.left=c.left-this.width,c.right=n.right+this.width);const o=this.width*this.nextRow;let y=0,k=e[y];for(let x=0;x1&&(k=e[++y]);const j=Math.abs(x-k.left),A=Math.abs(x-k.right),F=Math.min(j,A);this.data[o+x]=Math.max(0,Math.min(255,(k.isDash?F:-F)+128))}}addDash(e,n){const c=n?7:0,o=2*c+1;if(this.nextRow+o>this.height)return r.w("LineAtlas out of space"),null;let y=0;for(let x=0;x{n.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[kt]}numActive(){return Object.keys(this.active).length}}const Ct=Math.floor(V.hardwareConcurrency/2);let qt,jt;function an(){return qt||(qt=new st),qt}st.workerCount=r.C(globalThis)?Math.max(Math.min(Ct,3),1):1;class Ht{constructor(e,n){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=n;const c=this.workerPool.acquire(n);for(let o=0;o{n.remove()}),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,n){for(const c of this.actors)c.registerMessageHandler(e,n)}}function ia(){return jt||(jt=new Ht(an(),r.G),jt.registerMessageHandler("GR",(d,e,n)=>r.m(e,n))),jt}function la(d,e){const n=r.H();return r.J(n,n,[1,1,0]),r.K(n,n,[.5*d.width,.5*d.height,1]),r.L(n,n,d.calculatePosMatrix(e.toUnwrapped()))}function Wa(d,e,n,c,o,y){const k=function(C,G,q){if(C)for(const $ of C){const X=G[$];if(X&&X.source===q&&X.type==="fill-extrusion")return!0}else for(const $ in G){const X=G[$];if(X.source===q&&X.type==="fill-extrusion")return!0}return!1}(o&&o.layers,e,d.id),x=y.maxPitchScaleFactor(),j=d.tilesIn(c,x,k);j.sort(nn);const A=[];for(const C of j)A.push({wrappedTileID:C.tileID.wrapped().key,queryResults:C.tile.queryRenderedFeatures(e,n,d._state,C.queryGeometry,C.cameraQueryGeometry,C.scale,o,y,x,la(d.transform,C.tileID))});const F=function(C){const G={},q={};for(const $ of C){const X=$.queryResults,K=$.wrappedTileID,Q=q[K]=q[K]||{};for(const ni in X){const Z=X[ni],si=Q[ni]=Q[ni]||{},di=G[ni]=G[ni]||[];for(const yi of Z)si[yi.featureIndex]||(si[yi.featureIndex]=!0,di.push(yi))}}return G}(A);for(const C in F)F[C].forEach(G=>{const q=G.feature,$=d.getFeatureState(q.layer["source-layer"],q.id);q.source=q.layer.source,q.layer["source-layer"]&&(q.sourceLayer=q.layer["source-layer"]),q.state=$});return F}function nn(d,e){const n=d.tileID,c=e.tileID;return n.overscaledZ-c.overscaledZ||n.canonical.y-c.canonical.y||n.wrap-c.wrap||n.canonical.x-c.canonical.x}function At(d,e,n){return r._(this,void 0,void 0,function*(){let c=d;if(d.url?c=(yield r.h(e.transformRequest(d.url,"Source"),n)).data:yield V.frameAsync(n),!c)return null;const o=r.M(r.e(c,d),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in c&&c.vector_layers&&(o.vectorLayerIds=c.vector_layers.map(y=>y.id)),o})}class gi{constructor(e,n){e&&(n?this.setSouthWest(e).setNorthEast(n):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof r.N?new r.N(e.lng,e.lat):r.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof r.N?new r.N(e.lng,e.lat):r.N.convert(e),this}extend(e){const n=this._sw,c=this._ne;let o,y;if(e instanceof r.N)o=e,y=e;else{if(!(e instanceof gi))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(gi.convert(e)):this.extend(r.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(r.N.convert(e)):this;if(o=e._sw,y=e._ne,!o||!y)return this}return n||c?(n.lng=Math.min(o.lng,n.lng),n.lat=Math.min(o.lat,n.lat),c.lng=Math.max(y.lng,c.lng),c.lat=Math.max(y.lat,c.lat)):(this._sw=new r.N(o.lng,o.lat),this._ne=new r.N(y.lng,y.lat)),this}getCenter(){return new r.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new r.N(this.getWest(),this.getNorth())}getSouthEast(){return new r.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:n,lat:c}=r.N.convert(e);let o=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(o=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=c&&c<=this._ne.lat&&o}static convert(e){return e instanceof gi?e:e&&new gi(e)}static fromLngLat(e,n=0){const c=360*n/40075017,o=c/Math.cos(Math.PI/180*e.lat);return new gi(new r.N(e.lng-o,e.lat-c),new r.N(e.lng+o,e.lat+c))}}class ja{constructor(e,n,c){this.bounds=gi.convert(this.validateBounds(e)),this.minzoom=n||0,this.maxzoom=c||24}validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){const n=Math.pow(2,e.z),c=Math.floor(r.O(this.bounds.getWest())*n),o=Math.floor(r.Q(this.bounds.getNorth())*n),y=Math.ceil(r.O(this.bounds.getEast())*n),k=Math.ceil(r.Q(this.bounds.getSouth())*n);return e.x>=c&&e.x=o&&e.y{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return r.e({},this._options)}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),c={request:this.map._requestManager.transformRequest(n,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};c.request.collectResourceTiming=this._collectResourceTiming;let o="RT";if(e.actor&&e.state!=="expired"){if(e.state==="loading")return new Promise((y,k)=>{e.reloadPromise={resolve:y,reject:k}})}else e.actor=this.dispatcher.getActor(),o="LT";e.abortController=new AbortController;try{const y=yield e.actor.sendAsync({type:o,data:c},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,y)}catch(y){if(delete e.abortController,e.aborted)return;if(y&&y.status!==404)throw y;this._afterTileLoadWorkerResponse(e,null)}})}_afterTileLoadWorkerResponse(e,n){if(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),n&&this.map._refreshExpiredTiles&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),e.reloadPromise){const c=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(c.resolve).catch(c.reject)}}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Ve extends r.E{constructor(e,n,c,o){super(),this.id=e,this.dispatcher=c,this.setEventedParent(o),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=r.e({type:"raster"},n),r.e(this,r.M(n,["url","scheme","tileSize"]))}load(){return r._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new r.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const e=yield At(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(r.e(this,e),e.bounds&&(this.tileBounds=new ja(e.bounds,this.minzoom,this.maxzoom)),this.fire(new r.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new r.k("data",{dataType:"source",sourceDataType:"content"})))}catch(e){this._tileJSONRequest=null,this.fire(new r.j(e))}})}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty(()=>{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return r.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{const c=yield Pi.getImage(this.map._requestManager.transformRequest(n,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(c&&c.data){this.map._refreshExpiredTiles&&c.cacheControl&&c.expires&&e.setExpiryData({cacheControl:c.cacheControl,expires:c.expires});const o=this.map.painter.context,y=o.gl,k=c.data;e.texture=this.map.painter.getTileTexture(k.width),e.texture?e.texture.update(k,{useMipmap:!0}):(e.texture=new Yi(o,k,y.RGBA,{useMipmap:!0}),e.texture.bind(y.LINEAR,y.CLAMP_TO_EDGE,y.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&y.texParameterf(y.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded"}}catch(c){if(delete e.abortController,e.aborted)e.state="unloaded";else if(c)throw e.state="errored",c}})}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)})}hasTransition(){return!1}}class Xe extends Ve{constructor(e,n,c,o){super(e,n,c,o),this.type="raster-dem",this.maxzoom=22,this._options=r.e({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox",this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),c=this.map._requestManager.transformRequest(n,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{const o=yield Pi.getImage(c,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(o&&o.data){const y=o.data;this.map._refreshExpiredTiles&&o.cacheControl&&o.expires&&e.setExpiryData({cacheControl:o.cacheControl,expires:o.expires});const k=r.b(y)&&r.U()?y:yield this.readImageNow(y),x={type:this.type,uid:e.uid,source:this.id,rawImageData:k,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||e.state==="expired"){e.actor=this.dispatcher.getActor();const j=yield e.actor.sendAsync({type:"LDT",data:x});e.dem=j,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(o){if(delete e.abortController,e.aborted)e.state="unloaded";else if(o)throw e.state="errored",o}})}readImageNow(e){return r._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&r.V()){const n=e.width+2,c=e.height+2;try{return new r.R({width:n,height:c},yield r.W(e,-1,-1,n,c))}catch{}}return V.getImageData(e,1)})}_getNeighboringTiles(e){const n=e.canonical,c=Math.pow(2,n.z),o=(n.x-1+c)%c,y=n.x===0?e.wrap-1:e.wrap,k=(n.x+1+c)%c,x=n.x+1===c?e.wrap+1:e.wrap,j={};return j[new r.S(e.overscaledZ,y,n.z,o,n.y).key]={backfilled:!1},j[new r.S(e.overscaledZ,x,n.z,k,n.y).key]={backfilled:!1},n.y>0&&(j[new r.S(e.overscaledZ,y,n.z,o,n.y-1).key]={backfilled:!1},j[new r.S(e.overscaledZ,e.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},j[new r.S(e.overscaledZ,x,n.z,k,n.y-1).key]={backfilled:!1}),n.y+10&&r.e(y,{resourceTiming:o}),this.fire(new r.k("data",Object.assign(Object.assign({},y),{sourceDataType:"metadata"}))),this.fire(new r.k("data",Object.assign(Object.assign({},y),{sourceDataType:"content"})))}catch(c){if(this._pendingLoads--,this._removed)return void this.fire(new r.k("dataabort",{dataType:"source"}));this.fire(new r.j(c))}})}loaded(){return this._pendingLoads===0}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.actor?"RT":"LT";e.actor=this.actor;const c={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;const o=yield this.actor.sendAsync({type:n,data:c},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(o,this.map.painter,n==="RT")})}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return r.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var me=r.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Fe extends r.E{constructor(e,n,c,o){super(),this.id=e,this.dispatcher=c,this.coordinates=n.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=n}load(e){return r._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new r.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const n=yield Pi.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,n&&n.data&&(this.image=n.data,e&&(this.coordinates=e),this._finishLoading())}catch(n){this._request=null,this._loaded=!0,this.fire(new r.j(n))}})}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new r.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;const n=e.map(r.Z.fromLngLat);this.tileID=function(o){let y=1/0,k=1/0,x=-1/0,j=-1/0;for(const G of o)y=Math.min(y,G.x),k=Math.min(k,G.y),x=Math.max(x,G.x),j=Math.max(j,G.y);const A=Math.max(x-y,j-k),F=Math.max(0,Math.floor(-Math.log(A)/Math.LN2)),C=Math.pow(2,F);return new r.a1(F,Math.floor((y+x)/2*C),Math.floor((k+j)/2*C))}(n),this.minzoom=this.maxzoom=this.tileID.z;const c=n.map(o=>this.tileID.getTilePoint(o)._round());return this._boundsArray=new r.$,this._boundsArray.emplaceBack(c[0].x,c[0].y,0,0),this._boundsArray.emplaceBack(c[1].x,c[1].y,r.X,0),this._boundsArray.emplaceBack(c[3].x,c[3].y,0,r.X),this._boundsArray.emplaceBack(c[2].x,c[2].y,r.X,r.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new r.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;const e=this.map.painter.context,n=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,me.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new Yi(e,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let c=!1;for(const o in this.tiles){const y=this.tiles[o];y.state!=="loaded"&&(y.state="loaded",y.texture=this.texture,c=!0)}c&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return r._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Pa extends Fe{constructor(e,n,c,o){super(e,n,c,o),this.roundZoom=!0,this.type="video",this.options=n}load(){return r._(this,void 0,void 0,function*(){this._loaded=!1;const e=this.options;this.urls=[];for(const n of e.urls)this.urls.push(this.map._requestManager.transformRequest(n,"Source").url);try{const n=yield r.a3(this.urls);if(this._loaded=!0,!n)return;this.video=n,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(n){this.fire(new r.j(n))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const n=this.video.seekable;en.end(0)?this.fire(new r.j(new r.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const e=this.map.painter.context,n=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,me.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new Yi(e,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let c=!1;for(const o in this.tiles){const y=this.tiles[o];y.state!=="loaded"&&(y.state="loaded",y.texture=this.texture,c=!0)}c&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Zt extends Fe{constructor(e,n,c,o){super(e,n,c,o),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some(y=>!Array.isArray(y)||y.length!==2||y.some(k=>typeof k!="number"))||this.fire(new r.j(new r.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new r.j(new r.a2(`sources.${e}`,null,'missing required property "coordinates"'))),n.animate&&typeof n.animate!="boolean"&&this.fire(new r.j(new r.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),n.canvas?typeof n.canvas=="string"||n.canvas instanceof HTMLCanvasElement||this.fire(new r.j(new r.a2(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new r.j(new r.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return r._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new r.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const n=this.map.painter.context,c=n.gl;this.boundsBuffer||(this.boundsBuffer=n.createVertexBuffer(this._boundsArray,me.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new Yi(n,this.canvas,c.RGBA,{premultiply:!0});let o=!1;for(const y in this.tiles){const k=this.tiles[y];k.state!=="loaded"&&(k.state="loaded",k.texture=this.texture,o=!0)}o&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}const Xa={},ea=d=>{switch(d){case"geojson":return Gn;case"image":return Fe;case"raster":return Ve;case"raster-dem":return Xe;case"vector":return Nn;case"video":return Pa;case"canvas":return Zt}return Xa[d]},bi="RTLPluginLoaded";class Ft extends r.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=ia()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch(n=>{throw this.status="error",n})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return r._(this,arguments,void 0,function*(n,c=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=V.resolveURL(n),!this.url)throw new Error(`requested url ${n} is invalid`);if(this.status==="unavailable"){if(!c)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return r._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new r.k(bi))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let Tt=null;function Ma(){return Tt||(Tt=new Ft),Tt}class ln{constructor(e,n){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=r.a4(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const n=e+this.timeAdded;ny.getLayer(A)).filter(Boolean);if(j.length!==0){x.layers=j,x.stateDependentLayerIds&&(x.stateDependentLayers=x.stateDependentLayerIds.map(A=>j.filter(F=>F.id===A)[0]));for(const A of j)k[A.id]=x}}return k}(e.buckets,n.style),this.hasSymbolBuckets=!1;for(const o in this.buckets){const y=this.buckets[o];if(y instanceof r.a6){if(this.hasSymbolBuckets=!0,!c)break;y.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const o in this.buckets){const y=this.buckets[o];if(y instanceof r.a6&&y.hasRTLText){this.hasRTLText=!0,Ma().lazyLoad();break}}this.queryPadding=0;for(const o in this.buckets){const y=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(o).queryRadius(y))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new r.a5}unloadVectorData(){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(e){return this.buckets[e.id]}upload(e){for(const c in this.buckets){const o=this.buckets[c];o.uploadPending()&&o.upload(e)}const n=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Yi(e,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Yi(e,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,n,c,o,y,k,x,j,A,F){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:o,cameraQueryGeometry:y,scale:k,tileSize:this.tileSize,pixelPosMatrix:F,transform:j,params:x,queryPadding:this.queryPadding*A},e,n,c):{}}querySourceFeatures(e,n){const c=this.latestFeatureIndex;if(!c||!c.rawTileData)return;const o=c.loadVTLayers(),y=n&&n.sourceLayer?n.sourceLayer:"",k=o._geojsonTileLayer||o[y];if(!k)return;const x=r.a7(n&&n.filter),{z:j,x:A,y:F}=this.tileID.canonical,C={z:j,x:A,y:F};for(let G=0;Gc)o=!1;else if(n)if(this.expirationTime{this.remove(e,y)},c)),this.data[o].push(y),this.order.push(o),this.order.length>this.max){const k=this._getAndRemoveByKey(this.order[0]);k&&this.onRemove(k)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){const n=this.data[e].shift();return n.timeout&&clearTimeout(n.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),n.value}getByKey(e){const n=this.data[e];return n?n[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,n){if(!this.has(e))return this;const c=e.wrapped().key,o=n===void 0?0:this.data[c].indexOf(n),y=this.data[c][o];return this.data[c].splice(o,1),y.timeout&&clearTimeout(y.timeout),this.data[c].length===0&&delete this.data[c],this.onRemove(y.value),this.order.splice(this.order.indexOf(c),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n)}return this}filter(e){const n=[];for(const c in this.data)for(const o of this.data[c])e(o.value)||n.push(o);for(const c of n)this.remove(c.value.tileID,c)}}class je{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,n,c){const o=String(n);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][o]=this.stateChanges[e][o]||{},r.e(this.stateChanges[e][o],c),this.deletedStates[e]===null){this.deletedStates[e]={};for(const y in this.state[e])y!==o&&(this.deletedStates[e][y]=null)}else if(this.deletedStates[e]&&this.deletedStates[e][o]===null){this.deletedStates[e][o]={};for(const y in this.state[e][o])c[y]||(this.deletedStates[e][o][y]=null)}else for(const y in c)this.deletedStates[e]&&this.deletedStates[e][o]&&this.deletedStates[e][o][y]===null&&delete this.deletedStates[e][o][y]}removeFeatureState(e,n,c){if(this.deletedStates[e]===null)return;const o=String(n);if(this.deletedStates[e]=this.deletedStates[e]||{},c&&n!==void 0)this.deletedStates[e][o]!==null&&(this.deletedStates[e][o]=this.deletedStates[e][o]||{},this.deletedStates[e][o][c]=null);else if(n!==void 0)if(this.stateChanges[e]&&this.stateChanges[e][o])for(c in this.deletedStates[e][o]={},this.stateChanges[e][o])this.deletedStates[e][o][c]=null;else this.deletedStates[e][o]=null;else this.deletedStates[e]=null}getState(e,n){const c=String(n),o=r.e({},(this.state[e]||{})[c],(this.stateChanges[e]||{})[c]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){const y=this.deletedStates[e][n];if(y===null)return{};for(const k in y)delete o[k]}return o}initializeTileState(e,n){e.setFeatureState(this.state,n)}coalesceChanges(e,n){const c={};for(const o in this.stateChanges){this.state[o]=this.state[o]||{};const y={};for(const k in this.stateChanges[o])this.state[o][k]||(this.state[o][k]={}),r.e(this.state[o][k],this.stateChanges[o][k]),y[k]=this.state[o][k];c[o]=y}for(const o in this.deletedStates){this.state[o]=this.state[o]||{};const y={};if(this.deletedStates[o]===null)for(const k in this.state[o])y[k]={},this.state[o][k]={};else for(const k in this.deletedStates[o]){if(this.deletedStates[o][k]===null)this.state[o][k]={};else for(const x of Object.keys(this.deletedStates[o][k]))delete this.state[o][k][x];y[k]=this.state[o][k]}c[o]=c[o]||{},r.e(c[o],y)}if(this.stateChanges={},this.deletedStates={},Object.keys(c).length!==0)for(const o in e)e[o].setFeatureState(c,n)}}class re extends r.E{constructor(e,n,c){super(),this.id=e,this.dispatcher=c,this.on("data",o=>this._dataHandler(o)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((o,y,k,x)=>{const j=new(ea(y.type))(o,y,k,x);if(j.id!==o)throw new Error(`Expected Source id to be ${o} instead of ${j.id}`);return j})(e,n,c,this),this._tiles={},this._cache=new Ci(0,o=>this._unloadTile(o)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new je,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const e in this._tiles){const n=this._tiles[e];if(n.state!=="loaded"&&n.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,n,c){return r._(this,void 0,void 0,function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,n,c)}catch(o){e.state="errored",o.status!==404?this._source.fire(new r.j(o,{tile:e})):this.update(this.transform,this.terrain)}})}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new r.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const n in this._tiles){const c=this._tiles[n];c.upload(e),c.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(e=>e.tileID).sort(Ba).map(e=>e.key)}getRenderableIds(e){const n=[];for(const c in this._tiles)this._isIdRenderable(c,e)&&n.push(this._tiles[c]);return e?n.sort((c,o)=>{const y=c.tileID,k=o.tileID,x=new r.P(y.canonical.x,y.canonical.y)._rotate(this.transform.angle),j=new r.P(k.canonical.x,k.canonical.y)._rotate(this.transform.angle);return y.overscaledZ-k.overscaledZ||j.y-x.y||j.x-x.x}).map(c=>c.tileID.key):n.map(c=>c.tileID).sort(Ba).map(c=>c.key)}hasRenderableParent(e){const n=this.findLoadedParent(e,0);return!!n&&this._isIdRenderable(n.tileID.key)}_isIdRenderable(e,n){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(n||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)this._tiles[e].state!=="errored"&&this._reloadTile(e,"reloading")}}_reloadTile(e,n){return r._(this,void 0,void 0,function*(){const c=this._tiles[e];c&&(c.state!=="loading"&&(c.state=n),yield this._loadTile(c,e,n))})}_tileLoaded(e,n,c){e.timeAdded=V.now(),c==="expired"&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(n,e),this.getSource().type==="raster-dem"&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new r.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){const n=this.getRenderableIds();for(let o=0;o1||(Math.abs(k)>1&&(Math.abs(k+j)===1?k+=j:Math.abs(k-j)===1&&(k-=j)),y.dem&&o.dem&&(o.dem.backfillBorder(y.dem,k,x),o.neighboringTiles&&o.neighboringTiles[A]&&(o.neighboringTiles[A].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,n,c,o){for(const y in this._tiles){let k=this._tiles[y];if(o[y]||!k.hasData()||k.tileID.overscaledZ<=n||k.tileID.overscaledZ>c)continue;let x=k.tileID;for(;k&&k.tileID.overscaledZ>n+1;){const A=k.tileID.scaledTo(k.tileID.overscaledZ-1);k=this._tiles[A.key],k&&k.hasData()&&(x=A)}let j=x;for(;j.overscaledZ>n;)if(j=j.scaledTo(j.overscaledZ-1),e[j.key]){o[x.key]=x;break}}}findLoadedParent(e,n){if(e.key in this._loadedParentTiles){const c=this._loadedParentTiles[e.key];return c&&c.tileID.overscaledZ>=n?c:null}for(let c=e.overscaledZ-1;c>=n;c--){const o=e.scaledTo(c),y=this._getLoadedTile(o);if(y)return y}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){const n=this._tiles[e.key];return n&&n.hasData()?n:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){const n=Math.ceil(e.width/this._source.tileSize)+1,c=Math.ceil(e.height/this._source.tileSize)+1,o=Math.floor(n*c*(this._maxTileCacheZoomLevels===null?r.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),y=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(y)}handleWrapJump(e){const n=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);if(this._prevLng=e,n){const c={};for(const o in this._tiles){const y=this._tiles[o];y.tileID=y.tileID.unwrapTo(y.tileID.wrap+n),c[y.tileID.key]=y}this._tiles=c;for(const o in this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(const o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}}_updateCoveredAndRetainedTiles(e,n,c,o,y,k){const x={},j={},A=Object.keys(e),F=V.now();for(const C of A){const G=e[C],q=this._tiles[C];if(!q||q.fadeEndTime!==0&&q.fadeEndTime<=F)continue;const $=this.findLoadedParent(G,n),X=this.findLoadedSibling(G),K=$||X||null;K&&(this._addTile(K.tileID),x[K.tileID.key]=K.tileID),j[C]=G}this._retainLoadedChildren(j,o,c,e);for(const C in x)e[C]||(this._coveredTiles[C]=!0,e[C]=x[C]);if(k){const C={},G={};for(const q of y)this._tiles[q.key].hasData()?C[q.key]=q:G[q.key]=q;for(const q in G){const $=G[q].children(this._source.maxzoom);this._tiles[$[0].key]&&this._tiles[$[1].key]&&this._tiles[$[2].key]&&this._tiles[$[3].key]&&(C[$[0].key]=e[$[0].key]=$[0],C[$[1].key]=e[$[1].key]=$[1],C[$[2].key]=e[$[2].key]=$[2],C[$[3].key]=e[$[3].key]=$[3],delete G[q])}for(const q in G){const $=G[q],X=this.findLoadedParent($,this._source.minzoom),K=this.findLoadedSibling($),Q=X||K||null;if(Q){C[Q.tileID.key]=e[Q.tileID.key]=Q.tileID;for(const ni in C)C[ni].isChildOf(Q.tileID)&&delete C[ni]}}for(const q in this._tiles)C[q]||(this._coveredTiles[q]=!0)}}update(e,n){if(!this._sourceLoaded||this._paused)return;let c;this.transform=e,this.terrain=n,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?c=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(F=>new r.S(F.canonical.z,F.wrap,F.canonical.z,F.canonical.x,F.canonical.y)):(c=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n}),this._source.hasTile&&(c=c.filter(F=>this._source.hasTile(F)))):c=[];const o=e.coveringZoomLevel(this._source),y=Math.max(o-re.maxOverzooming,this._source.minzoom),k=Math.max(o+re.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const F={};for(const C of c)if(C.canonical.z>this._source.minzoom){const G=C.scaledTo(C.canonical.z-1);F[G.key]=G;const q=C.scaledTo(Math.max(this._source.minzoom,Math.min(C.canonical.z,5)));F[q.key]=q}c=c.concat(Object.values(F))}const x=c.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,x&&this.fire(new r.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const j=this._updateRetainedTiles(c,o);cn(this._source.type)&&this._updateCoveredAndRetainedTiles(j,y,k,o,c,n);for(const F in j)this._tiles[F].clearFadeHold();const A=r.ac(this._tiles,j);for(const F of A){const C=this._tiles[F];C.hasSymbolBuckets&&!C.holdingForFade()?C.setHoldDuration(this.map._fadeDuration):C.hasSymbolBuckets&&!C.symbolFadeFinished()||this._removeTile(F)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,n){var c;const o={},y={},k=Math.max(n-re.maxOverzooming,this._source.minzoom),x=Math.max(n+re.maxUnderzooming,this._source.minzoom),j={};for(const A of e){const F=this._addTile(A);o[A.key]=A,F.hasData()||nthis._source.maxzoom){const G=A.children(this._source.maxzoom)[0],q=this.getTile(G);if(q&&q.hasData()){o[G.key]=G;continue}}else{const G=A.children(this._source.maxzoom);if(o[G[0].key]&&o[G[1].key]&&o[G[2].key]&&o[G[3].key])continue}let C=F.wasRequested();for(let G=A.overscaledZ-1;G>=k;--G){const q=A.scaledTo(G);if(y[q.key])break;if(y[q.key]=!0,F=this.getTile(q),!F&&C&&(F=this._addTile(q)),F){const $=F.hasData();if(($||!(!((c=this.map)===null||c===void 0)&&c.cancelPendingTileRequestsWhileZooming)||C)&&(o[q.key]=q),C=F.wasRequested(),$)break}}}return o}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const n=[];let c,o=this._tiles[e].tileID;for(;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){c=this._loadedParentTiles[o.key];break}n.push(o.key);const y=o.scaledTo(o.overscaledZ-1);if(c=this._getLoadedTile(y),c)break;o=y}for(const y of n)this._loadedParentTiles[y]=c}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const e in this._tiles){const n=this._tiles[e].tileID,c=this._getLoadedTile(n);this._loadedSiblingTiles[n.key]=c}}_addTile(e){let n=this._tiles[e.key];if(n)return n;n=this._cache.getAndRemove(e),n&&(this._setTileReloadTimer(e.key,n),n.tileID=e,this._state.initializeTileState(n,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,n)));const c=n;return n||(n=new ln(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(n,e.key,n.state)),n.uses++,this._tiles[e.key]=n,c||this._source.fire(new r.k("dataloading",{tile:n,coord:n.tileID,dataType:"source"})),n}_setTileReloadTimer(e,n){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const c=n.getExpiryTimeout();c&&(this._timers[e]=setTimeout(()=>{this._reloadTile(e,"expired"),delete this._timers[e]},c))}_removeTile(e){const n=this._tiles[e];n&&(n.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),n.uses>0||(n.hasData()&&n.state!=="reloading"?this._cache.add(n.tileID,n,n.getExpiryTimeout()):(n.aborted=!0,this._abortTile(n),this._unloadTile(n))))}_dataHandler(e){const n=e.sourceDataType;e.dataType==="source"&&n==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&e.dataType==="source"&&n==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,n,c){const o=[],y=this.transform;if(!y)return o;const k=c?y.getCameraQueryGeometry(e):e,x=e.map($=>y.pointCoordinate($,this.terrain)),j=k.map($=>y.pointCoordinate($,this.terrain)),A=this.getIds();let F=1/0,C=1/0,G=-1/0,q=-1/0;for(const $ of j)F=Math.min(F,$.x),C=Math.min(C,$.y),G=Math.max(G,$.x),q=Math.max(q,$.y);for(let $=0;$=0&&Z[1].y+ni>=0){const si=x.map(yi=>K.getTilePoint(yi)),di=j.map(yi=>K.getTilePoint(yi));o.push({tile:X,tileID:K,queryGeometry:si,cameraQueryGeometry:di,scale:Q})}}return o}getVisibleCoordinates(e){const n=this.getRenderableIds(e).map(c=>this._tiles[c].tileID);for(const c of n)c.posMatrix=this.transform.calculatePosMatrix(c.toUnwrapped());return n}hasTransition(){if(this._source.hasTransition())return!0;if(cn(this._source.type)){const e=V.now();for(const n in this._tiles)if(this._tiles[n].fadeEndTime>=e)return!0}return!1}setFeatureState(e,n,c){this._state.updateState(e=e||"_geojsonTileLayer",n,c)}removeFeatureState(e,n,c){this._state.removeFeatureState(e=e||"_geojsonTileLayer",n,c)}getFeatureState(e,n){return this._state.getState(e=e||"_geojsonTileLayer",n)}setDependencies(e,n,c){const o=this._tiles[e];o&&o.setDependencies(n,c)}reloadTilesForDependencies(e,n){for(const c in this._tiles)this._tiles[c].hasDependency(e,n)&&this._reloadTile(c,"reloading");this._cache.filter(c=>!c.hasDependency(e,n))}}function Ba(d,e){const n=Math.abs(2*d.wrap)-+(d.wrap<0),c=Math.abs(2*e.wrap)-+(e.wrap<0);return d.overscaledZ-e.overscaledZ||c-n||e.canonical.y-d.canonical.y||e.canonical.x-d.canonical.x}function cn(d){return d==="raster"||d==="image"||d==="video"}re.maxOverzooming=10,re.maxUnderzooming=3;class _e{constructor(e,n){this.reset(e,n)}reset(e,n){this.points=e||[],this._distances=[0];for(let c=1;c0?(o-k)/x:0;return this.points[y].mult(1-j).add(this.points[n].mult(j))}}function gn(d,e){let n=!0;return d==="always"||d!=="never"&&e!=="never"||(n=!1),n}class An{constructor(e,n,c){const o=this.boxCells=[],y=this.circleCells=[];this.xCellCount=Math.ceil(e/c),this.yCellCount=Math.ceil(n/c);for(let k=0;kthis.width||o<0||n>this.height)return[];const j=[];if(e<=0&&n<=0&&this.width<=c&&this.height<=o){if(y)return[{key:null,x1:e,y1:n,x2:c,y2:o}];for(let A=0;A0}hitTestCircle(e,n,c,o,y){const k=e-c,x=e+c,j=n-c,A=n+c;if(x<0||k>this.width||A<0||j>this.height)return!1;const F=[];return this._forEachCell(k,j,x,A,this._queryCellCircle,F,{hitTest:!0,overlapMode:o,circle:{x:e,y:n,radius:c},seenUids:{box:{},circle:{}}},y),F.length>0}_queryCell(e,n,c,o,y,k,x,j){const{seenUids:A,hitTest:F,overlapMode:C}=x,G=this.boxCells[y];if(G!==null){const $=this.bboxes;for(const X of G)if(!A.box[X]){A.box[X]=!0;const K=4*X,Q=this.boxKeys[X];if(e<=$[K+2]&&n<=$[K+3]&&c>=$[K+0]&&o>=$[K+1]&&(!j||j(Q))&&(!F||!gn(C,Q.overlapMode))&&(k.push({key:Q,x1:$[K],y1:$[K+1],x2:$[K+2],y2:$[K+3]}),F))return!0}}const q=this.circleCells[y];if(q!==null){const $=this.circles;for(const X of q)if(!A.circle[X]){A.circle[X]=!0;const K=3*X,Q=this.circleKeys[X];if(this._circleAndRectCollide($[K],$[K+1],$[K+2],e,n,c,o)&&(!j||j(Q))&&(!F||!gn(C,Q.overlapMode))){const ni=$[K],Z=$[K+1],si=$[K+2];if(k.push({key:Q,x1:ni-si,y1:Z-si,x2:ni+si,y2:Z+si}),F)return!0}}}return!1}_queryCellCircle(e,n,c,o,y,k,x,j){const{circle:A,seenUids:F,overlapMode:C}=x,G=this.boxCells[y];if(G!==null){const $=this.bboxes;for(const X of G)if(!F.box[X]){F.box[X]=!0;const K=4*X,Q=this.boxKeys[X];if(this._circleAndRectCollide(A.x,A.y,A.radius,$[K+0],$[K+1],$[K+2],$[K+3])&&(!j||j(Q))&&!gn(C,Q.overlapMode))return k.push(!0),!0}}const q=this.circleCells[y];if(q!==null){const $=this.circles;for(const X of q)if(!F.circle[X]){F.circle[X]=!0;const K=3*X,Q=this.circleKeys[X];if(this._circlesCollide($[K],$[K+1],$[K+2],A.x,A.y,A.radius)&&(!j||j(Q))&&!gn(C,Q.overlapMode))return k.push(!0),!0}}}_forEachCell(e,n,c,o,y,k,x,j){const A=this._convertToXCellCoord(e),F=this._convertToYCellCoord(n),C=this._convertToXCellCoord(c),G=this._convertToYCellCoord(o);for(let q=A;q<=C;q++)for(let $=F;$<=G;$++)if(y.call(this,e,n,c,o,this.xCellCount*$+q,k,x,j))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,n,c,o,y,k){const x=o-e,j=y-n,A=c+k;return A*A>x*x+j*j}_circleAndRectCollide(e,n,c,o,y,k,x){const j=(k-o)/2,A=Math.abs(e-(o+j));if(A>j+c)return!1;const F=(x-y)/2,C=Math.abs(n-(y+F));if(C>F+c)return!1;if(A<=j||C<=F)return!0;const G=A-j,q=C-F;return G*G+q*q<=c*c}}function Pn(d,e,n,c,o){const y=r.H();return e?(r.K(y,y,[1/o,1/o,1]),n||r.ae(y,y,c.angle)):r.L(y,c.labelPlaneMatrix,d),y}function Sn(d,e,n,c,o){if(e){const y=r.af(d);return r.K(y,y,[o,o,1]),n||r.ae(y,y,-c.angle),y}return c.glCoordMatrix}function Y(d,e,n){let c;n?(c=[d.x,d.y,n(d.x,d.y),1],r.ag(c,c,e)):(c=[d.x,d.y,0,1],function(y,k,x){const j=k[0],A=k[1];y[0]=x[0]*j+x[4]*A+x[12],y[1]=x[1]*j+x[5]*A+x[13],y[3]=x[3]*j+x[7]*A+x[15]}(c,c,e));const o=c[3];return{point:new r.P(c[0]/o,c[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function D(d,e){return .5+d/e*.5}function R(d,e){return d.x>=-e[0]&&d.x<=e[0]&&d.y>=-e[1]&&d.y<=e[1]}function H(d,e,n,c,o,y,k,x,j,A,F,C,G,q,$){const X=c?d.textSizeData:d.iconSizeData,K=r.ah(X,n.transform.zoom),Q=[256/n.width*2+1,256/n.height*2+1],ni=c?d.text.dynamicLayoutVertexArray:d.icon.dynamicLayoutVertexArray;ni.clear();const Z=d.lineVertexArray,si=c?d.text.placedSymbolArray:d.icon.placedSymbolArray,di=n.transform.width/n.transform.height;let yi=!1;for(let wi=0;wiMath.abs(n.x-e.x)*c?{useVertical:!0}:(d===r.ai.vertical?e.yn.x)?{needsFlipping:!0}:null}function ci(d,e,n,c,o,y,k,x,j,A,F){const C=n/24,G=e.lineOffsetX*C,q=e.lineOffsetY*C;let $;if(e.numGlyphs>1){const X=e.glyphStartIndex+e.numGlyphs,K=e.lineStartIndex,Q=e.lineStartIndex+e.lineLength,ni=W(C,x,G,q,c,e,F,d);if(!ni)return{notEnoughRoom:!0};const Z=Y(ni.first.point,k,d.getElevation).point,si=Y(ni.last.point,k,d.getElevation).point;if(o&&!c){const di=li(e.writingMode,Z,si,A);if(di)return di}$=[ni.first];for(let di=e.glyphStartIndex+1;di0?Z.point:function(yi,wi,vi,Oi,$i,Ai){return ui(yi,wi,vi,1,$i,Ai)}(d.tileAnchorPoint,ni,K,0,y,d),di=li(e.writingMode,K,si,A);if(di)return di}const X=Ti(C*x.getoffsetX(e.glyphStartIndex),G,q,c,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,d,F);if(!X||d.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};$=[X]}for(const X of $)r.ak(j,X.point,X.angle);return{}}function ui(d,e,n,c,o,y){const k=d.add(d.sub(e)._unit()),x=o!==void 0?Y(k,o,y.getElevation).point:Si(k.x,k.y,y).point,j=n.sub(x);return n.add(j._mult(c/j.mag()))}function ei(d,e,n){const c=e.projectionCache;if(c.projections[d])return c.projections[d];const o=new r.P(e.lineVertexArray.getx(d),e.lineVertexArray.gety(d)),y=Si(o.x,o.y,e);if(y.signedDistanceFromCamera>0)return c.projections[d]=y.point,c.anyProjectionOccluded=c.anyProjectionOccluded||y.isOccluded,y.point;const k=d-n.direction;return function(x,j,A,F,C){return ui(x,j,A,F,void 0,C)}(n.distanceFromAnchor===0?e.tileAnchorPoint:new r.P(e.lineVertexArray.getx(k),e.lineVertexArray.gety(k)),o,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,e)}function Si(d,e,n){const c=d+n.translation[0],o=e+n.translation[1];let y;return!n.pitchWithMap&&n.projection.useSpecialProjectionForSymbols?(y=n.projection.projectTileCoordinates(c,o,n.unwrappedTileID,n.getElevation),y.point.x=(.5*y.point.x+.5)*n.width,y.point.y=(.5*-y.point.y+.5)*n.height):(y=Y(new r.P(c,o),n.labelPlaneMatrix,n.getElevation),y.isOccluded=!1),y}function ki(d,e,n){return d._unit()._perp()._mult(e*n)}function mi(d,e,n,c,o,y,k,x,j){if(x.projectionCache.offsets[d])return x.projectionCache.offsets[d];const A=n.add(e);if(d+j.direction=o)return x.projectionCache.offsets[d]=A,A;const F=ei(d+j.direction,x,j),C=ki(F.sub(n),k,j.direction),G=n.add(C),q=F.add(C);return x.projectionCache.offsets[d]=r.al(y,A,G,q)||A,x.projectionCache.offsets[d]}function Ti(d,e,n,c,o,y,k,x,j){const A=c?d-e:d+e;let F=A>0?1:-1,C=0;c&&(F*=-1,C=Math.PI),F<0&&(C+=Math.PI);let G,q=F>0?y+o:y+o+1;x.projectionCache.cachedAnchorPoint?G=x.projectionCache.cachedAnchorPoint:(G=Si(x.tileAnchorPoint.x,x.tileAnchorPoint.y,x).point,x.projectionCache.cachedAnchorPoint=G);let $,X,K=G,Q=G,ni=0,Z=0;const si=Math.abs(A),di=[];let yi;for(;ni+Z<=si;){if(q+=F,q=k)return null;ni+=Z,Q=K,X=$;const Oi={absOffsetX:si,direction:F,distanceFromAnchor:ni,previousVertex:Q};if(K=ei(q,x,Oi),n===0)di.push(Q),yi=K.sub(Q);else{let $i;const Ai=K.sub(Q);$i=Ai.mag()===0?ki(ei(q+F,x,Oi).sub(K),n,F):ki(Ai,n,F),X||(X=Q.add($i)),$=mi(q,$i,K,y,k,X,n,x,Oi),di.push(X),yi=$.sub(X)}Z=yi.mag()}const wi=yi._mult((si-ni)/Z)._add(X||Q),vi=C+Math.atan2(K.y-Q.y,K.x-Q.x);return di.push(wi),{point:wi,angle:j?vi:0,path:di}}const ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function le(d,e){for(let n=0;n=1;Ae--)zi.push(Ie.path[Ae]);for(let Ae=1;AeRe.signedDistanceFromCamera<=0)?[]:Ae.map(Re=>Re.point)}let ht=[];if(zi.length>0){const Ae=zi[0].clone(),Re=zi[0].clone();for(let ft=1;ft=Ai.x&&Re.x<=Bi.x&&Ae.y>=Ai.y&&Re.y<=Bi.y?[zi]:Re.xBi.x||Re.yBi.y?[]:r.am([zi],Ai.x,Ai.y,Bi.x,Bi.y)}for(const Ae of ht){Xi.reset(Ae,.25*$i);let Re=0;Re=Xi.length<=.5*$i?1:Math.ceil(Xi.paddedLength/he)+1;for(let ft=0;ftY(o,c,n.getElevation))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};const n=[];let c=1/0,o=1/0,y=-1/0,k=-1/0;for(const F of e){const C=new r.P(F.x+be,F.y+be);c=Math.min(c,C.x),o=Math.min(o,C.y),y=Math.max(y,C.x),k=Math.max(k,C.y),n.push(C)}const x=this.grid.query(c,o,y,k).concat(this.ignoredGrid.query(c,o,y,k)),j={},A={};for(const F of x){const C=F.key;if(j[C.bucketInstanceId]===void 0&&(j[C.bucketInstanceId]={}),j[C.bucketInstanceId][C.featureIndex])continue;const G=[new r.P(F.x1,F.y1),new r.P(F.x2,F.y1),new r.P(F.x2,F.y2),new r.P(F.x1,F.y2)];r.an(n,G)&&(j[C.bucketInstanceId][C.featureIndex]=!0,A[C.bucketInstanceId]===void 0&&(A[C.bucketInstanceId]=[]),A[C.bucketInstanceId].push(C.featureIndex))}return A}insertCollisionBox(e,n,c,o,y,k){(c?this.ignoredGrid:this.grid).insert({bucketInstanceId:o,featureIndex:y,collisionGroupID:k,overlapMode:n},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,n,c,o,y,k){const x=c?this.ignoredGrid:this.grid,j={bucketInstanceId:o,featureIndex:y,collisionGroupID:k,overlapMode:n};for(let A=0;A=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(e,n,c,o){return c>=0&&e=0&&nthis.projectAndGetPerspectiveRatio(c,Ai.x,Ai.y,o,A));Oi=$i.some(Ai=>!Ai.isOccluded),vi=$i.map(Ai=>Ai.point)}else Oi=!0;return{box:r.ap(vi),allPointsOccluded:!Oi}}}function xe(d,e,n){return e*(r.X/(d.tileSize*Math.pow(2,n-d.tileID.overscaledZ)))}class ot{constructor(e,n,c,o){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?n:-n))):o&&c?1:0,this.placed=c}isHidden(){return this.opacity===0&&!this.placed}}class Lt{constructor(e,n,c,o,y){this.text=new ot(e?e.text:null,n,c,y),this.icon=new ot(e?e.icon:null,n,o,y)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(e,n,c){this.text=e,this.icon=n,this.skipFade=c}}class Ce{constructor(){this.invProjMatrix=r.H(),this.viewportMatrix=r.H(),this.circles=[]}}class Qe{constructor(e,n,c,o,y){this.bucketInstanceId=e,this.featureIndex=n,this.sourceLayerIndex=c,this.bucketIndex=o,this.tileID=y}}class _t{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const n=++this.maxGroupID;this.collisionGroups[e]={ID:n,predicate:c=>c.collisionGroupID===n}}return this.collisionGroups[e]}}function Wt(d,e,n,c,o){const{horizontalAlign:y,verticalAlign:k}=r.av(d);return new r.P(-(y-.5)*e+c[0]*o,-(k-.5)*n+c[1]*o)}class oa{constructor(e,n,c,o,y,k){this.transform=e.clone(),this.terrain=c,this.collisionIndex=new $e(this.transform,n),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=o,this.retainedQueryData={},this.collisionGroups=new _t(y),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=k,k&&(k.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){const n=this.terrain;return n?(c,o)=>n.getElevation(e,c,o):null}getBucketParts(e,n,c,o){const y=c.getBucket(n),k=c.latestFeatureIndex;if(!y||!k||n.id!==y.layerIds[0])return;const x=c.collisionBoxArray,j=y.layers[0].layout,A=y.layers[0].paint,F=Math.pow(2,this.transform.zoom-c.tileID.overscaledZ),C=c.tileSize/r.X,G=c.tileID.toUnwrapped(),q=this.transform.calculatePosMatrix(G),$=j.get("text-pitch-alignment")==="map",X=j.get("text-rotation-alignment")==="map",K=xe(c,1,this.transform.zoom),Q=this.collisionIndex.mapProjection.translatePosition(this.transform,c,A.get("text-translate"),A.get("text-translate-anchor")),ni=this.collisionIndex.mapProjection.translatePosition(this.transform,c,A.get("icon-translate"),A.get("icon-translate-anchor")),Z=Pn(q,$,X,this.transform,K);let si=null;if($){const yi=Sn(q,$,X,this.transform,K);si=r.L([],this.transform.labelPlaneMatrix,yi)}this.retainedQueryData[y.bucketInstanceId]=new Qe(y.bucketInstanceId,k,y.sourceLayerIndex,y.index,c.tileID);const di={bucket:y,layout:j,translationText:Q,translationIcon:ni,posMatrix:q,unwrappedTileID:G,textLabelPlaneMatrix:Z,labelToScreenMatrix:si,scale:F,textPixelRatio:C,holdingForFade:c.holdingForFade(),collisionBoxArray:x,partiallyEvaluatedTextSize:r.ah(y.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(y.sourceID)};if(o)for(const yi of y.sortKeyRanges){const{sortKey:wi,symbolInstanceStart:vi,symbolInstanceEnd:Oi}=yi;e.push({sortKey:wi,symbolInstanceStart:vi,symbolInstanceEnd:Oi,parameters:di})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:y.symbolInstances.length,parameters:di})}attemptAnchorPlacement(e,n,c,o,y,k,x,j,A,F,C,G,q,$,X,K,Q,ni,Z){const si=r.ar[e.textAnchor],di=[e.textOffset0,e.textOffset1],yi=Wt(si,c,o,di,y),wi=this.collisionIndex.placeCollisionBox(n,G,j,A,F,x,k,K,C.predicate,Z,yi);if((!ni||this.collisionIndex.placeCollisionBox(ni,G,j,A,F,x,k,Q,C.predicate,Z,yi).placeable)&&wi.placeable){let vi;if(this.prevPlacement&&this.prevPlacement.variableOffsets[q.crossTileID]&&this.prevPlacement.placements[q.crossTileID]&&this.prevPlacement.placements[q.crossTileID].text&&(vi=this.prevPlacement.variableOffsets[q.crossTileID].anchor),q.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[q.crossTileID]={textOffset:di,width:c,height:o,anchor:si,textBoxScale:y,prevAnchor:vi},this.markUsedJustification($,si,q,X),$.allowVerticalPlacement&&(this.markUsedOrientation($,X,q),this.placedOrientations[q.crossTileID]=X),{shift:yi,placedGlyphBoxes:wi}}}placeLayerBucketPart(e,n,c){const{bucket:o,layout:y,translationText:k,translationIcon:x,posMatrix:j,unwrappedTileID:A,textLabelPlaneMatrix:F,labelToScreenMatrix:C,textPixelRatio:G,holdingForFade:q,collisionBoxArray:$,partiallyEvaluatedTextSize:X,collisionGroup:K}=e.parameters,Q=y.get("text-optional"),ni=y.get("icon-optional"),Z=r.as(y,"text-overlap","text-allow-overlap"),si=Z==="always",di=r.as(y,"icon-overlap","icon-allow-overlap"),yi=di==="always",wi=y.get("text-rotation-alignment")==="map",vi=y.get("text-pitch-alignment")==="map",Oi=y.get("icon-text-fit")!=="none",$i=y.get("symbol-z-order")==="viewport-y",Ai=si&&(yi||!o.hasIconData()||ni),Bi=yi&&(si||!o.hasTextData()||Q);!o.collisionArrays&&$&&o.deserializeCollisionBoxes($);const Xi=this._getTerrainElevationFunc(this.retainedQueryData[o.bucketInstanceId].tileID),Ie=(Ri,zi,he)=>{var ht,Ae;if(n[Ri.crossTileID])return;if(q)return void(this.placements[Ri.crossTileID]=new Vt(!1,!1,!1));let Re=!1,ft=!1,ua=!0,rn=null,gt={box:null,placeable:!1,offscreen:null},Fa={box:null,placeable:!1,offscreen:null},va=null,da=null,ya=null,pn=0,sl=0,Uc=0;zi.textFeatureIndex?pn=zi.textFeatureIndex:Ri.useRuntimeCollisionCircles&&(pn=Ri.featureIndex),zi.verticalTextFeatureIndex&&(sl=zi.verticalTextFeatureIndex);const bl=zi.textBox;if(bl){const ca=ma=>{let ha=r.ai.horizontal;if(o.allowVerticalPlacement&&!ma&&this.prevPlacement){const ta=this.prevPlacement.placedOrientations[Ri.crossTileID];ta&&(this.placedOrientations[Ri.crossTileID]=ta,ha=ta,this.markUsedOrientation(o,ha,Ri))}return ha},un=(ma,ha)=>{if(o.allowVerticalPlacement&&Ri.numVerticalGlyphVertices>0&&zi.verticalTextBox){for(const ta of o.writingModes)if(ta===r.ai.vertical?(gt=ha(),Fa=gt):gt=ma(),gt&>.placeable)break}else gt=ma()},On=Ri.textAnchorOffsetStartIndex,vl=Ri.textAnchorOffsetEndIndex;if(vl===On){const ma=(ha,ta)=>{const bt=this.collisionIndex.placeCollisionBox(ha,Z,G,j,A,vi,wi,k,K.predicate,Xi);return bt&&bt.placeable&&(this.markUsedOrientation(o,ta,Ri),this.placedOrientations[Ri.crossTileID]=ta),bt};un(()=>ma(bl,r.ai.horizontal),()=>{const ha=zi.verticalTextBox;return o.allowVerticalPlacement&&Ri.numVerticalGlyphVertices>0&&ha?ma(ha,r.ai.vertical):{box:null,offscreen:null}}),ca(gt&>.placeable)}else{let ma=r.ar[(Ae=(ht=this.prevPlacement)===null||ht===void 0?void 0:ht.variableOffsets[Ri.crossTileID])===null||Ae===void 0?void 0:Ae.anchor];const ha=(bt,Al,ro)=>{const Xt=bt.x2-bt.x1,kr=bt.y2-bt.y1,Jc=Ri.textBoxScale,Zc=Oi&&di==="never"?Al:null;let $n=null,_r=Z==="never"?1:2,po="never";ma&&_r++;for(let uo=0;uo<_r;uo++){for(let yo=On;yoha(bl,zi.iconBox,r.ai.horizontal),()=>{const bt=zi.verticalTextBox;return o.allowVerticalPlacement&&(!gt||!gt.placeable)&&Ri.numVerticalGlyphVertices>0&&bt?ha(bt,zi.verticalIconBox,r.ai.vertical):{box:null,occluded:!0,offscreen:null}}),gt&&(Re=gt.placeable,ua=gt.offscreen);const ta=ca(gt&>.placeable);if(!Re&&this.prevPlacement){const bt=this.prevPlacement.variableOffsets[Ri.crossTileID];bt&&(this.variableOffsets[Ri.crossTileID]=bt,this.markUsedJustification(o,bt.anchor,Ri,ta))}}}if(va=gt,Re=va&&va.placeable,ua=va&&va.offscreen,Ri.useRuntimeCollisionCircles){const ca=o.text.placedSymbolArray.get(Ri.centerJustifiedTextSymbolIndex),un=r.aj(o.textSizeData,X,ca),On=y.get("text-padding");da=this.collisionIndex.placeCollisionCircles(Z,ca,o.lineVertexArray,o.glyphOffsetArray,un,j,A,F,C,c,vi,K.predicate,Ri.collisionCircleDiameter,On,k,Xi),da.circles.length&&da.collisionDetected&&!c&&r.w("Collisions detected, but collision boxes are not shown"),Re=si||da.circles.length>0&&!da.collisionDetected,ua=ua&&da.offscreen}if(zi.iconFeatureIndex&&(Uc=zi.iconFeatureIndex),zi.iconBox){const ca=un=>this.collisionIndex.placeCollisionBox(un,di,G,j,A,vi,wi,x,K.predicate,Xi,Oi&&rn?rn:void 0);Fa&&Fa.placeable&&zi.verticalIconBox?(ya=ca(zi.verticalIconBox),ft=ya.placeable):(ya=ca(zi.iconBox),ft=ya.placeable),ua=ua&&ya.offscreen}const ol=Q||Ri.numHorizontalGlyphVertices===0&&Ri.numVerticalGlyphVertices===0,Kc=ni||Ri.numIconVertices===0;ol||Kc?Kc?ol||(ft=ft&&Re):Re=ft&&Re:ft=Re=ft&ℜconst oo=ft&&ya.placeable;if(Re&&va.placeable&&this.collisionIndex.insertCollisionBox(va.box,Z,y.get("text-ignore-placement"),o.bucketInstanceId,Fa&&Fa.placeable&&sl?sl:pn,K.ID),oo&&this.collisionIndex.insertCollisionBox(ya.box,di,y.get("icon-ignore-placement"),o.bucketInstanceId,Uc,K.ID),da&&Re&&this.collisionIndex.insertCollisionCircles(da.circles,Z,y.get("text-ignore-placement"),o.bucketInstanceId,pn,K.ID),c&&this.storeCollisionData(o.bucketInstanceId,he,zi,va,ya,da),Ri.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(o.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ri.crossTileID]=new Vt(Re||Ai,ft||Bi,ua||o.justReloaded),n[Ri.crossTileID]=!0};if($i){if(e.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");const Ri=o.getSortedSymbolIndexes(this.transform.angle);for(let zi=Ri.length-1;zi>=0;--zi){const he=Ri[zi];Ie(o.symbolInstances.get(he),o.collisionArrays[he],he)}}else for(let Ri=e.symbolInstanceStart;Ri=0&&(e.text.placedSymbolArray.get(x).crossTileID=y>=0&&x!==y?0:c.crossTileID)}markUsedOrientation(e,n,c){const o=n===r.ai.horizontal||n===r.ai.horizontalOnly?n:0,y=n===r.ai.vertical?n:0,k=[c.leftJustifiedTextSymbolIndex,c.centerJustifiedTextSymbolIndex,c.rightJustifiedTextSymbolIndex];for(const x of k)e.text.placedSymbolArray.get(x).placedOrientation=o;c.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(c.verticalPlacedTextSymbolIndex).placedOrientation=y)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const n=this.prevPlacement;let c=!1;this.prevZoomAdjustment=n?n.zoomAdjustment(this.transform.zoom):0;const o=n?n.symbolFadeChange(e):1,y=n?n.opacities:{},k=n?n.variableOffsets:{},x=n?n.placedOrientations:{};for(const j in this.placements){const A=this.placements[j],F=y[j];F?(this.opacities[j]=new Lt(F,o,A.text,A.icon),c=c||A.text!==F.text.placed||A.icon!==F.icon.placed):(this.opacities[j]=new Lt(null,o,A.text,A.icon,A.skipFade),c=c||A.text||A.icon)}for(const j in y){const A=y[j];if(!this.opacities[j]){const F=new Lt(A,o,!1,!1);F.isHidden()||(this.opacities[j]=F,c=c||A.text.placed||A.icon.placed)}}for(const j in k)this.variableOffsets[j]||!this.opacities[j]||this.opacities[j].isHidden()||(this.variableOffsets[j]=k[j]);for(const j in x)this.placedOrientations[j]||!this.opacities[j]||this.opacities[j].isHidden()||(this.placedOrientations[j]=x[j]);if(n&&n.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");c?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=n?n.lastPlacementChangeTime:e)}updateLayerOpacities(e,n){const c={};for(const o of n){const y=o.getBucket(e);y&&o.latestFeatureIndex&&e.id===y.layerIds[0]&&this.updateBucketOpacities(y,o.tileID,c,o.collisionBoxArray)}}updateBucketOpacities(e,n,c,o){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const y=e.layers[0],k=y.layout,x=new Lt(null,0,!1,!1,!0),j=k.get("text-allow-overlap"),A=k.get("icon-allow-overlap"),F=y._unevaluatedLayout.hasValue("text-variable-anchor")||y._unevaluatedLayout.hasValue("text-variable-anchor-offset"),C=k.get("text-rotation-alignment")==="map",G=k.get("text-pitch-alignment")==="map",q=k.get("icon-text-fit")!=="none",$=new Lt(null,0,j&&(A||!e.hasIconData()||k.get("icon-optional")),A&&(j||!e.hasTextData()||k.get("text-optional")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);const X=(Q,ni,Z)=>{for(let si=0;si0,vi=this.placedOrientations[ni.crossTileID],Oi=vi===r.ai.vertical,$i=vi===r.ai.horizontal||vi===r.ai.horizontalOnly;if(Z>0||si>0){const Bi=qa(yi.text);X(e.text,Z,Oi?pa:Bi),X(e.text,si,$i?pa:Bi);const Xi=yi.text.isHidden();[ni.rightJustifiedTextSymbolIndex,ni.centerJustifiedTextSymbolIndex,ni.leftJustifiedTextSymbolIndex].forEach(zi=>{zi>=0&&(e.text.placedSymbolArray.get(zi).hidden=Xi||Oi?1:0)}),ni.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(ni.verticalPlacedTextSymbolIndex).hidden=Xi||$i?1:0);const Ie=this.variableOffsets[ni.crossTileID];Ie&&this.markUsedJustification(e,Ie.anchor,ni,vi);const Ri=this.placedOrientations[ni.crossTileID];Ri&&(this.markUsedJustification(e,"left",ni,Ri),this.markUsedOrientation(e,Ri,ni))}if(wi){const Bi=qa(yi.icon),Xi=!(q&&ni.verticalPlacedIconSymbolIndex&&Oi);ni.placedIconSymbolIndex>=0&&(X(e.icon,ni.numIconVertices,Xi?Bi:pa),e.icon.placedSymbolArray.get(ni.placedIconSymbolIndex).hidden=yi.icon.isHidden()),ni.verticalPlacedIconSymbolIndex>=0&&(X(e.icon,ni.numVerticalIconVertices,Xi?pa:Bi),e.icon.placedSymbolArray.get(ni.verticalPlacedIconSymbolIndex).hidden=yi.icon.isHidden())}const Ai=K&&K.has(Q)?K.get(Q):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const Bi=e.collisionArrays[Q];if(Bi){let Xi=new r.P(0,0);if(Bi.textBox||Bi.verticalTextBox){let Ie=!0;if(F){const Ri=this.variableOffsets[di];Ri?(Xi=Wt(Ri.anchor,Ri.width,Ri.height,Ri.textOffset,Ri.textBoxScale),C&&Xi._rotate(G?this.transform.angle:-this.transform.angle)):Ie=!1}if(Bi.textBox||Bi.verticalTextBox){let Ri;Bi.textBox&&(Ri=Oi),Bi.verticalTextBox&&(Ri=$i),ra(e.textCollisionBox.collisionVertexArray,yi.text.placed,!Ie||Ri,Ai.text,Xi.x,Xi.y)}}if(Bi.iconBox||Bi.verticalIconBox){const Ie=!!(!$i&&Bi.verticalIconBox);let Ri;Bi.iconBox&&(Ri=Ie),Bi.verticalIconBox&&(Ri=!Ie),ra(e.iconCollisionBox.collisionVertexArray,yi.icon.placed,Ri,Ai.icon,q?Xi.x:0,q?Xi.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const Q=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=Q.invProjMatrix,e.placementViewportMatrix=Q.viewportMatrix,e.collisionCircleArray=Q.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function ra(d,e,n,c,o,y){c&&c.length!==0||(c=[0,0,0,0]);const k=c[0]-be,x=c[1]-be,j=c[2]-be,A=c[3]-be;d.emplaceBack(e?1:0,n?1:0,o||0,y||0,k,x),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,j,x),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,j,A),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,k,A)}const Pl=Math.pow(2,25),it=Math.pow(2,24),hs=Math.pow(2,17),fs=Math.pow(2,16),za=Math.pow(2,9),Ea=Math.pow(2,8),t0=Math.pow(2,1);function qa(d){if(d.opacity===0&&!d.placed)return 0;if(d.opacity===1&&d.placed)return 4294967295;const e=d.placed?1:0,n=Math.floor(127*d.opacity);return n*Pl+e*it+n*hs+e*fs+n*za+e*Ea+n*t0+e}const pa=0;function fc(){return{isOccluded:(d,e,n)=>!1,getPitchedTextCorrection:(d,e,n)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(d,e,n,c){throw new Error("Not implemented.")},translatePosition:(d,e,n,c)=>function(o,y,k,x,j=!1){if(!k[0]&&!k[1])return[0,0];const A=j?x==="map"?o.angle:0:x==="viewport"?-o.angle:0;if(A){const F=Math.sin(A),C=Math.cos(A);k=[k[0]*C-k[1]*F,k[0]*F+k[1]*C]}return[j?k[0]:xe(y,k[0],o.zoom),j?k[1]:xe(y,k[1],o.zoom)]}(d,e,n,c),getCircleRadiusCorrection:d=>1}}class Ml{constructor(e){this._sortAcrossTiles=e.layout.get("symbol-z-order")!=="viewport-y"&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,n,c,o,y){const k=this._bucketParts;for(;this._currentTileIndexx.sortKey-j.sortKey));this._currentPartIndex!this._forceFullPlacement&&V.now()-o>2;for(;this._currentPlacementIndex>=0;){const k=n[e[this._currentPlacementIndex]],x=this.placement.collisionIndex.transform.zoom;if(k.type==="symbol"&&(!k.minzoom||k.minzoom<=x)&&(!k.maxzoom||k.maxzoom>x)){if(this._inProgressLayer||(this._inProgressLayer=new Ml(k)),this._inProgressLayer.continuePlacement(c[k.source],this.placement,this._showCollisionBoxes,k,y))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const Ln=512/r.X/2;class Xn{constructor(e,n,c){this.tileID=e,this.bucketInstanceId=c,this._symbolsByKey={};const o=new Map;for(let y=0;y({x:Math.floor(j.anchorX*Ln),y:Math.floor(j.anchorY*Ln)})),crossTileIDs:k.map(j=>j.crossTileID)};if(x.positions.length>128){const j=new r.aw(x.positions.length,16,Uint16Array);for(const{x:A,y:F}of x.positions)j.add(A,F);j.finish(),delete x.positions,x.index=j}this._symbolsByKey[y]=x}}getScaledCoordinates(e,n){const{x:c,y:o,z:y}=this.tileID.canonical,{x:k,y:x,z:j}=n.canonical,A=Ln/Math.pow(2,j-y),F=(x*r.X+e.anchorY)*A,C=o*r.X*Ln;return{x:Math.floor((k*r.X+e.anchorX)*A-c*r.X*Ln),y:Math.floor(F-C)}}findMatches(e,n,c){const o=this.tileID.canonical.ze)}}class Pt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class gc{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){const n=Math.round((e-this.lng)/360);if(n!==0)for(const c in this.indexes){const o=this.indexes[c],y={};for(const k in o){const x=o[k];x.tileID=x.tileID.unwrapTo(x.tileID.wrap+n),y[x.tileID.key]=x}this.indexes[c]=y}this.lng=e}addBucket(e,n,c){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===n.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let y=0;ye.overscaledZ)for(const x in k){const j=k[x];j.tileID.isChildOf(e)&&j.findMatches(n.symbolInstances,e,o)}else{const x=k[e.scaledTo(Number(y)).key];x&&x.findMatches(n.symbolInstances,e,o)}}for(let y=0;y{n[c]=!0});for(const c in this.layerIndexes)n[c]||delete this.layerIndexes[c]}}const zl=(d,e)=>r.t(d,e&&e.filter(n=>n.identifier!=="source.canvas")),Mn=r.ax();class gs extends r.E{constructor(e,n={}){super(),this._rtlPluginLoaded=()=>{for(const c in this.sourceCaches){const o=this.sourceCaches[c].getSource().type;o!=="vector"&&o!=="geojson"||this.sourceCaches[c].reload()}},this.map=e,this.dispatcher=new Ht(an(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",(c,o)=>this.getGlyphs(c,o)),this.dispatcher.registerMessageHandler("GI",(c,o)=>this.getImages(c,o)),this.imageManager=new qe,this.imageManager.setEventedParent(this),this.glyphManager=new We(e._requestManager,n.localIdeographFontFamily),this.lineAtlas=new Jt(256,512),this.crossTileSymbolIndex=new Ya,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new r.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",r.az()),Ma().on(bi,this._rtlPluginLoaded),this.on("data",c=>{if(c.dataType!=="source"||c.sourceDataType!=="metadata")return;const o=this.sourceCaches[c.sourceId];if(!o)return;const y=o.getSource();if(y&&y.vectorLayerIds)for(const k in this._layers){const x=this._layers[k];x.source===y.id&&this._validateLayer(x)}})}loadURL(e,n={},c){this.fire(new r.k("dataloading",{dataType:"style"})),n.validate=typeof n.validate!="boolean"||n.validate;const o=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController,r.h(o,this._loadStyleRequest).then(y=>{this._loadStyleRequest=null,this._load(y.data,n,c)}).catch(y=>{this._loadStyleRequest=null,y&&this.fire(new r.j(y))})}loadJSON(e,n={},c){this.fire(new r.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,V.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,n.validate=n.validate!==!1,this._load(e,n,c)}).catch(()=>{})}loadEmpty(){this.fire(new r.k("dataloading",{dataType:"style"})),this._load(Mn,{validate:!1})}_load(e,n,c){var o;const y=n.transformStyle?n.transformStyle(c,e):e;if(!n.validate||!zl(this,r.x(y))){this._loaded=!0,this.stylesheet=y;for(const k in y.sources)this.addSource(k,y.sources[k],{validate:!1});y.sprite?this._loadSprite(y.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(y.glyphs),this._createLayers(),this.light=new fe(this.stylesheet.light),this.sky=new Ye(this.stylesheet.sky),this.map.setTerrain((o=this.stylesheet.terrain)!==null&&o!==void 0?o:null),this.fire(new r.k("data",{dataType:"style"})),this.fire(new r.k("style.load"))}}_createLayers(){const e=r.aA(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map(n=>n.id),this._layers={},this._serializedLayers=null;for(const n of e){const c=r.aB(n);c.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=c}}_loadSprite(e,n=!1,c=void 0){let o;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(y,k,x,j){return r._(this,void 0,void 0,function*(){const A=Be(y),F=x>1?"@2x":"",C={},G={};for(const{id:q,url:$}of A){const X=k.transformRequest(we($,F,".json"),"SpriteJSON");C[q]=r.h(X,j);const K=k.transformRequest(we($,F,".png"),"SpriteImage");G[q]=Pi.getImage(K,j)}return yield Promise.all([...Object.values(C),...Object.values(G)]),function(q,$){return r._(this,void 0,void 0,function*(){const X={};for(const K in q){X[K]={};const Q=V.getImageCanvasContext((yield $[K]).data),ni=(yield q[K]).data;for(const Z in ni){const{width:si,height:di,x:yi,y:wi,sdf:vi,pixelRatio:Oi,stretchX:$i,stretchY:Ai,content:Bi,textFitWidth:Xi,textFitHeight:Ie}=ni[Z];X[K][Z]={data:null,pixelRatio:Oi,sdf:vi,stretchX:$i,stretchY:Ai,content:Bi,textFitWidth:Xi,textFitHeight:Ie,spriteData:{width:si,height:di,x:yi,y:wi,context:Q}}}}return X})}(C,G)})}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(y=>{if(this._spriteRequest=null,y)for(const k in y){this._spritesImagesIds[k]=[];const x=this._spritesImagesIds[k]?this._spritesImagesIds[k].filter(j=>!(j in y)):[];for(const j of x)this.imageManager.removeImage(j),this._changedImages[j]=!0;for(const j in y[k]){const A=k==="default"?j:`${k}:${j}`;this._spritesImagesIds[k].push(A),A in this.imageManager.images?this.imageManager.updateImage(A,y[k][j],!1):this.imageManager.addImage(A,y[k][j]),n&&(this._changedImages[A]=!0)}}}).catch(y=>{this._spriteRequest=null,o=y,this.fire(new r.j(o))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"})),c&&c(o)})}_unloadSprite(){for(const e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}_validateLayer(e){const n=this.sourceCaches[e.source];if(!n)return;const c=e.sourceLayer;if(!c)return;const o=n.getSource();(o.type==="geojson"||o.vectorLayerIds&&o.vectorLayerIds.indexOf(c)===-1)&&this.fire(new r.j(new Error(`Source layer "${c}" does not exist on source "${o.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e){const n=this._serializedAllLayers();if(!e||e.length===0)return Object.values(n);const c=[];for(const o of e)n[o]&&c.push(n[o]);return c}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};const n=Object.keys(this._layers);for(const c of n){const o=this._layers[c];o.type!=="custom"&&(e[c]=o.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(const e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const n=this._changed;if(n){const o=Object.keys(this._updatedLayers),y=Object.keys(this._removedLayers);(o.length||y.length)&&this._updateWorkerLayers(o,y);for(const k in this._updatedSources){const x=this._updatedSources[k];if(x==="reload")this._reloadSource(k);else{if(x!=="clear")throw new Error(`Invalid action ${x}`);this._clearSource(k)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const k in this._updatedPaintProps)this._layers[k].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}const c={};for(const o in this.sourceCaches){const y=this.sourceCaches[o];c[o]=y.used,y.used=!1}for(const o of this._order){const y=this._layers[o];y.recalculate(e,this._availableImages),!y.isHidden(e.zoom)&&y.source&&(this.sourceCaches[y.source].used=!0)}for(const o in c){const y=this.sourceCaches[o];!!c[o]!=!!y.used&&y.fire(new r.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:o}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,n&&this.fire(new r.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const n in this.sourceCaches)this.sourceCaches[n].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,n){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e),removedIds:n})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,n={}){var c;this._checkLoaded();const o=this.serialize();if(e=n.transformStyle?n.transformStyle(o,e):e,((c=n.validate)===null||c===void 0||c)&&zl(this,r.x(e)))return!1;(e=r.aC(e)).layers=r.aA(e.layers);const y=r.aD(o,e),k=this._getOperationsToPerform(y);if(k.unimplemented.length>0)throw new Error(`Unimplemented: ${k.unimplemented.join(", ")}.`);if(k.operations.length===0)return!1;for(const x of k.operations)x();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){const n=[],c=[];for(const o of e)switch(o.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":n.push(()=>this.addLayer.apply(this,o.args));break;case"removeLayer":n.push(()=>this.removeLayer.apply(this,o.args));break;case"setPaintProperty":n.push(()=>this.setPaintProperty.apply(this,o.args));break;case"setLayoutProperty":n.push(()=>this.setLayoutProperty.apply(this,o.args));break;case"setFilter":n.push(()=>this.setFilter.apply(this,o.args));break;case"addSource":n.push(()=>this.addSource.apply(this,o.args));break;case"removeSource":n.push(()=>this.removeSource.apply(this,o.args));break;case"setLayerZoomRange":n.push(()=>this.setLayerZoomRange.apply(this,o.args));break;case"setLight":n.push(()=>this.setLight.apply(this,o.args));break;case"setGeoJSONSourceData":n.push(()=>this.setGeoJSONSourceData.apply(this,o.args));break;case"setGlyphs":n.push(()=>this.setGlyphs.apply(this,o.args));break;case"setSprite":n.push(()=>this.setSprite.apply(this,o.args));break;case"setSky":n.push(()=>this.setSky.apply(this,o.args));break;case"setTerrain":n.push(()=>this.map.setTerrain.apply(this,o.args));break;case"setTransition":n.push(()=>{});break;default:c.push(o.command)}return{operations:n,unimplemented:c}}addImage(e,n){if(this.getImage(e))return this.fire(new r.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,n),this._afterImageUpdated(e)}updateImage(e,n){this.imageManager.updateImage(e,n)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new r.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,n,c={}){if(this._checkLoaded(),this.sourceCaches[e]!==void 0)throw new Error(`Source "${e}" already exists.`);if(!n.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(n.type)>=0&&this._validate(r.x.source,`sources.${e}`,n,null,c))return;this.map&&this.map._collectResourceTiming&&(n.collectResourceTiming=!0);const o=this.sourceCaches[e]=new re(e,n,this.dispatcher);o.style=this,o.setEventedParent(this,()=>({isSourceLoaded:o.loaded(),source:o.serialize(),sourceId:e})),o.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error("There is no source with this ID");for(const c in this._layers)if(this._layers[c].source===e)return this.fire(new r.j(new Error(`Source "${e}" cannot be removed while layer "${c}" is using it.`)));const n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new r.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,n){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error(`There is no source with this ID=${e}`);const c=this.sourceCaches[e].getSource();if(c.type!=="geojson")throw new Error(`geojsonSource.type is ${c.type}, which is !== 'geojson`);c.setData(n),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,n,c={}){this._checkLoaded();const o=e.id;if(this.getLayer(o))return void this.fire(new r.j(new Error(`Layer "${o}" already exists on this map.`)));let y;if(e.type==="custom"){if(zl(this,r.aE(e)))return;y=r.aB(e)}else{if("source"in e&&typeof e.source=="object"&&(this.addSource(o,e.source),e=r.aC(e),e=r.e(e,{source:o})),this._validate(r.x.layer,`layers.${o}`,e,{arrayIndex:-1},c))return;y=r.aB(e),this._validateLayer(y),y.setEventedParent(this,{layer:{id:o}})}const k=n?this._order.indexOf(n):this._order.length;if(n&&k===-1)this.fire(new r.j(new Error(`Cannot add layer "${o}" before non-existing layer "${n}".`)));else{if(this._order.splice(k,0,o),this._layerOrderChanged=!0,this._layers[o]=y,this._removedLayers[o]&&y.source&&y.type!=="custom"){const x=this._removedLayers[o];delete this._removedLayers[o],x.type!==y.type?this._updatedSources[y.source]="clear":(this._updatedSources[y.source]="reload",this.sourceCaches[y.source].pause())}this._updateLayer(y),y.onAdd&&y.onAdd(this.map)}}moveLayer(e,n){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new r.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===n)return;const c=this._order.indexOf(e);this._order.splice(c,1);const o=n?this._order.indexOf(n):this._order.length;n&&o===-1?this.fire(new r.j(new Error(`Cannot move layer "${e}" before non-existing layer "${n}".`))):(this._order.splice(o,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const n=this._layers[e];if(!n)return void this.fire(new r.j(new Error(`Cannot remove non-existing layer "${e}".`)));n.setEventedParent(null);const c=this._order.indexOf(e);this._order.splice(c,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=n,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],n.onRemove&&n.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,n,c){this._checkLoaded();const o=this.getLayer(e);o?o.minzoom===n&&o.maxzoom===c||(n!=null&&(o.minzoom=n),c!=null&&(o.maxzoom=c),this._updateLayer(o)):this.fire(new r.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,n,c={}){this._checkLoaded();const o=this.getLayer(e);if(o){if(!r.aF(o.filter,n))return n==null?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(r.x.filter,`layers.${o.id}.filter`,n,null,c)||(o.filter=r.aC(n),this._updateLayer(o)))}else this.fire(new r.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return r.aC(this.getLayer(e).filter)}setLayoutProperty(e,n,c,o={}){this._checkLoaded();const y=this.getLayer(e);y?r.aF(y.getLayoutProperty(n),c)||(y.setLayoutProperty(n,c,o),this._updateLayer(y)):this.fire(new r.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,n){const c=this.getLayer(e);if(c)return c.getLayoutProperty(n);this.fire(new r.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,n,c,o={}){this._checkLoaded();const y=this.getLayer(e);y?r.aF(y.getPaintProperty(n),c)||(y.setPaintProperty(n,c,o)&&this._updateLayer(y),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new r.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,n){return this.getLayer(e).getPaintProperty(n)}setFeatureState(e,n){this._checkLoaded();const c=e.source,o=e.sourceLayer,y=this.sourceCaches[c];if(y===void 0)return void this.fire(new r.j(new Error(`The source '${c}' does not exist in the map's style.`)));const k=y.getSource().type;k==="geojson"&&o?this.fire(new r.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):k!=="vector"||o?(e.id===void 0&&this.fire(new r.j(new Error("The feature id parameter must be provided."))),y.setFeatureState(o,e.id,n)):this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,n){this._checkLoaded();const c=e.source,o=this.sourceCaches[c];if(o===void 0)return void this.fire(new r.j(new Error(`The source '${c}' does not exist in the map's style.`)));const y=o.getSource().type,k=y==="vector"?e.sourceLayer:void 0;y!=="vector"||k?n&&typeof e.id!="string"&&typeof e.id!="number"?this.fire(new r.j(new Error("A feature id is required to remove its specific state property."))):o.removeFeatureState(k,e.id,n):this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const n=e.source,c=e.sourceLayer,o=this.sourceCaches[n];if(o!==void 0)return o.getSource().type!=="vector"||c?(e.id===void 0&&this.fire(new r.j(new Error("The feature id parameter must be provided."))),o.getFeatureState(c,e.id)):void this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new r.j(new Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){return r.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const e=r.aG(this.sourceCaches,y=>y.serialize()),n=this._serializeByIds(this._order),c=this.map.getTerrain()||void 0,o=this.stylesheet;return r.aH({version:o.version,name:o.name,metadata:o.metadata,light:o.light,sky:o.sky,center:o.center,zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,sprite:o.sprite,glyphs:o.glyphs,transition:o.transition,sources:e,layers:n,terrain:c},y=>y!==void 0)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.sourceCaches[e.source].getSource().type!=="raster"&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){const n=k=>this._layers[k].type==="fill-extrusion",c={},o=[];for(let k=this._order.length-1;k>=0;k--){const x=this._order[k];if(n(x)){c[x]=k;for(const j of e){const A=j[x];if(A)for(const F of A)o.push(F)}}}o.sort((k,x)=>x.intersectionZ-k.intersectionZ);const y=[];for(let k=this._order.length-1;k>=0;k--){const x=this._order[k];if(n(x))for(let j=o.length-1;j>=0;j--){const A=o[j].feature;if(c[A.layer.id]{const vi=Q.featureSortOrder;if(vi){const Oi=vi.indexOf(yi.featureIndex);return vi.indexOf(wi.featureIndex)-Oi}return wi.featureIndex-yi.featureIndex});for(const yi of di)si.push(yi)}}for(const Q in $)$[Q].forEach(ni=>{const Z=ni.feature,si=A[x[Q].source].getFeatureState(Z.layer["source-layer"],Z.id);Z.source=Z.layer.source,Z.layer["source-layer"]&&(Z.sourceLayer=Z.layer["source-layer"]),Z.state=si});return $}(this._layers,k,this.sourceCaches,e,n,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(y)}querySourceFeatures(e,n){n&&n.filter&&this._validate(r.x.filter,"querySourceFeatures.filter",n.filter,null,n);const c=this.sourceCaches[e];return c?function(o,y){const k=o.getRenderableIds().map(A=>o.getTileByID(A)),x=[],j={};for(let A=0;AG.getTileByID(q)).sort((q,$)=>$.tileID.overscaledZ-q.tileID.overscaledZ||(q.tileID.isLessThan($.tileID)?-1:1))}const C=this.crossTileSymbolIndex.addLayer(F,j[F.source],e.center.lng);k=k||C}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((y=y||this._layerOrderChanged||c===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(V.now(),e.zoom))&&(this.pauseablePlacement=new Ot(e,this.map.terrain,this._order,y,n,c,o,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,j),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(V.now()),x=!0),k&&this.pauseablePlacement.placement.setStale()),x||k)for(const A of this._order){const F=this._layers[A];F.type==="symbol"&&this.placement.updateLayerOpacities(F,j[F.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(V.now())}_releaseSymbolFadeTiles(){for(const e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,n){return r._(this,void 0,void 0,function*(){const c=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();const o=this.sourceCaches[n.source];return o&&o.setDependencies(n.tileID.key,n.type,n.icons),c})}getGlyphs(e,n){return r._(this,void 0,void 0,function*(){const c=yield this.glyphManager.getGlyphs(n.stacks),o=this.sourceCaches[n.source];return o&&o.setDependencies(n.tileID.key,n.type,[""]),c})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,n={}){this._checkLoaded(),e&&this._validate(r.x.glyphs,"glyphs",e,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,n,c={},o){this._checkLoaded();const y=[{id:e,url:n}],k=[...Be(this.stylesheet.sprite),...y];this._validate(r.x.sprite,"sprite",k,null,c)||(this.stylesheet.sprite=k,this._loadSprite(y,!0,o))}removeSprite(e){this._checkLoaded();const n=Be(this.stylesheet.sprite);if(n.find(c=>c.id===e)){if(this._spritesImagesIds[e])for(const c of this._spritesImagesIds[e])this.imageManager.removeImage(c),this._changedImages[c]=!0;n.splice(n.findIndex(c=>c.id===e),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}else this.fire(new r.j(new Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return Be(this.stylesheet.sprite)}setSprite(e,n={},c){this._checkLoaded(),e&&this._validate(r.x.sprite,"sprite",e,null,n)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,c):(this._unloadSprite(),c&&c(null)))}}var El=r.Y([{name:"a_pos",type:"Int16",components:2}]);const zn={prelude:Ze(`#ifdef GL_ES + */(function(I,p){(function(f,h){I.exports=h()})(Fh,function(){var f={},h={};function g(w,r,G){if(h[w]=G,w==="index"){var z="var sharedModule = {}; ("+h.shared+")(sharedModule); ("+h.worker+")(sharedModule);",U={};return h.shared(U),h.index(f,U),typeof window<"u"&&f.setWorkerUrl(window.URL.createObjectURL(new Blob([z],{type:"text/javascript"}))),f}}g("shared",["exports"],function(w){function r(t,i,a,l){return new(a||(a=Promise))(function(s,u){function m(v){try{_(l.next(v))}catch(L){u(L)}}function S(v){try{_(l.throw(v))}catch(L){u(L)}}function _(v){var L;v.done?s(v.value):(L=v.value,L instanceof a?L:new a(function(B){B(L)})).then(m,S)}_((l=l.apply(t,i||[])).next())})}function G(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}typeof SuppressedError=="function"&&SuppressedError;var z=U;function U(t,i){this.x=t,this.y=i}U.prototype={clone:function(){return new U(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,i){return this.clone()._rotateAround(t,i)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var i=t.x-this.x,a=t.y-this.y;return i*i+a*a},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,i){return Math.atan2(this.x*i-this.y*t,this.x*t+this.y*i)},_matMult:function(t){var i=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var i=Math.cos(t),a=Math.sin(t),l=a*this.x+i*this.y;return this.x=i*this.x-a*this.y,this.y=l,this},_rotateAround:function(t,i){var a=Math.cos(t),l=Math.sin(t),s=i.y+l*(this.x-i.x)+a*(this.y-i.y);return this.x=i.x+a*(this.x-i.x)-l*(this.y-i.y),this.y=s,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},U.convert=function(t){return t instanceof U?t:Array.isArray(t)?new U(t[0],t[1]):t};var V=G(z),E=xi;function xi(t,i,a,l){this.cx=3*t,this.bx=3*(a-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(l-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=i,this.p2x=a,this.p2y=l}xi.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,i){if(i===void 0&&(i=1e-6),t<0)return 0;if(t>1)return 1;for(var a=t,l=0;l<8;l++){var s=this.sampleCurveX(a)-t;if(Math.abs(s)s?m=a:S=a,a=.5*(S-m)+m;return a},solve:function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}};var ti=G(E);let hi,pi;function Bi(){return hi==null&&(hi=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),hi}function zi(){if(pi==null&&(pi=!1,Bi())){const i=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(i){for(let l=0;l<5*5;l++){const s=4*l;i.fillStyle=`rgb(${s},${s+1},${s+2})`,i.fillRect(l%5,Math.floor(l/5),1,1)}const a=i.getImageData(0,0,5,5).data;for(let l=0;l<5*5*4;l++)if(l%4!=3&&a[l]!==l){pi=!0;break}}}return pi||!1}function Ei(t,i,a,l){const s=new ti(t,i,a,l);return u=>s.solve(u)}const $i=Ei(.25,.1,.25,1);function Ji(t,i,a){return Math.min(a,Math.max(i,t))}function me(t,i,a){const l=a-i,s=((t-i)%l+l)%l+i;return s===i?a:s}function pe(t,...i){for(const a of i)for(const l in a)t[l]=a[l];return t}let St=1;function qe(t,i,a){const l={};for(const s in t)l[s]=i.call(this,t[s],s,t);return l}function Ie(t,i,a){const l={};for(const s in t)i.call(this,t[s],s,t)&&(l[s]=t[s]);return l}function we(t){return Array.isArray(t)?t.map(we):typeof t=="object"&&t?qe(t,we):t}const yt={};function Ze(t){yt[t]||(typeof console<"u"&&console.warn(t),yt[t]=!0)}function We(t,i,a){return(a.y-t.y)*(i.x-t.x)>(i.y-t.y)*(a.x-t.x)}function Ye(t){return typeof WorkerGlobalScope<"u"&&t!==void 0&&t instanceof WorkerGlobalScope}let Pt=null;function Ki(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap}const Ai="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function it(t,i,a,l,s){return r(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");const u=new VideoFrame(t,{timestamp:0});try{const m=u==null?void 0:u.format;if(!m||!m.startsWith("BGR")&&!m.startsWith("RGB"))throw new Error(`Unrecognized format ${m}`);const S=m.startsWith("BGR"),_=new Uint8ClampedArray(l*s*4);if(yield u.copyTo(_,function(v,L,B,T,N){const M=4*Math.max(-L,0),O=(Math.max(0,B)-B)*T*4+M,J=4*T,ii=Math.max(0,L),ri=Math.max(0,B);return{rect:{x:ii,y:ri,width:Math.min(v.width,L+T)-ii,height:Math.min(v.height,B+N)-ri},layout:[{offset:O,stride:J}]}}(t,i,a,l,s)),S)for(let v=0;v<_.length;v+=4){const L=_[v];_[v]=_[v+2],_[v+2]=L}return _}finally{u.close()}})}let Ee,Oe;const $e="AbortError";function at(){return new Error($e)}const ta={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function oe(t){return ta.REGISTERED_PROTOCOLS[t.substring(0,t.indexOf("://"))]}const ke="global-dispatcher";class pt extends Error{constructor(i,a,l,s){super(`AJAXError: ${a} (${i}): ${l}`),this.status=i,this.statusText=a,this.url=l,this.body=s}}const nt=()=>Ye(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,It=function(t,i){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const l=oe(t.url);if(l)return l(t,i);if(Ye(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:ke},i)}if(!(/^file:/.test(a=t.url)||/^file:/.test(nt())&&!/^\w+:/.test(a))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(l,s){return r(this,void 0,void 0,function*(){const u=new Request(l.url,{method:l.method||"GET",body:l.body,credentials:l.credentials,headers:l.headers,cache:l.cache,referrer:nt(),signal:s.signal});l.type!=="json"||u.headers.has("Accept")||u.headers.set("Accept","application/json");const m=yield fetch(u);if(!m.ok){const v=yield m.blob();throw new pt(m.status,m.statusText,l.url,v)}let S;S=l.type==="arrayBuffer"||l.type==="image"?m.arrayBuffer():l.type==="json"?m.json():m.text();const _=yield S;if(s.signal.aborted)throw at();return{data:_,cacheControl:m.headers.get("Cache-Control"),expires:m.headers.get("Expires")}})}(t,i);if(Ye(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:ke},i)}var a;return function(l,s){return new Promise((u,m)=>{var S;const _=new XMLHttpRequest;_.open(l.method||"GET",l.url,!0),l.type!=="arrayBuffer"&&l.type!=="image"||(_.responseType="arraybuffer");for(const v in l.headers)_.setRequestHeader(v,l.headers[v]);l.type==="json"&&(_.responseType="text",!((S=l.headers)===null||S===void 0)&&S.Accept||_.setRequestHeader("Accept","application/json")),_.withCredentials=l.credentials==="include",_.onerror=()=>{m(new Error(_.statusText))},_.onload=()=>{if(!s.signal.aborted)if((_.status>=200&&_.status<300||_.status===0)&&_.response!==null){let v=_.response;if(l.type==="json")try{v=JSON.parse(_.response)}catch(L){return void m(L)}u({data:v,cacheControl:_.getResponseHeader("Cache-Control"),expires:_.getResponseHeader("Expires")})}else{const v=new Blob([_.response],{type:_.getResponseHeader("Content-Type")});m(new pt(_.status,_.statusText,l.url,v))}},s.signal.addEventListener("abort",()=>{_.abort(),m(at())}),_.send(l.body)})}(t,i)};function ut(t){if(!t||t.indexOf("://")<=0||t.indexOf("data:image/")===0||t.indexOf("blob:")===0)return!0;const i=new URL(t),a=window.location;return i.protocol===a.protocol&&i.host===a.host}function Ft(t,i,a){a[t]&&a[t].indexOf(i)!==-1||(a[t]=a[t]||[],a[t].push(i))}function Ut(t,i,a){if(a&&a[t]){const l=a[t].indexOf(i);l!==-1&&a[t].splice(l,1)}}class ba{constructor(i,a={}){pe(this,a),this.type=i}}class nn extends ba{constructor(i,a={}){super("error",pe({error:i},a))}}class Dt{on(i,a){return this._listeners=this._listeners||{},Ft(i,a,this._listeners),this}off(i,a){return Ut(i,a,this._listeners),Ut(i,a,this._oneTimeListeners),this}once(i,a){return a?(this._oneTimeListeners=this._oneTimeListeners||{},Ft(i,a,this._oneTimeListeners),this):new Promise(l=>this.once(i,l))}fire(i,a){typeof i=="string"&&(i=new ba(i,a||{}));const l=i.type;if(this.listens(l)){i.target=this;const s=this._listeners&&this._listeners[l]?this._listeners[l].slice():[];for(const S of s)S.call(this,i);const u=this._oneTimeListeners&&this._oneTimeListeners[l]?this._oneTimeListeners[l].slice():[];for(const S of u)Ut(l,S,this._oneTimeListeners),S.call(this,i);const m=this._eventedParent;m&&(pe(i,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),m.fire(i))}else i instanceof nn&&console.error(i.error);return this}listens(i){return this._listeners&&this._listeners[i]&&this._listeners[i].length>0||this._oneTimeListeners&&this._oneTimeListeners[i]&&this._oneTimeListeners[i].length>0||this._eventedParent&&this._eventedParent.listens(i)}setEventedParent(i,a){return this._eventedParent=i,this._eventedParentData=a,this}}var gi={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const va=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Nn(t,i){const a={};for(const l in t)l!=="ref"&&(a[l]=t[l]);return va.forEach(l=>{l in i&&(a[l]=i[l])}),a}function He(t,i){if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(let a=0;a`:t.itemType.kind==="value"?"array":`array<${i}>`}return t.kind}const H=[ln,Fi,je,ue,Fa,An,cn,D(_e),Pn,Sn,Y];function W(t,i){if(i.kind==="error")return null;if(t.kind==="array"){if(i.kind==="array"&&(i.N===0&&i.itemType.kind==="value"||!W(t.itemType,i.itemType))&&(typeof t.N!="number"||t.N===i.N))return null}else{if(t.kind===i.kind)return null;if(t.kind==="value"){for(const a of H)if(!W(a,i))return null}}return`Expected ${R(t)} but found ${R(i)} instead.`}function li(t,i){return i.some(a=>a.kind===t.kind)}function ci(t,i){return i.some(a=>a==="null"?t===null:a==="array"?Array.isArray(t):a==="object"?t&&!Array.isArray(t)&&typeof t=="object":a===typeof t)}function ui(t,i){return t.kind==="array"&&i.kind==="array"?t.itemType.kind===i.itemType.kind&&typeof t.N=="number":t.kind===i.kind}const ei=.96422,Si=.82521,_i=4/29,mi=6/29,Ri=3*mi*mi,ae=mi*mi*mi,re=Math.PI/180,be=180/Math.PI;function Ue(t){return(t%=360)<0&&(t+=360),t}function xe([t,i,a,l]){let s,u;const m=Nt((.2225045*(t=mt(t))+.7168786*(i=mt(i))+.0606169*(a=mt(a)))/1);t===i&&i===a?s=u=m:(s=Nt((.4360747*t+.3850649*i+.1430804*a)/ei),u=Nt((.0139322*t+.0971045*i+.7141733*a)/Si));const S=116*m-16;return[S<0?0:S,500*(s-m),200*(m-u),l]}function mt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Nt(t){return t>ae?Math.pow(t,1/3):t/Ri+_i}function Kt([t,i,a,l]){let s=(t+16)/116,u=isNaN(i)?s:s+i/500,m=isNaN(a)?s:s-a/200;return s=1*et(s),u=ei*et(u),m=Si*et(m),[Ce(3.1338561*u-1.6168667*s-.4906146*m),Ce(-.9787684*u+1.9161415*s+.033454*m),Ce(.0719453*u-.2289914*s+1.4052427*m),l]}function Ce(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function et(t){return t>mi?t*t*t:Ri*(t-_i)}function Bt(t){return parseInt(t.padEnd(2,t),16)/255}function Yt(t,i){return ra(i?t/100:t,0,1)}function ra(t,i,a){return Math.min(Math.max(i,t),a)}function pa(t){return!t.some(Number.isNaN)}const Ml={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class tt{constructor(i,a,l,s=1,u=!0){this.r=i,this.g=a,this.b=l,this.a=s,u||(this.r*=s,this.g*=s,this.b*=s,s||this.overwriteGetter("rgb",[i,a,l,s]))}static parse(i){if(i instanceof tt)return i;if(typeof i!="string")return;const a=function(l){if((l=l.toLowerCase().trim())==="transparent")return[0,0,0,0];const s=Ml[l];if(s){const[m,S,_]=s;return[m/255,S/255,_/255,1]}if(l.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(l)){const m=l.length<6?1:2;let S=1;return[Bt(l.slice(S,S+=m)),Bt(l.slice(S,S+=m)),Bt(l.slice(S,S+=m)),Bt(l.slice(S,S+m)||"ff")]}if(l.startsWith("rgb")){const m=l.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(m){const[S,_,v,L,B,T,N,M,O,J,ii,ri]=m,ai=[L||" ",N||" ",J].join("");if(ai===" "||ai===" /"||ai===",,"||ai===",,,"){const oi=[v,T,O].join(""),fi=oi==="%%%"?100:oi===""?255:0;if(fi){const ji=[ra(+_/fi,0,1),ra(+B/fi,0,1),ra(+M/fi,0,1),ii?Yt(+ii,ri):1];if(pa(ji))return ji}}return}}const u=l.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(u){const[m,S,_,v,L,B,T,N,M]=u,O=[_||" ",L||" ",T].join("");if(O===" "||O===" /"||O===",,"||O===",,,"){const J=[+S,ra(+v,0,100),ra(+B,0,100),N?Yt(+N,M):1];if(pa(J))return function([ii,ri,ai,oi]){function fi(ji){const Mi=(ji+ii/30)%12,se=ri*Math.min(ai,1-ai);return ai-se*Math.max(-1,Math.min(Mi-3,9-Mi,1))}return ii=Ue(ii),ri/=100,ai/=100,[fi(0),fi(8),fi(4),oi]}(J)}}}(i);return a?new tt(...a,!1):void 0}get rgb(){const{r:i,g:a,b:l,a:s}=this,u=s||1/0;return this.overwriteGetter("rgb",[i/u,a/u,l/u,s])}get hcl(){return this.overwriteGetter("hcl",function(i){const[a,l,s,u]=xe(i),m=Math.sqrt(l*l+s*s);return[Math.round(1e4*m)?Ue(Math.atan2(s,l)*be):NaN,m,a,u]}(this.rgb))}get lab(){return this.overwriteGetter("lab",xe(this.rgb))}overwriteGetter(i,a){return Object.defineProperty(this,i,{value:a}),a}toString(){const[i,a,l,s]=this.rgb;return`rgba(${[i,a,l].map(u=>Math.round(255*u)).join(",")},${s})`}}tt.black=new tt(0,0,0,1),tt.white=new tt(1,1,1,1),tt.transparent=new tt(0,0,0,0),tt.red=new tt(1,0,0,1);class hs{constructor(i,a,l){this.sensitivity=i?a?"variant":"case":a?"accent":"base",this.locale=l,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(i,a){return this.collator.compare(i,a)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class fs{constructor(i,a,l,s,u){this.text=i,this.image=a,this.scale=l,this.fontStack=s,this.textColor=u}}class qa{constructor(i){this.sections=i}static fromString(i){return new qa([new fs(i,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(i=>i.text.length!==0||i.image&&i.image.name.length!==0)}static factory(i){return i instanceof qa?i:qa.fromString(i)}toString(){return this.sections.length===0?"":this.sections.map(i=>i.text).join("")}}class Ha{constructor(i){this.values=i.slice()}static parse(i){if(i instanceof Ha)return i;if(typeof i=="number")return new Ha([i,i,i,i]);if(Array.isArray(i)&&!(i.length<1||i.length>4)){for(const a of i)if(typeof a!="number")return;switch(i.length){case 1:i=[i[0],i[0],i[0],i[0]];break;case 2:i=[i[0],i[1],i[0],i[1]];break;case 3:i=[i[0],i[1],i[2],i[1]]}return new Ha(i)}}toString(){return JSON.stringify(this.values)}}const t0=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Va{constructor(i){this.values=i.slice()}static parse(i){if(i instanceof Va)return i;if(Array.isArray(i)&&!(i.length<1)&&i.length%2==0){for(let a=0;a=0&&t<=255&&typeof i=="number"&&i>=0&&i<=255&&typeof a=="number"&&a>=0&&a<=255?l===void 0||typeof l=="number"&&l>=0&&l<=1?null:`Invalid rgba value [${[t,i,a,l].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof l=="number"?[t,i,a,l]:[t,i,a]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function zl(t){if(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number"||t instanceof tt||t instanceof hs||t instanceof qa||t instanceof Ha||t instanceof Va||t instanceof ua)return!0;if(Array.isArray(t)){for(const i of t)if(!zl(i))return!1;return!0}if(typeof t=="object"){for(const i in t)if(!zl(t[i]))return!1;return!0}return!1}function Jt(t){if(t===null)return ln;if(typeof t=="string")return je;if(typeof t=="boolean")return ue;if(typeof t=="number")return Fi;if(t instanceof tt)return Fa;if(t instanceof hs)return gn;if(t instanceof qa)return An;if(t instanceof Ha)return Pn;if(t instanceof Va)return Y;if(t instanceof ua)return Sn;if(Array.isArray(t)){const i=t.length;let a;for(const l of t){const s=Jt(l);if(a){if(a===s)continue;a=_e;break}a=s}return D(a||_e,i)}return cn}function Ln(t){const i=typeof t;return t===null?"":i==="string"||i==="number"||i==="boolean"?String(t):t instanceof tt||t instanceof qa||t instanceof Ha||t instanceof Va||t instanceof ua?t.toString():JSON.stringify(t)}class Xn{constructor(i,a){this.type=i,this.value=a}static parse(i,a){if(i.length!==2)return a.error(`'literal' expression requires exactly one argument, but found ${i.length-1} instead.`);if(!zl(i[1]))return a.error("invalid value");const l=i[1];let s=Jt(l);const u=a.expectedType;return s.kind!=="array"||s.N!==0||!u||u.kind!=="array"||typeof u.N=="number"&&u.N!==0||(s=u),new Xn(s,l)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Ht{constructor(i){this.name="ExpressionEvaluationError",this.message=i}toJSON(){return this.message}}const gc={string:je,number:Fi,boolean:ue,object:cn};class Qa{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");let l,s=1;const u=i[0];if(u==="array"){let S,_;if(i.length>2){const v=i[1];if(typeof v!="string"||!(v in gc)||v==="object")return a.error('The item type argument of "array" must be one of string, number, boolean',1);S=gc[v],s++}else S=_e;if(i.length>3){if(i[2]!==null&&(typeof i[2]!="number"||i[2]<0||i[2]!==Math.floor(i[2])))return a.error('The length argument to "array" must be a positive integer literal',2);_=i[2],s++}l=D(S,_)}else{if(!gc[u])throw new Error(`Types doesn't contain name = ${u}`);l=gc[u]}const m=[];for(;si.outputDefined())}}const El={"to-boolean":ue,"to-color":Fa,"to-number":Fi,"to-string":je};class Mn{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");const l=i[0];if(!El[l])throw new Error(`Can't parse ${l} as it is not part of the known types`);if((l==="to-boolean"||l==="to-string")&&i.length!==2)return a.error("Expected one argument.");const s=El[l],u=[];for(let m=1;m4?`Invalid rbga value ${JSON.stringify(a)}: expected an array containing either three or four numeric values.`:fc(a[0],a[1],a[2],a[3]),!l))return new tt(a[0]/255,a[1]/255,a[2]/255,a[3])}throw new Ht(l||`Could not parse color from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"padding":{let a;for(const l of this.args){a=l.evaluate(i);const s=Ha.parse(a);if(s)return s}throw new Ht(`Could not parse padding from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"variableAnchorOffsetCollection":{let a;for(const l of this.args){a=l.evaluate(i);const s=Va.parse(a);if(s)return s}throw new Ht(`Could not parse variableAnchorOffsetCollection from value '${typeof a=="string"?a:JSON.stringify(a)}'`)}case"number":{let a=null;for(const l of this.args){if(a=l.evaluate(i),a===null)return 0;const s=Number(a);if(!isNaN(s))return s}throw new Ht(`Could not convert ${JSON.stringify(a)} to number.`)}case"formatted":return qa.fromString(Ln(this.args[0].evaluate(i)));case"resolvedImage":return ua.fromString(Ln(this.args[0].evaluate(i)));default:return Ln(this.args[0].evaluate(i))}}eachChild(i){this.args.forEach(i)}outputDefined(){return this.args.every(i=>i.outputDefined())}}const gs=["Unknown","Point","LineString","Polygon"];class ql{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?gs[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(i){let a=this._parseColorCache[i];return a||(a=this._parseColorCache[i]=tt.parse(i)),a}}class zn{constructor(i,a,l=[],s,u=new Ea,m=[]){this.registry=i,this.path=l,this.key=l.map(S=>`[${S}]`).join(""),this.scope=u,this.errors=m,this.expectedType=s,this._isConstant=a}parse(i,a,l,s,u={}){return a?this.concat(a,l,s)._parse(i,u):this._parse(i,u)}_parse(i,a){function l(s,u,m){return m==="assert"?new Qa(u,[s]):m==="coerce"?new Mn(u,[s]):s}if(i!==null&&typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"||(i=["literal",i]),Array.isArray(i)){if(i.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const s=i[0];if(typeof s!="string")return this.error(`Expression name must be a string, but found ${typeof s} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const u=this.registry[s];if(u){let m=u.parse(i,this);if(!m)return null;if(this.expectedType){const S=this.expectedType,_=m.type;if(S.kind!=="string"&&S.kind!=="number"&&S.kind!=="boolean"&&S.kind!=="object"&&S.kind!=="array"||_.kind!=="value")if(S.kind!=="color"&&S.kind!=="formatted"&&S.kind!=="resolvedImage"||_.kind!=="value"&&_.kind!=="string")if(S.kind!=="padding"||_.kind!=="value"&&_.kind!=="number"&&_.kind!=="array")if(S.kind!=="variableAnchorOffsetCollection"||_.kind!=="value"&&_.kind!=="array"){if(this.checkSubtype(S,_))return null}else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"coerce");else m=l(m,S,a.typeAnnotation||"assert")}if(!(m instanceof Xn)&&m.type.kind!=="resolvedImage"&&this._isConstant(m)){const S=new ql;try{m=new Xn(m.type,m.evaluate(S))}catch(_){return this.error(_.message),null}}return m}return this.error(`Unknown expression "${s}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(i===void 0?"'undefined' value invalid. Use null instead.":typeof i=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof i} instead.`)}concat(i,a,l){const s=typeof i=="number"?this.path.concat(i):this.path,u=l?this.scope.concat(l):this.scope;return new zn(this.registry,this._isConstant,s,a||null,u,this.errors)}error(i,...a){const l=`${this.key}${a.map(s=>`[${s}]`).join("")}`;this.errors.push(new zt(l,i))}checkSubtype(i,a){const l=W(i,a);return l&&this.error(l),l}}class Xe{constructor(i,a){this.type=a.type,this.bindings=[].concat(i),this.result=a}evaluate(i){return this.result.evaluate(i)}eachChild(i){for(const a of this.bindings)i(a[1]);i(this.result)}static parse(i,a){if(i.length<4)return a.error(`Expected at least 3 arguments, but found ${i.length-1} instead.`);const l=[];for(let u=1;u=l.length)throw new Ht(`Array index out of bounds: ${a} > ${l.length-1}.`);if(a!==Math.floor(a))throw new Ht(`Array index must be an integer, but found ${a} instead.`);return l[a]}eachChild(i){i(this.index),i(this.input)}outputDefined(){return!1}}class Hl{constructor(i,a){this.type=ue,this.needle=i,this.haystack=a}static parse(i,a){if(i.length!==3)return a.error(`Expected 2 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,_e);return l&&s?li(l.type,[ue,je,Fi,ln,_e])?new Hl(l,s):a.error(`Expected first argument to be of type boolean, string, number or null, but found ${R(l.type)} instead`):null}evaluate(i){const a=this.needle.evaluate(i),l=this.haystack.evaluate(i);if(!l)return!1;if(!ci(a,["boolean","string","number","null"]))throw new Ht(`Expected first argument to be of type boolean, string, number or null, but found ${R(Jt(a))} instead.`);if(!ci(l,["string","array"]))throw new Ht(`Expected second argument to be of type array or string, but found ${R(Jt(l))} instead.`);return l.indexOf(a)>=0}eachChild(i){i(this.needle),i(this.haystack)}outputDefined(){return!0}}class Ic{constructor(i,a,l){this.type=Fi,this.needle=i,this.haystack=a,this.fromIndex=l}static parse(i,a){if(i.length<=2||i.length>=5)return a.error(`Expected 3 or 4 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,_e);if(!l||!s)return null;if(!li(l.type,[ue,je,Fi,ln,_e]))return a.error(`Expected first argument to be of type boolean, string, number or null, but found ${R(l.type)} instead`);if(i.length===4){const u=a.parse(i[3],3,Fi);return u?new Ic(l,s,u):null}return new Ic(l,s)}evaluate(i){const a=this.needle.evaluate(i),l=this.haystack.evaluate(i);if(!ci(a,["boolean","string","number","null"]))throw new Ht(`Expected first argument to be of type boolean, string, number or null, but found ${R(Jt(a))} instead.`);if(!ci(l,["string","array"]))throw new Ht(`Expected second argument to be of type array or string, but found ${R(Jt(l))} instead.`);if(this.fromIndex){const s=this.fromIndex.evaluate(i);return l.indexOf(a,s)}return l.indexOf(a)}eachChild(i){i(this.needle),i(this.haystack),this.fromIndex&&i(this.fromIndex)}outputDefined(){return!1}}class wc{constructor(i,a,l,s,u,m){this.inputType=i,this.type=a,this.input=l,this.cases=s,this.outputs=u,this.otherwise=m}static parse(i,a){if(i.length<5)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if(i.length%2!=1)return a.error("Expected an even number of arguments.");let l,s;a.expectedType&&a.expectedType.kind!=="value"&&(s=a.expectedType);const u={},m=[];for(let v=2;vNumber.MAX_SAFE_INTEGER)return T.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof M=="number"&&Math.floor(M)!==M)return T.error("Numeric branch labels must be integer values.");if(l){if(T.checkSubtype(l,Jt(M)))return null}else l=Jt(M);if(u[String(M)]!==void 0)return T.error("Branch labels must be unique.");u[String(M)]=m.length}const N=a.parse(B,v,s);if(!N)return null;s=s||N.type,m.push(N)}const S=a.parse(i[1],1,_e);if(!S)return null;const _=a.parse(i[i.length-1],i.length-1,s);return _?S.type.kind!=="value"&&a.concat(1).checkSubtype(l,S.type)?null:new wc(l,s,S,u,m,_):null}evaluate(i){const a=this.input.evaluate(i);return(Jt(a)===this.inputType&&this.outputs[this.cases[a]]||this.otherwise).evaluate(i)}eachChild(i){i(this.input),this.outputs.forEach(i),i(this.otherwise)}outputDefined(){return this.outputs.every(i=>i.outputDefined())&&this.otherwise.outputDefined()}}class kc{constructor(i,a,l){this.type=i,this.branches=a,this.otherwise=l}static parse(i,a){if(i.length<4)return a.error(`Expected at least 3 arguments, but found only ${i.length-1}.`);if(i.length%2!=0)return a.error("Expected an odd number of arguments.");let l;a.expectedType&&a.expectedType.kind!=="value"&&(l=a.expectedType);const s=[];for(let m=1;ma.outputDefined())&&this.otherwise.outputDefined()}}class _c{constructor(i,a,l,s){this.type=i,this.input=a,this.beginIndex=l,this.endIndex=s}static parse(i,a){if(i.length<=2||i.length>=5)return a.error(`Expected 3 or 4 arguments, but found ${i.length-1} instead.`);const l=a.parse(i[1],1,_e),s=a.parse(i[2],2,Fi);if(!l||!s)return null;if(!li(l.type,[D(_e),je,_e]))return a.error(`Expected first argument to be of type array or string, but found ${R(l.type)} instead`);if(i.length===4){const u=a.parse(i[3],3,Fi);return u?new _c(l.type,l,s,u):null}return new _c(l.type,l,s)}evaluate(i){const a=this.input.evaluate(i),l=this.beginIndex.evaluate(i);if(!ci(a,["string","array"]))throw new Ht(`Expected first argument to be of type array or string, but found ${R(Jt(a))} instead.`);if(this.endIndex){const s=this.endIndex.evaluate(i);return a.slice(l,s)}return a.slice(l)}eachChild(i){i(this.input),i(this.beginIndex),this.endIndex&&i(this.endIndex)}outputDefined(){return!1}}function Vl(t,i){const a=t.length-1;let l,s,u=0,m=a,S=0;for(;u<=m;)if(S=Math.floor((u+m)/2),l=t[S],s=t[S+1],l<=i){if(S===a||ii))throw new Ht("Input is not a number.");m=S-1}return 0}class ml{constructor(i,a,l){this.type=i,this.input=a,this.labels=[],this.outputs=[];for(const[s,u]of l)this.labels.push(s),this.outputs.push(u)}static parse(i,a){if(i.length-1<4)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if((i.length-1)%2!=0)return a.error("Expected an even number of arguments.");const l=a.parse(i[1],1,Fi);if(!l)return null;const s=[];let u=null;a.expectedType&&a.expectedType.kind!=="value"&&(u=a.expectedType);for(let m=1;m=S)return a.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',v);const B=a.parse(_,L,u);if(!B)return null;u=u||B.type,s.push([S,B])}return new ml(u,l,s)}evaluate(i){const a=this.labels,l=this.outputs;if(a.length===1)return l[0].evaluate(i);const s=this.input.evaluate(i);if(s<=a[0])return l[0].evaluate(i);const u=a.length;return s>=a[u-1]?l[u-1].evaluate(i):l[Vl(a,s)].evaluate(i)}eachChild(i){i(this.input);for(const a of this.outputs)i(a)}outputDefined(){return this.outputs.every(i=>i.outputDefined())}}function a0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n0=Eo;function Eo(t,i,a,l){this.cx=3*t,this.bx=3*(a-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(l-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=i,this.p2x=a,this.p2y=l}Eo.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,i){if(i===void 0&&(i=1e-6),t<0)return 0;if(t>1)return 1;for(var a=t,l=0;l<8;l++){var s=this.sampleCurveX(a)-t;if(Math.abs(s)s?m=a:S=a,a=.5*(S-m)+m;return a},solve:function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}};var l0=a0(n0);function En(t,i,a){return t+a*(i-t)}function Ol(t,i,a){return t.map((l,s)=>En(l,i[s],a))}const Oa={number:En,color:function(t,i,a,l="rgb"){switch(l){case"rgb":{const[s,u,m,S]=Ol(t.rgb,i.rgb,a);return new tt(s,u,m,S,!1)}case"hcl":{const[s,u,m,S]=t.hcl,[_,v,L,B]=i.hcl;let T,N;if(isNaN(s)||isNaN(_))isNaN(s)?isNaN(_)?T=NaN:(T=_,m!==1&&m!==0||(N=v)):(T=s,L!==1&&L!==0||(N=u));else{let ri=_-s;_>s&&ri>180?ri-=360:_180&&(ri+=360),T=s+a*ri}const[M,O,J,ii]=function([ri,ai,oi,fi]){return ri=isNaN(ri)?0:ri*re,Kt([oi,Math.cos(ri)*ai,Math.sin(ri)*ai,fi])}([T,N??En(u,v,a),En(m,L,a),En(S,B,a)]);return new tt(M,O,J,ii,!1)}case"lab":{const[s,u,m,S]=Kt(Ol(t.lab,i.lab,a));return new tt(s,u,m,S,!1)}}},array:Ol,padding:function(t,i,a){return new Ha(Ol(t.values,i.values,a))},variableAnchorOffsetCollection:function(t,i,a){const l=t.values,s=i.values;if(l.length!==s.length)throw new Ht(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${i.toString()}`);const u=[];for(let m=0;mtypeof L!="number"||L<0||L>1))return a.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);s={name:"cubic-bezier",controlPoints:v}}}if(i.length-1<4)return a.error(`Expected at least 4 arguments, but found only ${i.length-1}.`);if((i.length-1)%2!=0)return a.error("Expected an even number of arguments.");if(u=a.parse(u,2,Fi),!u)return null;const S=[];let _=null;l==="interpolate-hcl"||l==="interpolate-lab"?_=Fa:a.expectedType&&a.expectedType.kind!=="value"&&(_=a.expectedType);for(let v=0;v=L)return a.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',T);const M=a.parse(B,N,_);if(!M)return null;_=_||M.type,S.push([L,M])}return ui(_,Fi)||ui(_,Fa)||ui(_,Pn)||ui(_,Y)||ui(_,D(Fi))?new $a(_,l,s,u,S):a.error(`Type ${R(_)} is not interpolatable.`)}evaluate(i){const a=this.labels,l=this.outputs;if(a.length===1)return l[0].evaluate(i);const s=this.input.evaluate(i);if(s<=a[0])return l[0].evaluate(i);const u=a.length;if(s>=a[u-1])return l[u-1].evaluate(i);const m=Vl(a,s),S=$a.interpolationFactor(this.interpolation,s,a[m],a[m+1]),_=l[m].evaluate(i),v=l[m+1].evaluate(i);switch(this.operator){case"interpolate":return Oa[this.type.kind](_,v,S);case"interpolate-hcl":return Oa.color(_,v,S,"hcl");case"interpolate-lab":return Oa.color(_,v,S,"lab")}}eachChild(i){i(this.input);for(const a of this.outputs)i(a)}outputDefined(){return this.outputs.every(i=>i.outputDefined())}}function $l(t,i,a,l){const s=l-a,u=t-a;return s===0?0:i===1?u/s:(Math.pow(i,u)-1)/(Math.pow(i,s)-1)}class xc{constructor(i,a){this.type=i,this.args=a}static parse(i,a){if(i.length<2)return a.error("Expectected at least one argument.");let l=null;const s=a.expectedType;s&&s.kind!=="value"&&(l=s);const u=[];for(const S of i.slice(1)){const _=a.parse(S,1+u.length,l,void 0,{typeAnnotation:"omit"});if(!_)return null;l=l||_.type,u.push(_)}if(!l)throw new Error("No output type");const m=s&&u.some(S=>W(s,S.type));return new xc(m?_e:l,u)}evaluate(i){let a,l=null,s=0;for(const u of this.args)if(s++,l=u.evaluate(i),l&&l instanceof ua&&!l.available&&(a||(a=l.name),l=null,s===this.args.length&&(l=a)),l!==null)break;return l}eachChild(i){this.args.forEach(i)}outputDefined(){return this.args.every(i=>i.outputDefined())}}function qo(t,i){return t==="=="||t==="!="?i.kind==="boolean"||i.kind==="string"||i.kind==="number"||i.kind==="null"||i.kind==="value":i.kind==="string"||i.kind==="number"||i.kind==="value"}function Ho(t,i,a,l){return l.compare(i,a)===0}function Yn(t,i,a){const l=t!=="=="&&t!=="!=";return class Sy{constructor(u,m,S){this.type=ue,this.lhs=u,this.rhs=m,this.collator=S,this.hasUntypedArgument=u.type.kind==="value"||m.type.kind==="value"}static parse(u,m){if(u.length!==3&&u.length!==4)return m.error("Expected two or three arguments.");const S=u[0];let _=m.parse(u[1],1,_e);if(!_)return null;if(!qo(S,_.type))return m.concat(1).error(`"${S}" comparisons are not supported for type '${R(_.type)}'.`);let v=m.parse(u[2],2,_e);if(!v)return null;if(!qo(S,v.type))return m.concat(2).error(`"${S}" comparisons are not supported for type '${R(v.type)}'.`);if(_.type.kind!==v.type.kind&&_.type.kind!=="value"&&v.type.kind!=="value")return m.error(`Cannot compare types '${R(_.type)}' and '${R(v.type)}'.`);l&&(_.type.kind==="value"&&v.type.kind!=="value"?_=new Qa(v.type,[_]):_.type.kind!=="value"&&v.type.kind==="value"&&(v=new Qa(_.type,[v])));let L=null;if(u.length===4){if(_.type.kind!=="string"&&v.type.kind!=="string"&&_.type.kind!=="value"&&v.type.kind!=="value")return m.error("Cannot use collator to compare non-string types.");if(L=m.parse(u[3],3,gn),!L)return null}return new Sy(_,v,L)}evaluate(u){const m=this.lhs.evaluate(u),S=this.rhs.evaluate(u);if(l&&this.hasUntypedArgument){const _=Jt(m),v=Jt(S);if(_.kind!==v.kind||_.kind!=="string"&&_.kind!=="number")throw new Ht(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${_.kind}, ${v.kind}) instead.`)}if(this.collator&&!l&&this.hasUntypedArgument){const _=Jt(m),v=Jt(S);if(_.kind!=="string"||v.kind!=="string")return i(u,m,S)}return this.collator?a(u,m,S,this.collator.evaluate(u)):i(u,m,S)}eachChild(u){u(this.lhs),u(this.rhs),this.collator&&u(this.collator)}outputDefined(){return!0}}}const Vo=Yn("==",function(t,i,a){return i===a},Ho),c0=Yn("!=",function(t,i,a){return i!==a},function(t,i,a,l){return!Ho(0,i,a,l)}),s0=Yn("<",function(t,i,a){return i",function(t,i,a){return i>a},function(t,i,a,l){return l.compare(i,a)>0}),$o=Yn("<=",function(t,i,a){return i<=a},function(t,i,a,l){return l.compare(i,a)<=0}),o0=Yn(">=",function(t,i,a){return i>=a},function(t,i,a,l){return l.compare(i,a)>=0});class jc{constructor(i,a,l){this.type=gn,this.locale=l,this.caseSensitive=i,this.diacriticSensitive=a}static parse(i,a){if(i.length!==2)return a.error("Expected one argument.");const l=i[1];if(typeof l!="object"||Array.isArray(l))return a.error("Collator options argument must be an object.");const s=a.parse(l["case-sensitive"]!==void 0&&l["case-sensitive"],1,ue);if(!s)return null;const u=a.parse(l["diacritic-sensitive"]!==void 0&&l["diacritic-sensitive"],1,ue);if(!u)return null;let m=null;return l.locale&&(m=a.parse(l.locale,1,je),!m)?null:new jc(s,u,m)}evaluate(i){return new hs(this.caseSensitive.evaluate(i),this.diacriticSensitive.evaluate(i),this.locale?this.locale.evaluate(i):null)}eachChild(i){i(this.caseSensitive),i(this.diacriticSensitive),this.locale&&i(this.locale)}outputDefined(){return!1}}class Is{constructor(i,a,l,s,u){this.type=je,this.number=i,this.locale=a,this.currency=l,this.minFractionDigits=s,this.maxFractionDigits=u}static parse(i,a){if(i.length!==3)return a.error("Expected two arguments.");const l=a.parse(i[1],1,Fi);if(!l)return null;const s=i[2];if(typeof s!="object"||Array.isArray(s))return a.error("NumberFormat options argument must be an object.");let u=null;if(s.locale&&(u=a.parse(s.locale,1,je),!u))return null;let m=null;if(s.currency&&(m=a.parse(s.currency,1,je),!m))return null;let S=null;if(s["min-fraction-digits"]&&(S=a.parse(s["min-fraction-digits"],1,Fi),!S))return null;let _=null;return s["max-fraction-digits"]&&(_=a.parse(s["max-fraction-digits"],1,Fi),!_)?null:new Is(l,u,m,S,_)}evaluate(i){return new Intl.NumberFormat(this.locale?this.locale.evaluate(i):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(i):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(i):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(i):void 0}).format(this.number.evaluate(i))}eachChild(i){i(this.number),this.locale&&i(this.locale),this.currency&&i(this.currency),this.minFractionDigits&&i(this.minFractionDigits),this.maxFractionDigits&&i(this.maxFractionDigits)}outputDefined(){return!1}}class bc{constructor(i){this.type=An,this.sections=i}static parse(i,a){if(i.length<2)return a.error("Expected at least one argument.");const l=i[1];if(!Array.isArray(l)&&typeof l=="object")return a.error("First argument must be an image or text section.");const s=[];let u=!1;for(let m=1;m<=i.length-1;++m){const S=i[m];if(u&&typeof S=="object"&&!Array.isArray(S)){u=!1;let _=null;if(S["font-scale"]&&(_=a.parse(S["font-scale"],1,Fi),!_))return null;let v=null;if(S["text-font"]&&(v=a.parse(S["text-font"],1,D(je)),!v))return null;let L=null;if(S["text-color"]&&(L=a.parse(S["text-color"],1,Fa),!L))return null;const B=s[s.length-1];B.scale=_,B.font=v,B.textColor=L}else{const _=a.parse(i[m],1,_e);if(!_)return null;const v=_.type.kind;if(v!=="string"&&v!=="value"&&v!=="null"&&v!=="resolvedImage")return a.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");u=!0,s.push({content:_,scale:null,font:null,textColor:null})}}return new bc(s)}evaluate(i){return new qa(this.sections.map(a=>{const l=a.content.evaluate(i);return Jt(l)===Sn?new fs("",l,null,null,null):new fs(Ln(l),null,a.scale?a.scale.evaluate(i):null,a.font?a.font.evaluate(i).join(","):null,a.textColor?a.textColor.evaluate(i):null)}))}eachChild(i){for(const a of this.sections)i(a.content),a.scale&&i(a.scale),a.font&&i(a.font),a.textColor&&i(a.textColor)}outputDefined(){return!1}}class ws{constructor(i){this.type=Sn,this.input=i}static parse(i,a){if(i.length!==2)return a.error("Expected two arguments.");const l=a.parse(i[1],1,je);return l?new ws(l):a.error("No image name provided.")}evaluate(i){const a=this.input.evaluate(i),l=ua.fromString(a);return l&&i.availableImages&&(l.available=i.availableImages.indexOf(a)>-1),l}eachChild(i){i(this.input)}outputDefined(){return!1}}class ks{constructor(i){this.type=Fi,this.input=i}static parse(i,a){if(i.length!==2)return a.error(`Expected 1 argument, but found ${i.length-1} instead.`);const l=a.parse(i[1],1);return l?l.type.kind!=="array"&&l.type.kind!=="string"&&l.type.kind!=="value"?a.error(`Expected argument of type string or array, but found ${R(l.type)} instead.`):new ks(l):null}evaluate(i){const a=this.input.evaluate(i);if(typeof a=="string"||Array.isArray(a))return a.length;throw new Ht(`Expected value to be of type string or array, but found ${R(Jt(a))} instead.`)}eachChild(i){i(this.input)}outputDefined(){return!1}}const In=8192;function _s(t,i){const a=(180+t[0])/360,l=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,s=Math.pow(2,i.z);return[Math.round(a*s*In),Math.round(l*s*In)]}function hl(t,i){const a=Math.pow(2,i.z);return[(s=(t[0]/In+i.x)/a,360*s-180),(l=(t[1]/In+i.y)/a,360/Math.PI*Math.atan(Math.exp((180-360*l)*Math.PI/180))-90)];var l,s}function Ve(t,i){t[0]=Math.min(t[0],i[0]),t[1]=Math.min(t[1],i[1]),t[2]=Math.max(t[2],i[0]),t[3]=Math.max(t[3],i[1])}function Ul(t,i){return!(t[0]<=i[0]||t[2]>=i[2]||t[1]<=i[1]||t[3]>=i[3])}function r0(t,i,a){const l=t[0]-i[0],s=t[1]-i[1],u=t[0]-a[0],m=t[1]-a[1];return l*m-u*s==0&&l*u<=0&&s*m<=0}function vc(t,i,a,l){return(s=[l[0]-a[0],l[1]-a[1]])[0]*(u=[i[0]-t[0],i[1]-t[1]])[1]-s[1]*u[0]!=0&&!(!Ko(t,i,a,l)||!Ko(a,l,t,i));var s,u}function p0(t,i,a){for(const l of a)for(let s=0;s(s=t)[1]!=(m=S[_+1])[1]>s[1]&&s[0]<(m[0]-u[0])*(s[1]-u[1])/(m[1]-u[1])+u[0]&&(l=!l)}var s,u,m;return l}function u0(t,i){for(const a of i)if(fl(t,a))return!0;return!1}function Uo(t,i){for(const a of t)if(!fl(a,i))return!1;for(let a=0;a0&&S<0||m<0&&S>0}function xs(t,i,a){const l=[];for(let s=0;sa[2]){const s=.5*l;let u=t[0]-a[0]>s?-l:a[0]-t[0]>s?l:0;u===0&&(u=t[0]-a[2]>s?-l:a[2]-t[0]>s?l:0),t[0]+=u}Ve(i,t)}function Wo(t,i,a,l){const s=Math.pow(2,l.z)*In,u=[l.x*In,l.y*In],m=[];for(const S of t)for(const _ of S){const v=[_.x+u[0],_.y+u[1]];Zo(v,i,a,s),m.push(v)}return m}function Xo(t,i,a,l){const s=Math.pow(2,l.z)*In,u=[l.x*In,l.y*In],m=[];for(const _ of t){const v=[];for(const L of _){const B=[L.x+u[0],L.y+u[1]];Ve(i,B),v.push(B)}m.push(v)}if(i[2]-i[0]<=s/2){(S=i)[0]=S[1]=1/0,S[2]=S[3]=-1/0;for(const _ of m)for(const v of _)Zo(v,i,a,s)}var S;return m}class Qn{constructor(i,a){this.type=ue,this.geojson=i,this.geometries=a}static parse(i,a){if(i.length!==2)return a.error(`'within' expression requires exactly one argument, but found ${i.length-1} instead.`);if(zl(i[1])){const l=i[1];if(l.type==="FeatureCollection"){const s=[];for(const u of l.features){const{type:m,coordinates:S}=u.geometry;m==="Polygon"&&s.push(S),m==="MultiPolygon"&&s.push(...S)}if(s.length)return new Qn(l,{type:"MultiPolygon",coordinates:s})}else if(l.type==="Feature"){const s=l.geometry.type;if(s==="Polygon"||s==="MultiPolygon")return new Qn(l,l.geometry)}else if(l.type==="Polygon"||l.type==="MultiPolygon")return new Qn(l,l)}return a.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(i){if(i.geometry()!=null&&i.canonicalID()!=null){if(i.geometryType()==="Point")return function(a,l){const s=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],m=a.canonicalID();if(l.type==="Polygon"){const S=xs(l.coordinates,u,m),_=Wo(a.geometry(),s,u,m);if(!Ul(s,u))return!1;for(const v of _)if(!fl(v,S))return!1}if(l.type==="MultiPolygon"){const S=Jo(l.coordinates,u,m),_=Wo(a.geometry(),s,u,m);if(!Ul(s,u))return!1;for(const v of _)if(!u0(v,S))return!1}return!0}(i,this.geometries);if(i.geometryType()==="LineString")return function(a,l){const s=[1/0,1/0,-1/0,-1/0],u=[1/0,1/0,-1/0,-1/0],m=a.canonicalID();if(l.type==="Polygon"){const S=xs(l.coordinates,u,m),_=Xo(a.geometry(),s,u,m);if(!Ul(s,u))return!1;for(const v of _)if(!Uo(v,S))return!1}if(l.type==="MultiPolygon"){const S=Jo(l.coordinates,u,m),_=Xo(a.geometry(),s,u,m);if(!Ul(s,u))return!1;for(const v of _)if(!d0(v,S))return!1}return!0}(i,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Yo=class{constructor(t=[],i=y0){if(this.data=t,this.length=this.data.length,this.compare=i,this.length>0)for(let a=(this.length>>1)-1;a>=0;a--)this._down(a)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],i=this.data.pop();return this.length--,this.length>0&&(this.data[0]=i,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:i,compare:a}=this,l=i[t];for(;t>0;){const s=t-1>>1,u=i[s];if(a(l,u)>=0)break;i[t]=u,t=s}i[t]=l}_down(t){const{data:i,compare:a}=this,l=this.length>>1,s=i[t];for(;t=0)break;i[t]=m,t=u}i[t]=s}};function y0(t,i){return ti?1:0}function m0(t,i,a,l,s){Qo(t,i,a,l||t.length-1,s||h0)}function Qo(t,i,a,l,s){for(;l>a;){if(l-a>600){var u=l-a+1,m=i-a+1,S=Math.log(u),_=.5*Math.exp(2*S/3),v=.5*Math.sqrt(S*_*(u-_)/u)*(m-u/2<0?-1:1);Qo(t,i,Math.max(a,Math.floor(i-m*_/u+v)),Math.min(l,Math.floor(i+(u-m)*_/u+v)),s)}var L=t[i],B=a,T=l;for(Kl(t,a,i),s(t[l],L)>0&&Kl(t,a,l);B0;)T--}s(t[a],L)===0?Kl(t,a,T):Kl(t,++T,l),T<=i&&(a=T+1),i<=T&&(l=T-1)}}function Kl(t,i,a){var l=t[i];t[i]=t[a],t[a]=l}function h0(t,i){return ti?1:0}function Ac(t,i){if(t.length<=1)return[t];const a=[];let l,s;for(const u of t){const m=g0(u);m!==0&&(u.area=Math.abs(m),s===void 0&&(s=m<0),s===m<0?(l&&a.push(l),l=[u]):l.push(u))}if(l&&a.push(l),i>1)for(let u=0;u1?(v=i[_+1][0],L=i[_+1][1]):N>0&&(v+=B/this.kx*N,L+=T/this.ky*N)),B=this.wrap(a[0]-v)*this.kx,T=(a[1]-L)*this.ky;const M=B*B+T*T;M180;)i-=360;return i}}function ar(t,i){return i[0]-t[0]}function Lc(t){return t[1]-t[0]+1}function Bn(t,i){return t[1]>=t[0]&&t[1]t[1])return[null,null];const a=Lc(t);if(i){if(a===2)return[t,null];const s=Math.floor(a/2);return[[t[0],t[0]+s],[t[0]+s,t[1]]]}if(a===1)return[t,null];const l=Math.floor(a/2)-1;return[[t[0],t[0]+l],[t[0]+l+1,t[1]]]}function bs(t,i){if(!Bn(i,t.length))return[1/0,1/0,-1/0,-1/0];const a=[1/0,1/0,-1/0,-1/0];for(let l=i[0];l<=i[1];++l)Ve(a,t[l]);return a}function vs(t){const i=[1/0,1/0,-1/0,-1/0];for(const a of t)for(const l of a)Ve(i,l);return i}function nr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function As(t,i,a){if(!nr(t)||!nr(i))return NaN;let l=0,s=0;return t[2]i[2]&&(l=t[0]-i[2]),t[1]>i[3]&&(s=t[1]-i[3]),t[3]=l)return l;if(Ul(s,u)){if(Zl(t,i))return 0}else if(Zl(i,t))return 0;let m=1/0;for(const S of t)for(let _=0,v=S.length,L=v-1;_0;){const _=m.pop();if(_[0]>=u)continue;const v=_[1],L=i?50:100;if(Lc(v)<=L){if(!Bn(v,t.length))return NaN;if(i){const B=wt(t,v,a,l);if(isNaN(B)||B===0)return B;u=Math.min(u,B)}else for(let B=v[0];B<=v[1];++B){const T=Ct(t[B],a,l);if(u=Math.min(u,T),u===0)return 0}}else{const B=Jl(v,i);Cs(m,u,l,t,S,B[0]),Cs(m,u,l,t,S,B[1])}}return u}function Fc(t,i,a,l,s,u=1/0){let m=Math.min(u,s.distance(t[0],a[0]));if(m===0)return m;const S=new Yo([[0,[0,t.length-1],[0,a.length-1]]],ar);for(;S.length>0;){const _=S.pop();if(_[0]>=m)continue;const v=_[1],L=_[2],B=i?50:100,T=l?50:100;if(Lc(v)<=B&&Lc(L)<=T){if(!Bn(v,t.length)&&Bn(L,a.length))return NaN;let N;if(i&&l)N=Te(t,v,a,L,s),m=Math.min(m,N);else if(i&&!l){const M=t.slice(v[0],v[1]+1);for(let O=L[0];O<=L[1];++O)if(N=ht(a[O],M,s),m=Math.min(m,N),m===0)return m}else if(!i&&l){const M=a.slice(L[0],L[1]+1);for(let O=v[0];O<=v[1];++O)if(N=ht(t[O],M,s),m=Math.min(m,N),m===0)return m}else N=Bs(t,v,a,L,s),m=Math.min(m,N)}else{const N=Jl(v,i),M=Jl(L,l);Bc(S,m,s,t,a,N[0],M[0]),Bc(S,m,s,t,a,N[0],M[1]),Bc(S,m,s,t,a,N[1],M[0]),Bc(S,m,s,t,a,N[1],M[1])}}return m}function Fs(t){return t.type==="MultiPolygon"?t.coordinates.map(i=>({type:"Polygon",coordinates:i})):t.type==="MultiLineString"?t.coordinates.map(i=>({type:"LineString",coordinates:i})):t.type==="MultiPoint"?t.coordinates.map(i=>({type:"Point",coordinates:i})):[t]}class qn{constructor(i,a){this.type=Fi,this.geojson=i,this.geometries=a}static parse(i,a){if(i.length!==2)return a.error(`'distance' expression requires exactly one argument, but found ${i.length-1} instead.`);if(zl(i[1])){const l=i[1];if(l.type==="FeatureCollection")return new qn(l,l.features.map(s=>Fs(s.geometry)).flat());if(l.type==="Feature")return new qn(l,Fs(l.geometry));if("type"in l&&"coordinates"in l)return new qn(l,Fs(l))}return a.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(i){if(i.geometry()!=null&&i.canonicalID()!=null){if(i.geometryType()==="Point")return function(a,l){const s=a.geometry(),u=s.flat().map(_=>hl([_.x,_.y],a.canonical));if(s.length===0)return NaN;const m=new js(u[0][1]);let S=1/0;for(const _ of l){switch(_.type){case"Point":S=Math.min(S,Fc(u,!1,[_.coordinates],!1,m,S));break;case"LineString":S=Math.min(S,Fc(u,!1,_.coordinates,!0,m,S));break;case"Polygon":S=Math.min(S,Cc(u,!1,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries);if(i.geometryType()==="LineString")return function(a,l){const s=a.geometry(),u=s.flat().map(_=>hl([_.x,_.y],a.canonical));if(s.length===0)return NaN;const m=new js(u[0][1]);let S=1/0;for(const _ of l){switch(_.type){case"Point":S=Math.min(S,Fc(u,!0,[_.coordinates],!1,m,S));break;case"LineString":S=Math.min(S,Fc(u,!0,_.coordinates,!0,m,S));break;case"Polygon":S=Math.min(S,Cc(u,!0,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries);if(i.geometryType()==="Polygon")return function(a,l){const s=a.geometry();if(s.length===0||s[0].length===0)return NaN;const u=Ac(s,0).map(_=>_.map(v=>v.map(L=>hl([L.x,L.y],a.canonical)))),m=new js(u[0][0][0][1]);let S=1/0;for(const _ of l)for(const v of u){switch(_.type){case"Point":S=Math.min(S,Cc([_.coordinates],!1,v,m,S));break;case"LineString":S=Math.min(S,Cc(_.coordinates,!0,v,m,S));break;case"Polygon":S=Math.min(S,lr(v,_.coordinates,m,S))}if(S===0)return S}return S}(i,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const il={"==":Vo,"!=":c0,">":Oo,"<":s0,">=":o0,"<=":$o,array:Qa,at:Ss,boolean:Qa,case:kc,coalesce:xc,collator:jc,format:bc,image:ws,in:Hl,"index-of":Ic,interpolate:$a,"interpolate-hcl":$a,"interpolate-lab":$a,length:ks,let:Xe,literal:Xn,match:wc,number:Qa,"number-format":Is,object:Qa,slice:_c,step:ml,string:Qa,"to-boolean":Mn,"to-color":Mn,"to-number":Mn,"to-string":Mn,var:Sc,within:Qn,distance:qn};class Ua{constructor(i,a,l,s){this.name=i,this.type=a,this._evaluate=l,this.args=s}evaluate(i){return this._evaluate(i,this.args)}eachChild(i){this.args.forEach(i)}outputDefined(){return!1}static parse(i,a){const l=i[0],s=Ua.definitions[l];if(!s)return a.error(`Unknown expression "${l}". If you wanted a literal array, use ["literal", [...]].`,0);const u=Array.isArray(s)?s[0]:s.type,m=Array.isArray(s)?[[s[1],s[2]]]:s.overloads,S=m.filter(([v])=>!Array.isArray(v)||v.length===i.length-1);let _=null;for(const[v,L]of S){_=new zn(a.registry,Rc,a.path,null,a.scope);const B=[];let T=!1;for(let N=1;N{return T=B,Array.isArray(T)?`(${T.map(R).join(", ")})`:`(${R(T.type)}...)`;var T}).join(" | "),L=[];for(let B=1;B{a=i?a&&Rc(l):a&&l instanceof Xn}),!!a&&Dc(t)&&Nc(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Dc(t){if(t instanceof Ua&&(t.name==="get"&&t.args.length===1||t.name==="feature-state"||t.name==="has"&&t.args.length===1||t.name==="properties"||t.name==="geometry-type"||t.name==="id"||/^filter-/.test(t.name))||t instanceof Qn||t instanceof qn)return!1;let i=!0;return t.eachChild(a=>{i&&!Dc(a)&&(i=!1)}),i}function Wl(t){if(t instanceof Ua&&t.name==="feature-state")return!1;let i=!0;return t.eachChild(a=>{i&&!Wl(a)&&(i=!1)}),i}function Nc(t,i){if(t instanceof Ua&&i.indexOf(t.name)>=0)return!1;let a=!0;return t.eachChild(l=>{a&&!Nc(l,i)&&(a=!1)}),a}function cr(t){return{result:"success",value:t}}function gl(t){return{result:"error",value:t}}function tl(t){return t["property-type"]==="data-driven"||t["property-type"]==="cross-faded-data-driven"}function Ds(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Sl(t){return!!t.expression&&t.expression.interpolated}function Ke(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":t===null?"null":typeof t}function Xl(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function sr(t){return t}function or(t,i){const a=i.type==="color",l=t.stops&&typeof t.stops[0][0]=="object",s=l||!(l||t.property!==void 0),u=t.type||(Sl(i)?"exponential":"interval");if(a||i.type==="padding"){const L=a?tt.parse:Ha.parse;(t=Mt({},t)).stops&&(t.stops=t.stops.map(B=>[B[0],L(B[1])])),t.default=L(t.default?t.default:i.default)}if(t.colorSpace&&(m=t.colorSpace)!=="rgb"&&m!=="hcl"&&m!=="lab")throw new Error(`Unknown color space: "${t.colorSpace}"`);var m;let S,_,v;if(u==="exponential")S=Ns;else if(u==="interval")S=Pc;else if(u==="categorical"){S=Gc,_=Object.create(null);for(const L of t.stops)_[L[0]]=L[1];v=typeof t.stops[0][0]}else{if(u!=="identity")throw new Error(`Unknown function type "${u}"`);S=Gs}if(l){const L={},B=[];for(let M=0;MM[0]),evaluate:({zoom:M},O)=>Ns({stops:T,base:t.base},i,M).evaluate(M,O)}}if(s){const L=u==="exponential"?{name:"exponential",base:t.base!==void 0?t.base:1}:null;return{kind:"camera",interpolationType:L,interpolationFactor:$a.interpolationFactor.bind(void 0,L),zoomStops:t.stops.map(B=>B[0]),evaluate:({zoom:B})=>S(t,i,B,_,v)}}return{kind:"source",evaluate(L,B){const T=B&&B.properties?B.properties[t.property]:void 0;return T===void 0?al(t.default,i.default):S(t,i,T,_,v)}}}function al(t,i,a){return t!==void 0?t:i!==void 0?i:a!==void 0?a:void 0}function Gc(t,i,a,l,s){return al(typeof a===s?l[a]:void 0,t.default,i.default)}function Pc(t,i,a){if(Ke(a)!=="number")return al(t.default,i.default);const l=t.stops.length;if(l===1||a<=t.stops[0][0])return t.stops[0][1];if(a>=t.stops[l-1][0])return t.stops[l-1][1];const s=Vl(t.stops.map(u=>u[0]),a);return t.stops[s][1]}function Ns(t,i,a){const l=t.base!==void 0?t.base:1;if(Ke(a)!=="number")return al(t.default,i.default);const s=t.stops.length;if(s===1||a<=t.stops[0][0])return t.stops[0][1];if(a>=t.stops[s-1][0])return t.stops[s-1][1];const u=Vl(t.stops.map(L=>L[0]),a),m=function(L,B,T,N){const M=N-T,O=L-T;return M===0?0:B===1?O/M:(Math.pow(B,O)-1)/(Math.pow(B,M)-1)}(a,l,t.stops[u][0],t.stops[u+1][0]),S=t.stops[u][1],_=t.stops[u+1][1],v=Oa[i.type]||sr;return typeof S.evaluate=="function"?{evaluate(...L){const B=S.evaluate.apply(void 0,L),T=_.evaluate.apply(void 0,L);if(B!==void 0&&T!==void 0)return v(B,T,m,t.colorSpace)}}:v(S,_,m,t.colorSpace)}function Gs(t,i,a){switch(i.type){case"color":a=tt.parse(a);break;case"formatted":a=qa.fromString(a.toString());break;case"resolvedImage":a=ua.fromString(a.toString());break;case"padding":a=Ha.parse(a);break;default:Ke(a)===i.type||i.type==="enum"&&i.values[a]||(a=void 0)}return al(a,t.default,i.default)}Ua.register(il,{error:[{kind:"error"},[je],(t,[i])=>{throw new Ht(i.evaluate(t))}],typeof:[je,[_e],(t,[i])=>R(Jt(i.evaluate(t)))],"to-rgba":[D(Fi,4),[Fa],(t,[i])=>{const[a,l,s,u]=i.evaluate(t).rgb;return[255*a,255*l,255*s,u]}],rgb:[Fa,[Fi,Fi,Fi],Ts],rgba:[Fa,[Fi,Fi,Fi,Fi],Ts],has:{type:ue,overloads:[[[je],(t,[i])=>Tc(i.evaluate(t),t.properties())],[[je,cn],(t,[i,a])=>Tc(i.evaluate(t),a.evaluate(t))]]},get:{type:_e,overloads:[[[je],(t,[i])=>Rs(i.evaluate(t),t.properties())],[[je,cn],(t,[i,a])=>Rs(i.evaluate(t),a.evaluate(t))]]},"feature-state":[_e,[je],(t,[i])=>Rs(i.evaluate(t),t.featureState||{})],properties:[cn,[],t=>t.properties()],"geometry-type":[je,[],t=>t.geometryType()],id:[_e,[],t=>t.id()],zoom:[Fi,[],t=>t.globals.zoom],"heatmap-density":[Fi,[],t=>t.globals.heatmapDensity||0],"line-progress":[Fi,[],t=>t.globals.lineProgress||0],accumulated:[_e,[],t=>t.globals.accumulated===void 0?null:t.globals.accumulated],"+":[Fi,el(Fi),(t,i)=>{let a=0;for(const l of i)a+=l.evaluate(t);return a}],"*":[Fi,el(Fi),(t,i)=>{let a=1;for(const l of i)a*=l.evaluate(t);return a}],"-":{type:Fi,overloads:[[[Fi,Fi],(t,[i,a])=>i.evaluate(t)-a.evaluate(t)],[[Fi],(t,[i])=>-i.evaluate(t)]]},"/":[Fi,[Fi,Fi],(t,[i,a])=>i.evaluate(t)/a.evaluate(t)],"%":[Fi,[Fi,Fi],(t,[i,a])=>i.evaluate(t)%a.evaluate(t)],ln2:[Fi,[],()=>Math.LN2],pi:[Fi,[],()=>Math.PI],e:[Fi,[],()=>Math.E],"^":[Fi,[Fi,Fi],(t,[i,a])=>Math.pow(i.evaluate(t),a.evaluate(t))],sqrt:[Fi,[Fi],(t,[i])=>Math.sqrt(i.evaluate(t))],log10:[Fi,[Fi],(t,[i])=>Math.log(i.evaluate(t))/Math.LN10],ln:[Fi,[Fi],(t,[i])=>Math.log(i.evaluate(t))],log2:[Fi,[Fi],(t,[i])=>Math.log(i.evaluate(t))/Math.LN2],sin:[Fi,[Fi],(t,[i])=>Math.sin(i.evaluate(t))],cos:[Fi,[Fi],(t,[i])=>Math.cos(i.evaluate(t))],tan:[Fi,[Fi],(t,[i])=>Math.tan(i.evaluate(t))],asin:[Fi,[Fi],(t,[i])=>Math.asin(i.evaluate(t))],acos:[Fi,[Fi],(t,[i])=>Math.acos(i.evaluate(t))],atan:[Fi,[Fi],(t,[i])=>Math.atan(i.evaluate(t))],min:[Fi,el(Fi),(t,i)=>Math.min(...i.map(a=>a.evaluate(t)))],max:[Fi,el(Fi),(t,i)=>Math.max(...i.map(a=>a.evaluate(t)))],abs:[Fi,[Fi],(t,[i])=>Math.abs(i.evaluate(t))],round:[Fi,[Fi],(t,[i])=>{const a=i.evaluate(t);return a<0?-Math.round(-a):Math.round(a)}],floor:[Fi,[Fi],(t,[i])=>Math.floor(i.evaluate(t))],ceil:[Fi,[Fi],(t,[i])=>Math.ceil(i.evaluate(t))],"filter-==":[ue,[je,_e],(t,[i,a])=>t.properties()[i.value]===a.value],"filter-id-==":[ue,[_e],(t,[i])=>t.id()===i.value],"filter-type-==":[ue,[je],(t,[i])=>t.geometryType()===i.value],"filter-<":[ue,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l{const a=t.id(),l=i.value;return typeof a==typeof l&&a":[ue,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l>s}],"filter-id->":[ue,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a>l}],"filter-<=":[ue,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l<=s}],"filter-id-<=":[ue,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a<=l}],"filter->=":[ue,[je,_e],(t,[i,a])=>{const l=t.properties()[i.value],s=a.value;return typeof l==typeof s&&l>=s}],"filter-id->=":[ue,[_e],(t,[i])=>{const a=t.id(),l=i.value;return typeof a==typeof l&&a>=l}],"filter-has":[ue,[_e],(t,[i])=>i.value in t.properties()],"filter-has-id":[ue,[],t=>t.id()!==null&&t.id()!==void 0],"filter-type-in":[ue,[D(je)],(t,[i])=>i.value.indexOf(t.geometryType())>=0],"filter-id-in":[ue,[D(_e)],(t,[i])=>i.value.indexOf(t.id())>=0],"filter-in-small":[ue,[je,D(_e)],(t,[i,a])=>a.value.indexOf(t.properties()[i.value])>=0],"filter-in-large":[ue,[je,D(_e)],(t,[i,a])=>function(l,s,u,m){for(;u<=m;){const S=u+m>>1;if(s[S]===l)return!0;s[S]>l?m=S-1:u=S+1}return!1}(t.properties()[i.value],a.value,0,a.value.length-1)],all:{type:ue,overloads:[[[ue,ue],(t,[i,a])=>i.evaluate(t)&&a.evaluate(t)],[el(ue),(t,i)=>{for(const a of i)if(!a.evaluate(t))return!1;return!0}]]},any:{type:ue,overloads:[[[ue,ue],(t,[i,a])=>i.evaluate(t)||a.evaluate(t)],[el(ue),(t,i)=>{for(const a of i)if(a.evaluate(t))return!0;return!1}]]},"!":[ue,[ue],(t,[i])=>!i.evaluate(t)],"is-supported-script":[ue,[je],(t,[i])=>{const a=t.globals&&t.globals.isSupportedScript;return!a||a(i.evaluate(t))}],upcase:[je,[je],(t,[i])=>i.evaluate(t).toUpperCase()],downcase:[je,[je],(t,[i])=>i.evaluate(t).toLowerCase()],concat:[je,el(_e),(t,i)=>i.map(a=>Ln(a.evaluate(t))).join("")],"resolved-locale":[je,[gn],(t,[i])=>i.evaluate(t).resolvedLocale()]});class Mc{constructor(i,a){var l;this.expression=i,this._warningHistory={},this._evaluator=new ql,this._defaultValue=a?(l=a).type==="color"&&Xl(l.default)?new tt(0,0,0,0):l.type==="color"?tt.parse(l.default)||null:l.type==="padding"?Ha.parse(l.default)||null:l.type==="variableAnchorOffsetCollection"?Va.parse(l.default)||null:l.default===void 0?null:l.default:null,this._enumValues=a&&a.type==="enum"?a.values:null}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._evaluator.globals=i,this._evaluator.feature=a,this._evaluator.featureState=l,this._evaluator.canonical=s,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=m,this.expression.evaluate(this._evaluator)}evaluate(i,a,l,s,u,m){this._evaluator.globals=i,this._evaluator.feature=a||null,this._evaluator.featureState=l||null,this._evaluator.canonical=s,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=m||null;try{const S=this.expression.evaluate(this._evaluator);if(S==null||typeof S=="number"&&S!=S)return this._defaultValue;if(this._enumValues&&!(S in this._enumValues))throw new Ht(`Expected value to be one of ${Object.keys(this._enumValues).map(_=>JSON.stringify(_)).join(", ")}, but found ${JSON.stringify(S)} instead.`);return S}catch(S){return this._warningHistory[S.message]||(this._warningHistory[S.message]=!0,typeof console<"u"&&console.warn(S.message)),this._defaultValue}}}function Yl(t){return Array.isArray(t)&&t.length>0&&typeof t[0]=="string"&&t[0]in il}function nl(t,i){const a=new zn(il,Rc,[],i?function(s){const u={color:Fa,string:je,number:Fi,enum:je,boolean:ue,formatted:An,padding:Pn,resolvedImage:Sn,variableAnchorOffsetCollection:Y};return s.type==="array"?D(u[s.value]||_e,s.length):u[s.type]}(i):void 0),l=a.parse(t,void 0,void 0,void 0,i&&i.type==="string"?{typeAnnotation:"coerce"}:void 0);return l?cr(new Mc(l,i)):gl(a.errors)}class Ps{constructor(i,a){this.kind=i,this._styleExpression=a,this.isStateDependent=i!=="constant"&&!Wl(a.expression)}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._styleExpression.evaluateWithoutErrorHandling(i,a,l,s,u,m)}evaluate(i,a,l,s,u,m){return this._styleExpression.evaluate(i,a,l,s,u,m)}}class Ms{constructor(i,a,l,s){this.kind=i,this.zoomStops=l,this._styleExpression=a,this.isStateDependent=i!=="camera"&&!Wl(a.expression),this.interpolationType=s}evaluateWithoutErrorHandling(i,a,l,s,u,m){return this._styleExpression.evaluateWithoutErrorHandling(i,a,l,s,u,m)}evaluate(i,a,l,s,u,m){return this._styleExpression.evaluate(i,a,l,s,u,m)}interpolationFactor(i,a,l){return this.interpolationType?$a.interpolationFactor(this.interpolationType,i,a,l):0}}function rr(t,i){const a=nl(t,i);if(a.result==="error")return a;const l=a.value.expression,s=Dc(l);if(!s&&!tl(i))return gl([new zt("","data expressions not supported")]);const u=Nc(l,["zoom"]);if(!u&&!Ds(i))return gl([new zt("","zoom expressions not supported")]);const m=Ec(l);return m||u?m instanceof zt?gl([m]):m instanceof $a&&!Sl(i)?gl([new zt("",'"interpolate" expressions cannot be used with this property')]):cr(m?new Ms(s?"camera":"composite",a.value,m.labels,m instanceof $a?m.interpolation:void 0):new Ps(s?"constant":"source",a.value)):gl([new zt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class zc{constructor(i,a){this._parameters=i,this._specification=a,Mt(this,or(this._parameters,this._specification))}static deserialize(i){return new zc(i._parameters,i._specification)}static serialize(i){return{_parameters:i._parameters,_specification:i._specification}}}function Ec(t){let i=null;if(t instanceof Xe)i=Ec(t.result);else if(t instanceof xc){for(const a of t.args)if(i=Ec(a),i)break}else(t instanceof ml||t instanceof $a)&&t.input instanceof Ua&&t.input.name==="zoom"&&(i=t);return i instanceof zt||t.eachChild(a=>{const l=Ec(a);l instanceof zt?i=l:!i&&l?i=new zt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):i&&l&&i!==l&&(i=new zt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),i}function Il(t){if(t===!0||t===!1)return!0;if(!Array.isArray(t)||t.length===0)return!1;switch(t[0]){case"has":return t.length>=2&&t[1]!=="$id"&&t[1]!=="$type";case"in":return t.length>=3&&(typeof t[1]!="string"||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return t.length!==3||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const i of t.slice(1))if(!Il(i)&&typeof i!="boolean")return!1;return!0;default:return!0}}const qc={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Aa(t){if(t==null)return{filter:()=>!0,needGeometry:!1};Il(t)||(t=Hc(t));const i=nl(t,qc);if(i.result==="error")throw new Error(i.value.map(a=>`${a.key}: ${a.message}`).join(", "));return{filter:(a,l,s)=>i.value.evaluate(a,l,{},s),needGeometry:zs(t)}}function Ql(t,i){return ti?1:0}function zs(t){if(!Array.isArray(t))return!1;if(t[0]==="within"||t[0]==="distance")return!0;for(let i=1;i"||i==="<="||i===">="?Es(t[1],t[2],i):i==="any"?(a=t.slice(1),["any"].concat(a.map(Hc))):i==="all"?["all"].concat(t.slice(1).map(Hc)):i==="none"?["all"].concat(t.slice(1).map(Hc).map(kl)):i==="in"?wl(t[1],t.slice(2)):i==="!in"?kl(wl(t[1],t.slice(2))):i==="has"?qs(t[1]):i!=="!has"||kl(qs(t[1]));var a}function Es(t,i,a){switch(t){case"$type":return[`filter-type-${a}`,i];case"$id":return[`filter-id-${a}`,i];default:return[`filter-${a}`,t,i]}}function wl(t,i){if(i.length===0)return!1;switch(t){case"$type":return["filter-type-in",["literal",i]];case"$id":return["filter-id-in",["literal",i]];default:return i.length>200&&!i.some(a=>typeof a!=typeof i[0])?["filter-in-large",t,["literal",i.sort(Ql)]]:["filter-in-small",t,["literal",i]]}}function qs(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function kl(t){return["!",t]}function Hs(t){const i=typeof t;if(i==="number"||i==="boolean"||i==="string"||t==null)return JSON.stringify(t);if(Array.isArray(t)){let s="[";for(const u of t)s+=`${Hs(u)},`;return`${s}]`}const a=Object.keys(t).sort();let l="{";for(let s=0;sl.maximum?[new bi(i,a,`${a} is greater than the maximum value ${l.maximum}`)]:[]}function Os(t){const i=t.valueSpec,a=kt(t.value.type);let l,s,u,m={};const S=a!=="categorical"&&t.value.property===void 0,_=!S,v=Ke(t.value.stops)==="array"&&Ke(t.value.stops[0])==="array"&&Ke(t.value.stops[0][0])==="object",L=Ta({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(N){if(a==="identity")return[new bi(N.key,N.value,'identity function may not have a "stops" property')];let M=[];const O=N.value;return M=M.concat(Vc({key:N.key,value:O,valueSpec:N.valueSpec,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec,arrayElementValidator:B})),Ke(O)==="array"&&O.length===0&&M.push(new bi(N.key,O,"array must have at least one stop")),M},default:function(N){return N.validateSpec({key:N.key,value:N.value,valueSpec:i,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec})}}});return a==="identity"&&S&&L.push(new bi(t.key,t.value,'missing required property "property"')),a==="identity"||t.value.stops||L.push(new bi(t.key,t.value,'missing required property "stops"')),a==="exponential"&&t.valueSpec.expression&&!Sl(t.valueSpec)&&L.push(new bi(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(_&&!tl(t.valueSpec)?L.push(new bi(t.key,t.value,"property functions not supported")):S&&!Ds(t.valueSpec)&&L.push(new bi(t.key,t.value,"zoom functions not supported"))),a!=="categorical"&&!v||t.value.property!==void 0||L.push(new bi(t.key,t.value,'"property" property is required')),L;function B(N){let M=[];const O=N.value,J=N.key;if(Ke(O)!=="array")return[new bi(J,O,`array expected, ${Ke(O)} found`)];if(O.length!==2)return[new bi(J,O,`array length 2 expected, length ${O.length} found`)];if(v){if(Ke(O[0])!=="object")return[new bi(J,O,`object expected, ${Ke(O[0])} found`)];if(O[0].zoom===void 0)return[new bi(J,O,"object stop key must have zoom")];if(O[0].value===void 0)return[new bi(J,O,"object stop key must have value")];if(u&&u>kt(O[0].zoom))return[new bi(J,O[0].zoom,"stop zoom values must appear in ascending order")];kt(O[0].zoom)!==u&&(u=kt(O[0].zoom),s=void 0,m={}),M=M.concat(Ta({key:`${J}[0]`,value:O[0],valueSpec:{zoom:{}},validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec,objectElementValidators:{zoom:ic,value:T}}))}else M=M.concat(T({key:`${J}[0]`,value:O[0],valueSpec:{},validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec},O));return Yl(ll(O[1]))?M.concat([new bi(`${J}[1]`,O[1],"expressions are not allowed in function stops.")]):M.concat(N.validateSpec({key:`${J}[1]`,value:O[1],valueSpec:i,validateSpec:N.validateSpec,style:N.style,styleSpec:N.styleSpec}))}function T(N,M){const O=Ke(N.value),J=kt(N.value),ii=N.value!==null?N.value:M;if(l){if(O!==l)return[new bi(N.key,ii,`${O} stop domain type must match previous stop domain type ${l}`)]}else l=O;if(O!=="number"&&O!=="string"&&O!=="boolean")return[new bi(N.key,ii,"stop domain value must be a number, string, or boolean")];if(O!=="number"&&a!=="categorical"){let ri=`number expected, ${O} found`;return tl(i)&&a===void 0&&(ri+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new bi(N.key,ii,ri)]}return a!=="categorical"||O!=="number"||isFinite(J)&&Math.floor(J)===J?a!=="categorical"&&O==="number"&&s!==void 0&&Jnew bi(`${t.key}${l.key}`,t.value,l.message));const a=i.value.expression||i.value._styleExpression.expression;if(t.expressionContext==="property"&&t.propertyKey==="text-font"&&!a.outputDefined())return[new bi(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if(t.expressionContext==="property"&&t.propertyType==="layout"&&!Wl(a))return[new bi(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if(t.expressionContext==="filter"&&!Wl(a))return[new bi(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&t.expressionContext.indexOf("cluster")===0){if(!Nc(a,["zoom","feature-state"]))return[new bi(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(t.expressionContext==="cluster-initial"&&!Dc(a))return[new bi(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ec(t){const i=t.key,a=t.value,l=t.valueSpec,s=[];return Array.isArray(l.values)?l.values.indexOf(kt(a))===-1&&s.push(new bi(i,a,`expected one of [${l.values.join(", ")}], ${JSON.stringify(a)} found`)):Object.keys(l.values).indexOf(kt(a))===-1&&s.push(new bi(i,a,`expected one of [${Object.keys(l.values).join(", ")}], ${JSON.stringify(a)} found`)),s}function tc(t){return Il(ll(t.value))?cl(Mt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):ac(t)}function ac(t){const i=t.value,a=t.key;if(Ke(i)!=="array")return[new bi(a,i,`array expected, ${Ke(i)} found`)];const l=t.styleSpec;let s,u=[];if(i.length<1)return[new bi(a,i,"filter array must have at least 1 element")];switch(u=u.concat(ec({key:`${a}[0]`,value:i[0],valueSpec:l.filter_operator,style:t.style,styleSpec:t.styleSpec})),kt(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&kt(i[1])==="$type"&&u.push(new bi(a,i,`"$type" cannot be use with operator "${i[0]}"`));case"==":case"!=":i.length!==3&&u.push(new bi(a,i,`filter array for operator "${i[0]}" must have 3 elements`));case"in":case"!in":i.length>=2&&(s=Ke(i[1]),s!=="string"&&u.push(new bi(`${a}[1]`,i[1],`string expected, ${s} found`)));for(let m=2;m{v in a&&i.push(new bi(l,a[v],`"${v}" is prohibited for ref layers`))}),s.layers.forEach(v=>{kt(v.id)===S&&(_=v)}),_?_.ref?i.push(new bi(l,a.ref,"ref cannot reference another ref layer")):m=kt(_.type):i.push(new bi(l,a.ref,`ref layer "${S}" not found`))}else if(m!=="background")if(a.source){const _=s.sources&&s.sources[a.source],v=_&&kt(_.type);_?v==="vector"&&m==="raster"?i.push(new bi(l,a.source,`layer "${a.id}" requires a raster source`)):v!=="raster-dem"&&m==="hillshade"?i.push(new bi(l,a.source,`layer "${a.id}" requires a raster-dem source`)):v==="raster"&&m!=="raster"?i.push(new bi(l,a.source,`layer "${a.id}" requires a vector source`)):v!=="vector"||a["source-layer"]?v==="raster-dem"&&m!=="hillshade"?i.push(new bi(l,a.source,"raster-dem source can only be used with layer type 'hillshade'.")):m!=="line"||!a.paint||!a.paint["line-gradient"]||v==="geojson"&&_.lineMetrics||i.push(new bi(l,a,`layer "${a.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):i.push(new bi(l,a,`layer "${a.id}" must specify a "source-layer"`)):i.push(new bi(l,a.source,`source "${a.source}" not found`))}else i.push(new bi(l,a,'missing required property "source"'));return i=i.concat(Ta({key:l,value:a,valueSpec:u.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":()=>[],type:()=>t.validateSpec({key:`${l}.type`,value:a.type,valueSpec:u.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:a,objectKey:"type"}),filter:tc,layout:_=>Ta({layer:a,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":v=>Ks(Mt({layerType:m},v))}}),paint:_=>Ta({layer:a,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":v=>Us(Mt({layerType:m},v))}})}})),i}function Cn(t){const i=t.value,a=t.key,l=Ke(i);return l!=="string"?[new bi(a,i,`string expected, ${l} found`)]:[]}const Zs={promoteId:function({key:t,value:i}){if(Ke(i)==="string")return Cn({key:t,value:i});{const a=[];for(const l in i)a.push(...Cn({key:`${t}.${l}`,value:i[l]}));return a}}};function ur(t){const i=t.value,a=t.key,l=t.styleSpec,s=t.style,u=t.validateSpec;if(!i.type)return[new bi(a,i,'"type" is required')];const m=kt(i.type);let S;switch(m){case"vector":case"raster":return S=Ta({key:a,value:i,valueSpec:l[`source_${m.replace("-","_")}`],style:t.style,styleSpec:l,objectElementValidators:Zs,validateSpec:u}),S;case"raster-dem":return S=function(_){var v;const L=(v=_.sourceName)!==null&&v!==void 0?v:"",B=_.value,T=_.styleSpec,N=T.source_raster_dem,M=_.style;let O=[];const J=Ke(B);if(B===void 0)return O;if(J!=="object")return O.push(new bi("source_raster_dem",B,`object expected, ${J} found`)),O;const ii=kt(B.encoding)==="custom",ri=["redFactor","greenFactor","blueFactor","baseShift"],ai=_.value.encoding?`"${_.value.encoding}"`:"Default";for(const oi in B)!ii&&ri.includes(oi)?O.push(new bi(oi,B[oi],`In "${L}": "${oi}" is only valid when "encoding" is set to "custom". ${ai} encoding found`)):N[oi]?O=O.concat(_.validateSpec({key:oi,value:B[oi],valueSpec:N[oi],validateSpec:_.validateSpec,style:M,styleSpec:T})):O.push(new bi(oi,B[oi],`unknown property "${oi}"`));return O}({sourceName:a,value:i,style:t.style,styleSpec:l,validateSpec:u}),S;case"geojson":if(S=Ta({key:a,value:i,valueSpec:l.source_geojson,style:s,styleSpec:l,validateSpec:u,objectElementValidators:Zs}),i.cluster)for(const _ in i.clusterProperties){const[v,L]=i.clusterProperties[_],B=typeof v=="string"?[v,["accumulated"],["get",_]]:v;S.push(...cl({key:`${a}.${_}.map`,value:L,validateSpec:u,expressionContext:"cluster-map"})),S.push(...cl({key:`${a}.${_}.reduce`,value:B,validateSpec:u,expressionContext:"cluster-reduce"}))}return S;case"video":return Ta({key:a,value:i,valueSpec:l.source_video,style:s,validateSpec:u,styleSpec:l});case"image":return Ta({key:a,value:i,valueSpec:l.source_image,style:s,validateSpec:u,styleSpec:l});case"canvas":return[new bi(a,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ec({key:`${a}.type`,value:i.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:s,validateSpec:u,styleSpec:l})}}function Ws(t){const i=t.value,a=t.styleSpec,l=a.light,s=t.style;let u=[];const m=Ke(i);if(i===void 0)return u;if(m!=="object")return u=u.concat([new bi("light",i,`object expected, ${m} found`)]),u;for(const S in i){const _=S.match(/^(.*)-transition$/);u=u.concat(_&&l[_[1]]&&l[_[1]].transition?t.validateSpec({key:S,value:i[S],valueSpec:a.transition,validateSpec:t.validateSpec,style:s,styleSpec:a}):l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],validateSpec:t.validateSpec,style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)])}return u}function dr(t){const i=t.value,a=t.styleSpec,l=a.sky,s=t.style,u=Ke(i);if(i===void 0)return[];if(u!=="object")return[new bi("sky",i,`object expected, ${u} found`)];let m=[];for(const S in i)m=m.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return m}function Xs(t){const i=t.value,a=t.styleSpec,l=a.terrain,s=t.style;let u=[];const m=Ke(i);if(i===void 0)return u;if(m!=="object")return u=u.concat([new bi("terrain",i,`object expected, ${m} found`)]),u;for(const S in i)u=u.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],validateSpec:t.validateSpec,style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return u}function Ys(t){let i=[];const a=t.value,l=t.key;if(Array.isArray(a)){const s=[],u=[];for(const m in a)a[m].id&&s.includes(a[m].id)&&i.push(new bi(l,a,`all the sprites' ids must be unique, but ${a[m].id} is duplicated`)),s.push(a[m].id),a[m].url&&u.includes(a[m].url)&&i.push(new bi(l,a,`all the sprites' URLs must be unique, but ${a[m].url} is duplicated`)),u.push(a[m].url),i=i.concat(Ta({key:`${l}[${m}]`,value:a[m],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:t.validateSpec}));return i}return Cn({key:l,value:a})}const Qs={"*":()=>[],array:Vc,boolean:function(t){const i=t.value,a=t.key,l=Ke(i);return l!=="boolean"?[new bi(a,i,`boolean expected, ${l} found`)]:[]},number:ic,color:function(t){const i=t.key,a=t.value,l=Ke(a);return l!=="string"?[new bi(i,a,`color expected, ${l} found`)]:tt.parse(String(a))?[]:[new bi(i,a,`color expected, "${a}" found`)]},constants:pr,enum:ec,filter:tc,function:Os,layer:Js,object:Ta,source:ur,light:Ws,sky:dr,terrain:Xs,projection:function(t){const i=t.value,a=t.styleSpec,l=a.projection,s=t.style,u=Ke(i);if(i===void 0)return[];if(u!=="object")return[new bi("projection",i,`object expected, ${u} found`)];let m=[];for(const S in i)m=m.concat(l[S]?t.validateSpec({key:S,value:i[S],valueSpec:l[S],style:s,styleSpec:a}):[new bi(S,i[S],`unknown property "${S}"`)]);return m},string:Cn,formatted:function(t){return Cn(t).length===0?[]:cl(t)},resolvedImage:function(t){return Cn(t).length===0?[]:cl(t)},padding:function(t){const i=t.key,a=t.value;if(Ke(a)==="array"){if(a.length<1||a.length>4)return[new bi(i,a,`padding requires 1 to 4 values; ${a.length} values found`)];const l={type:"number"};let s=[];for(let u=0;u[]}})),t.constants&&(a=a.concat(pr({key:"constants",value:t.constants,style:t,styleSpec:i,validateSpec:nc}))),io(a)}function sn(t){return function(i){return t({...i,validateSpec:nc})}}function io(t){return[].concat(t).sort((i,a)=>i.line-a.line)}function on(t){return function(...i){return io(t.apply(this,i))}}en.source=on(sn(ur)),en.sprite=on(sn(Ys)),en.glyphs=on(sn(yr)),en.light=on(sn(Ws)),en.sky=on(sn(dr)),en.terrain=on(sn(Xs)),en.layer=on(sn(Js)),en.filter=on(sn(tc)),en.paintProperty=on(sn(Us)),en.layoutProperty=on(sn(Ks));const Fn=en,S0=Fn.light,eo=Fn.sky,I0=Fn.paintProperty,w0=Fn.layoutProperty;function to(t,i){let a=!1;if(i&&i.length)for(const l of i)t.fire(new nn(new Error(l.message))),a=!0;return a}class _l{constructor(i,a,l){const s=this.cells=[];if(i instanceof ArrayBuffer){this.arrayBuffer=i;const m=new Int32Array(this.arrayBuffer);i=m[0],this.d=(a=m[1])+2*(l=m[2]);for(let _=0;_=B[M+0]&&s>=B[M+1])?(S[N]=!0,m.push(L[N])):S[N]=!1}}}}_forEachCell(i,a,l,s,u,m,S,_){const v=this._convertToCellCoord(i),L=this._convertToCellCoord(a),B=this._convertToCellCoord(l),T=this._convertToCellCoord(s);for(let N=v;N<=B;N++)for(let M=L;M<=T;M++){const O=this.d*M+N;if((!_||_(this._convertFromCellCoord(N),this._convertFromCellCoord(M),this._convertFromCellCoord(N+1),this._convertFromCellCoord(M+1)))&&u.call(this,i,a,l,s,O,m,S,_))return}}_convertFromCellCoord(i){return(i-this.padding)/this.scale}_convertToCellCoord(i){return Math.max(0,Math.min(this.d-1,Math.floor(i*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const i=this.cells,a=3+this.cells.length+1+1;let l=0;for(let m=0;m=0)continue;const m=t[u];s[u]=wn[a].shallow.indexOf(u)>=0?m:lc(m,i)}t instanceof Error&&(s.message=t.message)}if(s.$name)throw new Error("$name property is reserved for worker serialization logic.");return a!=="Object"&&(s.$name=a),s}function kn(t){if(hr(t))return t;if(Array.isArray(t))return t.map(kn);if(typeof t!="object")throw new Error("can't deserialize object of type "+typeof t);const i=ao(t)||"Object";if(!wn[i])throw new Error(`can't deserialize unregistered class ${i}`);const{klass:a}=wn[i];if(!a)throw new Error(`can't deserialize unregistered class ${i}`);if(a.deserialize)return a.deserialize(t);const l=Object.create(a.prototype);for(const s of Object.keys(t)){if(s==="$name")continue;const u=t[s];l[s]=wn[i].shallow.indexOf(s)>=0?u:kn(u)}return l}class fr{constructor(){this.first=!0}update(i,a){const l=Math.floor(i);return this.first?(this.first=!1,this.lastIntegerZoom=l,this.lastIntegerZoomTime=0,this.lastZoom=i,this.lastFloorZoom=l,!0):(this.lastFloorZoom>l?(this.lastIntegerZoom=l+1,this.lastIntegerZoomTime=a):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function no(t){for(const i of t)if(lo(i.charCodeAt(0)))return!0;return!1}function k0(t){for(const i of t)if(!gr(i.charCodeAt(0)))return!1;return!0}function gr(t){return!(Vi.Arabic(t)||Vi["Arabic Supplement"](t)||Vi["Arabic Extended-A"](t)||Vi["Arabic Presentation Forms-A"](t)||Vi["Arabic Presentation Forms-B"](t))}function lo(t){return!(t!==746&&t!==747&&(t<4352||!(Vi["Bopomofo Extended"](t)||Vi.Bopomofo(t)||Vi["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Vi["CJK Compatibility Ideographs"](t)||Vi["CJK Compatibility"](t)||Vi["CJK Radicals Supplement"](t)||Vi["CJK Strokes"](t)||!(!Vi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||t===12336)||Vi["CJK Unified Ideographs Extension A"](t)||Vi["CJK Unified Ideographs"](t)||Vi["Enclosed CJK Letters and Months"](t)||Vi["Hangul Compatibility Jamo"](t)||Vi["Hangul Jamo Extended-A"](t)||Vi["Hangul Jamo Extended-B"](t)||Vi["Hangul Jamo"](t)||Vi["Hangul Syllables"](t)||Vi.Hiragana(t)||Vi["Ideographic Description Characters"](t)||Vi.Kanbun(t)||Vi["Kangxi Radicals"](t)||Vi["Katakana Phonetic Extensions"](t)||Vi.Katakana(t)&&t!==12540||!(!Vi["Halfwidth and Fullwidth Forms"](t)||t===65288||t===65289||t===65293||t>=65306&&t<=65310||t===65339||t===65341||t===65343||t>=65371&&t<=65503||t===65507||t>=65512&&t<=65519)||!(!Vi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Vi["Unified Canadian Aboriginal Syllabics"](t)||Vi["Unified Canadian Aboriginal Syllabics Extended"](t)||Vi["Vertical Forms"](t)||Vi["Yijing Hexagram Symbols"](t)||Vi["Yi Syllables"](t)||Vi["Yi Radicals"](t))))}function Sr(t){return!(lo(t)||function(i){return!!(Vi["Latin-1 Supplement"](i)&&(i===167||i===169||i===174||i===177||i===188||i===189||i===190||i===215||i===247)||Vi["General Punctuation"](i)&&(i===8214||i===8224||i===8225||i===8240||i===8241||i===8251||i===8252||i===8258||i===8263||i===8264||i===8265||i===8273)||Vi["Letterlike Symbols"](i)||Vi["Number Forms"](i)||Vi["Miscellaneous Technical"](i)&&(i>=8960&&i<=8967||i>=8972&&i<=8991||i>=8996&&i<=9e3||i===9003||i>=9085&&i<=9114||i>=9150&&i<=9165||i===9167||i>=9169&&i<=9179||i>=9186&&i<=9215)||Vi["Control Pictures"](i)&&i!==9251||Vi["Optical Character Recognition"](i)||Vi["Enclosed Alphanumerics"](i)||Vi["Geometric Shapes"](i)||Vi["Miscellaneous Symbols"](i)&&!(i>=9754&&i<=9759)||Vi["Miscellaneous Symbols and Arrows"](i)&&(i>=11026&&i<=11055||i>=11088&&i<=11097||i>=11192&&i<=11243)||Vi["CJK Symbols and Punctuation"](i)||Vi.Katakana(i)||Vi["Private Use Area"](i)||Vi["CJK Compatibility Forms"](i)||Vi["Small Form Variants"](i)||Vi["Halfwidth and Fullwidth Forms"](i)||i===8734||i===8756||i===8757||i>=9984&&i<=10087||i>=10102&&i<=10131||i===65532||i===65533)}(t))}function Hn(t){return t>=1424&&t<=2303||Vi["Arabic Presentation Forms-A"](t)||Vi["Arabic Presentation Forms-B"](t)}function Ir(t,i){return!(!i&&Hn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Vi.Khmer(t))}function co(t){for(const i of t)if(Hn(i.charCodeAt(0)))return!0;return!1}const Vn=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class ft{constructor(i,a){this.zoom=i,a?(this.now=a.now,this.fadeDuration=a.fadeDuration,this.zoomHistory=a.zoomHistory,this.transition=a.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fr,this.transition={})}isSupportedScript(i){return function(a,l){for(const s of a)if(!Ir(s.charCodeAt(0),l))return!1;return!0}(i,Vn.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const i=this.zoom,a=i-Math.floor(i),l=this.crossFadingFactor();return i>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:a+(1-a)*l}:{fromScale:.5,toScale:1,t:1-(1-l)*a}}}class Oc{constructor(i,a){this.property=i,this.value=a,this.expression=function(l,s){if(Xl(l))return new zc(l,s);if(Yl(l)){const u=rr(l,s);if(u.result==="error")throw new Error(u.value.map(m=>`${m.key}: ${m.message}`).join(", "));return u.value}{let u=l;return s.type==="color"&&typeof l=="string"?u=tt.parse(l):s.type!=="padding"||typeof l!="number"&&!Array.isArray(l)?s.type==="variableAnchorOffsetCollection"&&Array.isArray(l)&&(u=Va.parse(l)):u=Ha.parse(l),{kind:"constant",evaluate:()=>u}}}(a===void 0?i.specification.default:a,i.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(i,a,l){return this.property.possiblyEvaluate(this,i,a,l)}}class xl{constructor(i){this.property=i,this.value=new Oc(i,void 0)}transitioned(i,a){return new wr(this.property,this.value,a,pe({},i.transition,this.transition),i.now)}untransitioned(){return new wr(this.property,this.value,null,{},0)}}class jl{constructor(i){this._properties=i,this._values=Object.create(i.defaultTransitionablePropertyValues)}getValue(i){return we(this._values[i].value.value)}setValue(i,a){Object.prototype.hasOwnProperty.call(this._values,i)||(this._values[i]=new xl(this._values[i].property)),this._values[i].value=new Oc(this._values[i].property,a===null?void 0:we(a))}getTransition(i){return we(this._values[i].transition)}setTransition(i,a){Object.prototype.hasOwnProperty.call(this._values,i)||(this._values[i]=new xl(this._values[i].property)),this._values[i].transition=we(a)||void 0}serialize(){const i={};for(const a of Object.keys(this._values)){const l=this.getValue(a);l!==void 0&&(i[a]=l);const s=this.getTransition(a);s!==void 0&&(i[`${a}-transition`]=s)}return i}transitioned(i,a){const l=new so(this._properties);for(const s of Object.keys(this._values))l._values[s]=this._values[s].transitioned(i,a._values[s]);return l}untransitioned(){const i=new so(this._properties);for(const a of Object.keys(this._values))i._values[a]=this._values[a].untransitioned();return i}}class wr{constructor(i,a,l,s,u){this.property=i,this.value=a,this.begin=u+s.delay||0,this.end=this.begin+s.duration||0,i.specification.transition&&(s.delay||s.duration)&&(this.prior=l)}possiblyEvaluate(i,a,l){const s=i.now||0,u=this.value.possiblyEvaluate(i,a,l),m=this.prior;if(m){if(s>this.end)return this.prior=null,u;if(this.value.isDataDriven())return this.prior=null,u;if(s=1)return 1;const v=_*_,L=v*_;return 4*(_<.5?L:3*(_-v)+L-.75)}(S))}}return u}}class so{constructor(i){this._properties=i,this._values=Object.create(i.defaultTransitioningPropertyValues)}possiblyEvaluate(i,a,l){const s=new $c(this._properties);for(const u of Object.keys(this._values))s._values[u]=this._values[u].possiblyEvaluate(i,a,l);return s}hasTransition(){for(const i of Object.keys(this._values))if(this._values[i].prior)return!0;return!1}}class cc{constructor(i){this._properties=i,this._values=Object.create(i.defaultPropertyValues)}hasValue(i){return this._values[i].value!==void 0}getValue(i){return we(this._values[i].value)}setValue(i,a){this._values[i]=new Oc(this._values[i].property,a===null?void 0:we(a))}serialize(){const i={};for(const a of Object.keys(this._values)){const l=this.getValue(a);l!==void 0&&(i[a]=l)}return i}possiblyEvaluate(i,a,l){const s=new $c(this._properties);for(const u of Object.keys(this._values))s._values[u]=this._values[u].possiblyEvaluate(i,a,l);return s}}class _n{constructor(i,a,l){this.property=i,this.value=a,this.parameters=l}isConstant(){return this.value.kind==="constant"}constantOr(i){return this.value.kind==="constant"?this.value.value:i}evaluate(i,a,l,s){return this.property.evaluate(this.value,this.parameters,i,a,l,s)}}class $c{constructor(i){this._properties=i,this._values=Object.create(i.defaultPossiblyEvaluatedValues)}get(i){return this._values[i]}}class ee{constructor(i){this.specification=i}possiblyEvaluate(i,a){if(i.isDataDriven())throw new Error("Value should not be data driven");return i.expression.evaluate(a)}interpolate(i,a,l){const s=Oa[this.specification.type];return s?s(i,a,l):i}}class de{constructor(i,a){this.specification=i,this.overrides=a}possiblyEvaluate(i,a,l,s){return new _n(this,i.expression.kind==="constant"||i.expression.kind==="camera"?{kind:"constant",value:i.expression.evaluate(a,null,{},l,s)}:i.expression,a)}interpolate(i,a,l){if(i.value.kind!=="constant"||a.value.kind!=="constant")return i;if(i.value.value===void 0||a.value.value===void 0)return new _n(this,{kind:"constant",value:void 0},i.parameters);const s=Oa[this.specification.type];if(s){const u=s(i.value.value,a.value.value,l);return new _n(this,{kind:"constant",value:u},i.parameters)}return i}evaluate(i,a,l,s,u,m){return i.kind==="constant"?i.value:i.evaluate(a,l,s,u,m)}}class d extends de{possiblyEvaluate(i,a,l,s){if(i.value===void 0)return new _n(this,{kind:"constant",value:void 0},a);if(i.expression.kind==="constant"){const u=i.expression.evaluate(a,null,{},l,s),m=i.property.specification.type==="resolvedImage"&&typeof u!="string"?u.name:u,S=this._calculate(m,m,m,a);return new _n(this,{kind:"constant",value:S},a)}if(i.expression.kind==="camera"){const u=this._calculate(i.expression.evaluate({zoom:a.zoom-1}),i.expression.evaluate({zoom:a.zoom}),i.expression.evaluate({zoom:a.zoom+1}),a);return new _n(this,{kind:"constant",value:u},a)}return new _n(this,i.expression,a)}evaluate(i,a,l,s,u,m){if(i.kind==="source"){const S=i.evaluate(a,l,s,u,m);return this._calculate(S,S,S,a)}return i.kind==="composite"?this._calculate(i.evaluate({zoom:Math.floor(a.zoom)-1},l,s),i.evaluate({zoom:Math.floor(a.zoom)},l,s),i.evaluate({zoom:Math.floor(a.zoom)+1},l,s),a):i.value}_calculate(i,a,l,s){return s.zoom>s.zoomHistory.lastIntegerZoom?{from:i,to:a}:{from:l,to:a}}interpolate(i){return i}}class e{constructor(i){this.specification=i}possiblyEvaluate(i,a,l,s){if(i.value!==void 0){if(i.expression.kind==="constant"){const u=i.expression.evaluate(a,null,{},l,s);return this._calculate(u,u,u,a)}return this._calculate(i.expression.evaluate(new ft(Math.floor(a.zoom-1),a)),i.expression.evaluate(new ft(Math.floor(a.zoom),a)),i.expression.evaluate(new ft(Math.floor(a.zoom+1),a)),a)}}_calculate(i,a,l,s){return s.zoom>s.zoomHistory.lastIntegerZoom?{from:i,to:a}:{from:l,to:a}}interpolate(i){return i}}class n{constructor(i){this.specification=i}possiblyEvaluate(i,a,l,s){return!!i.expression.evaluate(a,null,{},l,s)}interpolate(){return!1}}class c{constructor(i){this.properties=i,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const a in i){const l=i[a];l.specification.overridable&&this.overridableProperties.push(a);const s=this.defaultPropertyValues[a]=new Oc(l,void 0),u=this.defaultTransitionablePropertyValues[a]=new xl(l);this.defaultTransitioningPropertyValues[a]=u.untransitioned(),this.defaultPossiblyEvaluatedValues[a]=s.possiblyEvaluate({})}}}Wi("DataDrivenProperty",de),Wi("DataConstantProperty",ee),Wi("CrossFadedDataDrivenProperty",d),Wi("CrossFadedProperty",e),Wi("ColorRampProperty",n);const o="-transition";class y extends Dt{constructor(i,a){if(super(),this.id=i.id,this.type=i.type,this._featureFilter={filter:()=>!0,needGeometry:!1},i.type!=="custom"&&(this.metadata=i.metadata,this.minzoom=i.minzoom,this.maxzoom=i.maxzoom,i.type!=="background"&&(this.source=i.source,this.sourceLayer=i["source-layer"],this.filter=i.filter),a.layout&&(this._unevaluatedLayout=new cc(a.layout)),a.paint)){this._transitionablePaint=new jl(a.paint);for(const l in i.paint)this.setPaintProperty(l,i.paint[l],{validate:!1});for(const l in i.layout)this.setLayoutProperty(l,i.layout[l],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new $c(a.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(i){return i==="visibility"?this.visibility:this._unevaluatedLayout.getValue(i)}setLayoutProperty(i,a,l={}){a!=null&&this._validate(w0,`layers.${this.id}.layout.${i}`,i,a,l)||(i!=="visibility"?this._unevaluatedLayout.setValue(i,a):this.visibility=a)}getPaintProperty(i){return i.endsWith(o)?this._transitionablePaint.getTransition(i.slice(0,-11)):this._transitionablePaint.getValue(i)}setPaintProperty(i,a,l={}){if(a!=null&&this._validate(I0,`layers.${this.id}.paint.${i}`,i,a,l))return!1;if(i.endsWith(o))return this._transitionablePaint.setTransition(i.slice(0,-11),a||void 0),!1;{const s=this._transitionablePaint._values[i],u=s.property.specification["property-type"]==="cross-faded-data-driven",m=s.value.isDataDriven(),S=s.value;this._transitionablePaint.setValue(i,a),this._handleSpecialPaintPropertyUpdate(i);const _=this._transitionablePaint._values[i].value;return _.isDataDriven()||m||u||this._handleOverridablePaintPropertyUpdate(i,S,_)}}_handleSpecialPaintPropertyUpdate(i){}_handleOverridablePaintPropertyUpdate(i,a,l){return!1}isHidden(i){return!!(this.minzoom&&i=this.maxzoom)||this.visibility==="none"}updateTransitions(i){this._transitioningPaint=this._transitionablePaint.transitioned(i,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(i,a){i.getCrossfadeParameters&&(this._crossfadeParameters=i.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(i,void 0,a)),this.paint=this._transitioningPaint.possiblyEvaluate(i,void 0,a)}serialize(){const i={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(i.layout=i.layout||{},i.layout.visibility=this.visibility),Ie(i,(a,l)=>!(a===void 0||l==="layout"&&!Object.keys(a).length||l==="paint"&&!Object.keys(a).length))}_validate(i,a,l,s,u={}){return(!u||u.validate!==!1)&&to(this,i.call(Fn,{key:a,layerType:this.type,objectKey:l,value:s,styleSpec:gi,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const i in this.paint._values){const a=this.paint.get(i);if(a instanceof _n&&tl(a.property.specification)&&(a.value.kind==="source"||a.value.kind==="composite")&&a.value.isStateDependent)return!0}return!1}}const k={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class x{constructor(i,a){this._structArray=i,this._pos1=a*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class b{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(i,a){return i._trim(),a&&(i.isTransferred=!0,a.push(i.arrayBuffer)),{length:i.length,arrayBuffer:i.arrayBuffer}}static deserialize(i){const a=Object.create(this.prototype);return a.arrayBuffer=i.arrayBuffer,a.length=i.length,a.capacity=i.arrayBuffer.byteLength/a.bytesPerElement,a._refreshViews(),a}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(i){this.reserve(i),this.length=i}reserve(i){if(i>this.capacity){this.capacity=Math.max(i,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const a=this.uint8;this._refreshViews(),a&&this.uint8.set(a)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function A(t,i=1){let a=0,l=0;return{members:t.map(s=>{const u=k[s.type].BYTES_PER_ELEMENT,m=a=F(a,Math.max(i,u)),S=s.components||1;return l=Math.max(l,u),a+=u*S,{name:s.name,type:s.type,components:S,offset:m}}),size:F(a,Math.max(l,i)),alignment:i}}function F(t,i){return Math.ceil(t/i)*i}class C extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.int16[s+0]=a,this.int16[s+1]=l,i}}C.prototype.bytesPerElement=4,Wi("StructArrayLayout2i4",C);class P extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.int16[u+0]=a,this.int16[u+1]=l,this.int16[u+2]=s,i}}P.prototype.bytesPerElement=6,Wi("StructArrayLayout3i6",P);class q extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s){const u=this.length;return this.resize(u+1),this.emplace(u,i,a,l,s)}emplace(i,a,l,s,u){const m=4*i;return this.int16[m+0]=a,this.int16[m+1]=l,this.int16[m+2]=s,this.int16[m+3]=u,i}}q.prototype.bytesPerElement=8,Wi("StructArrayLayout4i8",q);class $ extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=6*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.int16[_+2]=s,this.int16[_+3]=u,this.int16[_+4]=m,this.int16[_+5]=S,i}}$.prototype.bytesPerElement=12,Wi("StructArrayLayout2i4i12",$);class X extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=4*i,v=8*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.uint8[v+4]=s,this.uint8[v+5]=u,this.uint8[v+6]=m,this.uint8[v+7]=S,i}}X.prototype.bytesPerElement=8,Wi("StructArrayLayout2i4ub8",X);class K extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.float32[s+0]=a,this.float32[s+1]=l,i}}K.prototype.bytesPerElement=8,Wi("StructArrayLayout2f8",K);class Q extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L){const B=this.length;return this.resize(B+1),this.emplace(B,i,a,l,s,u,m,S,_,v,L)}emplace(i,a,l,s,u,m,S,_,v,L,B){const T=10*i;return this.uint16[T+0]=a,this.uint16[T+1]=l,this.uint16[T+2]=s,this.uint16[T+3]=u,this.uint16[T+4]=m,this.uint16[T+5]=S,this.uint16[T+6]=_,this.uint16[T+7]=v,this.uint16[T+8]=L,this.uint16[T+9]=B,i}}Q.prototype.bytesPerElement=20,Wi("StructArrayLayout10ui20",Q);class ni extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T){const N=this.length;return this.resize(N+1),this.emplace(N,i,a,l,s,u,m,S,_,v,L,B,T)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N){const M=12*i;return this.int16[M+0]=a,this.int16[M+1]=l,this.int16[M+2]=s,this.int16[M+3]=u,this.uint16[M+4]=m,this.uint16[M+5]=S,this.uint16[M+6]=_,this.uint16[M+7]=v,this.int16[M+8]=L,this.int16[M+9]=B,this.int16[M+10]=T,this.int16[M+11]=N,i}}ni.prototype.bytesPerElement=24,Wi("StructArrayLayout4i4ui4i24",ni);class Z extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.float32[u+0]=a,this.float32[u+1]=l,this.float32[u+2]=s,i}}Z.prototype.bytesPerElement=12,Wi("StructArrayLayout3f12",Z);class si extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.uint32[1*i+0]=a,i}}si.prototype.bytesPerElement=4,Wi("StructArrayLayout1ul4",si);class di extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v){const L=this.length;return this.resize(L+1),this.emplace(L,i,a,l,s,u,m,S,_,v)}emplace(i,a,l,s,u,m,S,_,v,L){const B=10*i,T=5*i;return this.int16[B+0]=a,this.int16[B+1]=l,this.int16[B+2]=s,this.int16[B+3]=u,this.int16[B+4]=m,this.int16[B+5]=S,this.uint32[T+3]=_,this.uint16[B+8]=v,this.uint16[B+9]=L,i}}di.prototype.bytesPerElement=20,Wi("StructArrayLayout6i1ul2ui20",di);class yi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=6*i;return this.int16[_+0]=a,this.int16[_+1]=l,this.int16[_+2]=s,this.int16[_+3]=u,this.int16[_+4]=m,this.int16[_+5]=S,i}}yi.prototype.bytesPerElement=12,Wi("StructArrayLayout2i2i2i12",yi);class wi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u){const m=this.length;return this.resize(m+1),this.emplace(m,i,a,l,s,u)}emplace(i,a,l,s,u,m){const S=4*i,_=8*i;return this.float32[S+0]=a,this.float32[S+1]=l,this.float32[S+2]=s,this.int16[_+6]=u,this.int16[_+7]=m,i}}wi.prototype.bytesPerElement=16,Wi("StructArrayLayout2f1f2i16",wi);class vi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m){const S=this.length;return this.resize(S+1),this.emplace(S,i,a,l,s,u,m)}emplace(i,a,l,s,u,m,S){const _=16*i,v=4*i,L=8*i;return this.uint8[_+0]=a,this.uint8[_+1]=l,this.float32[v+1]=s,this.float32[v+2]=u,this.int16[L+6]=m,this.int16[L+7]=S,i}}vi.prototype.bytesPerElement=16,Wi("StructArrayLayout2ub2f2i16",vi);class Oi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.uint16[u+0]=a,this.uint16[u+1]=l,this.uint16[u+2]=s,i}}Oi.prototype.bytesPerElement=6,Wi("StructArrayLayout3ui6",Oi);class Ui extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii){const ri=this.length;return this.resize(ri+1),this.emplace(ri,i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri){const ai=24*i,oi=12*i,fi=48*i;return this.int16[ai+0]=a,this.int16[ai+1]=l,this.uint16[ai+2]=s,this.uint16[ai+3]=u,this.uint32[oi+2]=m,this.uint32[oi+3]=S,this.uint32[oi+4]=_,this.uint16[ai+10]=v,this.uint16[ai+11]=L,this.uint16[ai+12]=B,this.float32[oi+7]=T,this.float32[oi+8]=N,this.uint8[fi+36]=M,this.uint8[fi+37]=O,this.uint8[fi+38]=J,this.uint32[oi+10]=ii,this.int16[ai+22]=ri,i}}Ui.prototype.bytesPerElement=48,Wi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ui);class Li extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,ji,Mi,se,Hi,Pi,ie,Xi){const Zi=this.length;return this.resize(Zi+1),this.emplace(Zi,i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,ji,Mi,se,Hi,Pi,ie,Xi)}emplace(i,a,l,s,u,m,S,_,v,L,B,T,N,M,O,J,ii,ri,ai,oi,fi,ji,Mi,se,Hi,Pi,ie,Xi,Zi){const Ii=32*i,te=16*i;return this.int16[Ii+0]=a,this.int16[Ii+1]=l,this.int16[Ii+2]=s,this.int16[Ii+3]=u,this.int16[Ii+4]=m,this.int16[Ii+5]=S,this.int16[Ii+6]=_,this.int16[Ii+7]=v,this.uint16[Ii+8]=L,this.uint16[Ii+9]=B,this.uint16[Ii+10]=T,this.uint16[Ii+11]=N,this.uint16[Ii+12]=M,this.uint16[Ii+13]=O,this.uint16[Ii+14]=J,this.uint16[Ii+15]=ii,this.uint16[Ii+16]=ri,this.uint16[Ii+17]=ai,this.uint16[Ii+18]=oi,this.uint16[Ii+19]=fi,this.uint16[Ii+20]=ji,this.uint16[Ii+21]=Mi,this.uint16[Ii+22]=se,this.uint32[te+12]=Hi,this.float32[te+13]=Pi,this.float32[te+14]=ie,this.uint16[Ii+30]=Xi,this.uint16[Ii+31]=Zi,i}}Li.prototype.bytesPerElement=64,Wi("StructArrayLayout8i15ui1ul2f2ui64",Li);class Ci extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.float32[1*i+0]=a,i}}Ci.prototype.bytesPerElement=4,Wi("StructArrayLayout1f4",Ci);class Yi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=3*i;return this.uint16[6*i+0]=a,this.float32[u+1]=l,this.float32[u+2]=s,i}}Yi.prototype.bytesPerElement=12,Wi("StructArrayLayout1ui2f12",Yi);class Se extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a,l){const s=this.length;return this.resize(s+1),this.emplace(s,i,a,l)}emplace(i,a,l,s){const u=4*i;return this.uint32[2*i+0]=a,this.uint16[u+2]=l,this.uint16[u+3]=s,i}}Se.prototype.bytesPerElement=8,Wi("StructArrayLayout1ul2ui8",Se);class Ni extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i,a){const l=this.length;return this.resize(l+1),this.emplace(l,i,a)}emplace(i,a,l){const s=2*i;return this.uint16[s+0]=a,this.uint16[s+1]=l,i}}Ni.prototype.bytesPerElement=4,Wi("StructArrayLayout2ui4",Ni);class qi extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(i){const a=this.length;return this.resize(a+1),this.emplace(a,i)}emplace(i,a){return this.uint16[1*i+0]=a,i}}qi.prototype.bytesPerElement=2,Wi("StructArrayLayout1ui2",qi);class fe extends b{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(i,a,l,s){const u=this.length;return this.resize(u+1),this.emplace(u,i,a,l,s)}emplace(i,a,l,s,u){const m=4*i;return this.float32[m+0]=a,this.float32[m+1]=l,this.float32[m+2]=s,this.float32[m+3]=u,i}}fe.prototype.bytesPerElement=16,Wi("StructArrayLayout4f16",fe);class _t extends x{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new V(this.anchorPointX,this.anchorPointY)}}_t.prototype.size=20;class Ae extends di{get(i){return new _t(this,i)}}Wi("CollisionBoxArray",Ae);class Re extends x{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(i){this._structArray.uint8[this._pos1+37]=i}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(i){this._structArray.uint8[this._pos1+38]=i}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(i){this._structArray.uint32[this._pos4+10]=i}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Re.prototype.size=48;class xt extends Ui{get(i){return new Re(this,i)}}Wi("PlacedSymbolArray",xt);class da extends x{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(i){this._structArray.uint32[this._pos4+12]=i}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}da.prototype.size=64;class rn extends Li{get(i){return new da(this,i)}}Wi("SymbolInstanceArray",rn);class jt extends Ci{getoffsetX(i){return this.float32[1*i+0]}}Wi("GlyphOffsetArray",jt);class Ra extends P{getx(i){return this.int16[3*i+0]}gety(i){return this.int16[3*i+1]}gettileUnitDistanceFromAnchor(i){return this.int16[3*i+2]}}Wi("SymbolLineVertexArray",Ra);class La extends x{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}La.prototype.size=12;class ya extends Yi{get(i){return new La(this,i)}}Wi("TextAnchorOffsetArray",ya);class ma extends x{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}ma.prototype.size=8;class pn extends Se{get(i){return new ma(this,i)}}Wi("FeatureIndexArray",pn);class sl extends C{}class Uc extends C{}class bl extends C{}class ol extends ${}class Kc extends X{}class oo extends K{}class sa extends Q{}class un extends ni{}class On extends Z{}class vl extends si{}class ha extends yi{}class fa extends vi{}class na extends Oi{}class Tt extends Ni{}const Al=A([{name:"a_pos",components:2,type:"Int16"}],4),{members:ro}=Al;class Qt{constructor(i=[]){this.segments=i}prepareSegment(i,a,l,s){let u=this.segments[this.segments.length-1];return i>Qt.MAX_VERTEX_ARRAY_LENGTH&&Ze(`Max vertices per segment is ${Qt.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${i}`),(!u||u.vertexLength+i>Qt.MAX_VERTEX_ARRAY_LENGTH||u.sortKey!==s)&&(u={vertexOffset:a.length,primitiveOffset:l.length,vertexLength:0,primitiveLength:0},s!==void 0&&(u.sortKey=s),this.segments.push(u)),u}get(){return this.segments}destroy(){for(const i of this.segments)for(const a in i.vaos)i.vaos[a].destroy()}static simpleSegment(i,a,l,s){return new Qt([{vertexOffset:i,primitiveOffset:a,vertexLength:l,primitiveLength:s,vaos:{},sortKey:0}])}}function kr(t,i){return 256*(t=Ji(Math.floor(t),0,255))+Ji(Math.floor(i),0,255)}Qt.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Wi("SegmentVector",Qt);const Jc=A([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var Zc={exports:{}},$n={exports:{}};$n.exports=function(t,i){var a,l,s,u,m,S,_,v;for(l=t.length-(a=3&t.length),s=i,m=3432918353,S=461845907,v=0;v>>16)*m&65535)<<16)&4294967295)<<15|_>>>17))*S+(((_>>>16)*S&65535)<<16)&4294967295)<<13|s>>>19))+((5*(s>>>16)&65535)<<16)&4294967295))+((58964+(u>>>16)&65535)<<16);switch(_=0,a){case 3:_^=(255&t.charCodeAt(v+2))<<16;case 2:_^=(255&t.charCodeAt(v+1))<<8;case 1:s^=_=(65535&(_=(_=(65535&(_^=255&t.charCodeAt(v)))*m+(((_>>>16)*m&65535)<<16)&4294967295)<<15|_>>>17))*S+(((_>>>16)*S&65535)<<16)&4294967295}return s^=t.length,s=2246822507*(65535&(s^=s>>>16))+((2246822507*(s>>>16)&65535)<<16)&4294967295,s=3266489909*(65535&(s^=s>>>13))+((3266489909*(s>>>16)&65535)<<16)&4294967295,(s^=s>>>16)>>>0};var _r=$n.exports,po={exports:{}};po.exports=function(t,i){for(var a,l=t.length,s=i^l,u=0;l>=4;)a=1540483477*(65535&(a=255&t.charCodeAt(u)|(255&t.charCodeAt(++u))<<8|(255&t.charCodeAt(++u))<<16|(255&t.charCodeAt(++u))<<24))+((1540483477*(a>>>16)&65535)<<16),s=1540483477*(65535&s)+((1540483477*(s>>>16)&65535)<<16)^(a=1540483477*(65535&(a^=a>>>24))+((1540483477*(a>>>16)&65535)<<16)),l-=4,++u;switch(l){case 3:s^=(255&t.charCodeAt(u+2))<<16;case 2:s^=(255&t.charCodeAt(u+1))<<8;case 1:s=1540483477*(65535&(s^=255&t.charCodeAt(u)))+((1540483477*(s>>>16)&65535)<<16)}return s=1540483477*(65535&(s^=s>>>13))+((1540483477*(s>>>16)&65535)<<16),(s^=s>>>15)>>>0};var uo=_r,yo=po.exports;Zc.exports=uo,Zc.exports.murmur3=uo,Zc.exports.murmur2=yo;var Wc=G(Zc.exports);class Ll{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(i,a,l,s){this.ids.push(Fp(i)),this.positions.push(a,l,s)}getPositions(i){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const a=Fp(i);let l=0,s=this.ids.length-1;for(;l>1;this.ids[m]>=a?s=m:l=m+1}const u=[];for(;this.ids[l]===a;)u.push({index:this.positions[3*l],start:this.positions[3*l+1],end:this.positions[3*l+2]}),l++;return u}static serialize(i,a){const l=new Float64Array(i.ids),s=new Uint32Array(i.positions);return _0(l,s,0,l.length-1),a&&a.push(l.buffer,s.buffer),{ids:l,positions:s}}static deserialize(i){const a=new Ll;return a.ids=i.ids,a.positions=i.positions,a.indexed=!0,a}}function Fp(t){const i=+t;return!isNaN(i)&&i<=Number.MAX_SAFE_INTEGER?i:Wc(String(t))}function _0(t,i,a,l){for(;a>1];let u=a-1,m=l+1;for(;;){do u++;while(t[u]s);if(u>=m)break;xr(t,u,m),xr(i,3*u,3*m),xr(i,3*u+1,3*m+1),xr(i,3*u+2,3*m+2)}m-a`u_${s}`),this.type=l}setUniform(i,a,l){i.set(l.constantOr(this.value))}getBinding(i,a,l){return this.type==="color"?new Rp(i,a):new jr(i,a)}}class Xc{constructor(i,a){this.uniformNames=a.map(l=>`u_${l}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(i,a){this.pixelRatioFrom=a.pixelRatio,this.pixelRatioTo=i.pixelRatio,this.patternFrom=a.tlbr,this.patternTo=i.tlbr}setUniform(i,a,l,s){const u=s==="u_pattern_to"?this.patternTo:s==="u_pattern_from"?this.patternFrom:s==="u_pixel_ratio_to"?this.pixelRatioTo:s==="u_pixel_ratio_from"?this.pixelRatioFrom:null;u&&i.set(u)}getBinding(i,a,l){return l.substr(0,9)==="u_pattern"?new Tp(i,a):new jr(i,a)}}class rl{constructor(i,a,l,s){this.expression=i,this.type=l,this.maxValue=0,this.paintVertexAttributes=a.map(u=>({name:`a_${u}`,type:"Float32",components:l==="color"?2:1,offset:0})),this.paintVertexArray=new s}populatePaintArray(i,a,l,s,u){const m=this.paintVertexArray.length,S=this.expression.evaluate(new ft(0),a,{},s,[],u);this.paintVertexArray.resize(i),this._setPaintValue(m,i,S)}updatePaintArray(i,a,l,s){const u=this.expression.evaluate({zoom:0},l,s);this._setPaintValue(i,a,u)}_setPaintValue(i,a,l){if(this.type==="color"){const s=x0(l);for(let u=i;u`u_${S}_t`),this.type=l,this.useIntegerZoom=s,this.zoom=u,this.maxValue=0,this.paintVertexAttributes=a.map(S=>({name:`a_${S}`,type:"Float32",components:l==="color"?4:2,offset:0})),this.paintVertexArray=new m}populatePaintArray(i,a,l,s,u){const m=this.expression.evaluate(new ft(this.zoom),a,{},s,[],u),S=this.expression.evaluate(new ft(this.zoom+1),a,{},s,[],u),_=this.paintVertexArray.length;this.paintVertexArray.resize(i),this._setPaintValue(_,i,m,S)}updatePaintArray(i,a,l,s){const u=this.expression.evaluate({zoom:this.zoom},l,s),m=this.expression.evaluate({zoom:this.zoom+1},l,s);this._setPaintValue(i,a,u,m)}_setPaintValue(i,a,l,s){if(this.type==="color"){const u=x0(l),m=x0(s);for(let S=i;S`#define HAS_UNIFORM_${s}`))}return i}getBinderAttributes(){const i=[];for(const a in this.binders){const l=this.binders[a];if(l instanceof rl||l instanceof Tn)for(let s=0;s!0){this.programConfigurations={};for(const s of i)this.programConfigurations[s.id]=new Dp(s,a,l);this.needsUpload=!1,this._featureMap=new Ll,this._bufferOffset=0}populatePaintArrays(i,a,l,s,u,m){for(const S in this.programConfigurations)this.programConfigurations[S].populatePaintArrays(i,a,s,u,m);a.id!==void 0&&this._featureMap.add(a.id,l,this._bufferOffset,i),this._bufferOffset=i,this.needsUpload=!0}updatePaintArrays(i,a,l,s){for(const u of l)this.needsUpload=this.programConfigurations[u.id].updatePaintArrays(i,this._featureMap,a,u,s)||this.needsUpload}get(i){return this.programConfigurations[i]}upload(i){if(this.needsUpload){for(const a in this.programConfigurations)this.programConfigurations[a].upload(i);this.needsUpload=!1}}destroy(){for(const i in this.programConfigurations)this.programConfigurations[i].destroy()}}function Ay(t,i){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${i}-`,"").replace(/-/g,"_")]}function Np(t,i,a){const l={color:{source:K,composite:fe},number:{source:Ci,composite:K}},s=function(u){return{"line-pattern":{source:sa,composite:sa},"fill-pattern":{source:sa,composite:sa},"fill-extrusion-pattern":{source:sa,composite:sa}}[u]}(t);return s&&s[a]||l[i][a]}Wi("ConstantBinder",mo),Wi("CrossFadedConstantBinder",Xc),Wi("SourceExpressionBinder",rl),Wi("CrossFadedCompositeBinder",Bl),Wi("CompositeExpressionBinder",Tn),Wi("ProgramConfiguration",Dp,{omit:["_buffers"]}),Wi("ProgramConfigurationSet",oc);const Zt=8192,j0=Math.pow(2,14)-1,Gp=-j0-1;function rc(t){const i=Zt/t.extent,a=t.loadGeometry();for(let l=0;lm.x+1||_m.y+1)&&Ze("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return a}function pc(t,i){return{type:t.type,id:t.id,properties:t.properties,geometry:i?rc(t):[]}}function br(t,i,a,l,s){t.emplaceBack(2*i+(l+1)/2,2*a+(s+1)/2)}class b0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.layoutVertexArray=new Uc,this.indexArray=new na,this.segments=new Qt,this.programConfigurations=new oc(i.layers,i.zoom),this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){const s=this.layers[0],u=[];let m=null,S=!1;s.type==="circle"&&(m=s.layout.get("circle-sort-key"),S=!m.isConstant());for(const{feature:_,id:v,index:L,sourceLayerIndex:B}of i){const T=this.layers[0]._featureFilter.needGeometry,N=pc(_,T);if(!this.layers[0]._featureFilter.filter(new ft(this.zoom),N,l))continue;const M=S?m.evaluate(N,{},l):void 0,O={id:v,properties:_.properties,type:_.type,sourceLayerIndex:B,index:L,geometry:T?N.geometry:rc(_),patterns:{},sortKey:M};u.push(O)}S&&u.sort((_,v)=>_.sortKey-v.sortKey);for(const _ of u){const{geometry:v,index:L,sourceLayerIndex:B}=_,T=i[L].feature;this.addFeature(_,v,L,l),a.featureIndex.insert(T,v,L,B,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,ro),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(i,a,l,s){for(const u of a)for(const m of u){const S=m.x,_=m.y;if(S<0||S>=Zt||_<0||_>=Zt)continue;const v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,i.sortKey),L=v.vertexLength;br(this.layoutVertexArray,S,_,-1,-1),br(this.layoutVertexArray,S,_,1,-1),br(this.layoutVertexArray,S,_,1,1),br(this.layoutVertexArray,S,_,-1,1),this.indexArray.emplaceBack(L,L+1,L+2),this.indexArray.emplaceBack(L,L+3,L+2),v.vertexLength+=4,v.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,i,l,{},s)}}function Pp(t,i){for(let a=0;a1){if(v0(t,i))return!0;for(let l=0;l1?a:a.sub(i)._mult(s)._add(i))}function Ep(t,i){let a,l,s,u=!1;for(let m=0;mi.y!=s.y>i.y&&i.x<(s.x-l.x)*(i.y-l.y)/(s.y-l.y)+l.x&&(u=!u)}return u}function Yc(t,i){let a=!1;for(let l=0,s=t.length-1;li.y!=m.y>i.y&&i.x<(m.x-u.x)*(i.y-u.y)/(m.y-u.y)+u.x&&(a=!a)}return a}function Fy(t,i,a){const l=a[0],s=a[2];if(t.xs.x&&i.x>s.x||t.ys.y&&i.y>s.y)return!1;const u=We(t,i,a[0]);return u!==We(t,i,a[1])||u!==We(t,i,a[2])||u!==We(t,i,a[3])}function ho(t,i,a){const l=i.paint.get(t).value;return l.kind==="constant"?l.value:a.programConfigurations.get(i.id).getMaxValue(t)}function vr(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ar(t,i,a,l,s){if(!i[0]&&!i[1])return t;const u=V.convert(i)._mult(s);a==="viewport"&&u._rotate(-l);const m=[];for(let S=0;SOp(J,O))}(v,_),N=B?L*S:L;for(const M of s)for(const O of M){const J=B?O:Op(O,_);let ii=N;const ri=Lr([],[O.x,O.y,0,1],_);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ii*=ri[3]/m.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ii*=m.cameraToCenterDistance/ri[3]),Ly(T,J,ii))return!0}return!1}}function Op(t,i){const a=Lr([],[t.x,t.y,0,1],i);return new V(a[0]/a[3],a[1]/a[3])}class $p extends b0{}let Up;Wi("HeatmapBucket",$p,{omit:["layers"]});var Ny={get paint(){return Up=Up||new c({"heatmap-radius":new de(gi.paint_heatmap["heatmap-radius"]),"heatmap-weight":new de(gi.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new ee(gi.paint_heatmap["heatmap-intensity"]),"heatmap-color":new n(gi.paint_heatmap["heatmap-color"]),"heatmap-opacity":new ee(gi.paint_heatmap["heatmap-opacity"])})}};function B0(t,{width:i,height:a},l,s){if(s){if(s instanceof Uint8ClampedArray)s=new Uint8Array(s.buffer);else if(s.length!==i*a*l)throw new RangeError(`mismatched image size. expected: ${s.length} but got: ${i*a*l}`)}else s=new Uint8Array(i*a*l);return t.width=i,t.height=a,t.data=s,t}function Kp(t,{width:i,height:a},l){if(i===t.width&&a===t.height)return;const s=B0({},{width:i,height:a},l);C0(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,a)},l),t.width=i,t.height=a,t.data=s.data}function C0(t,i,a,l,s,u){if(s.width===0||s.height===0)return i;if(s.width>t.width||s.height>t.height||a.x>t.width-s.width||a.y>t.height-s.height)throw new RangeError("out of range source coordinates for image copy");if(s.width>i.width||s.height>i.height||l.x>i.width-s.width||l.y>i.height-s.height)throw new RangeError("out of range destination coordinates for image copy");const m=t.data,S=i.data;if(m===S)throw new Error("srcData equals dstData, so image is already copied");for(let _=0;_{i[t.evaluationKey]=_;const v=t.expression.evaluate(i);s.data[m+S+0]=Math.floor(255*v.r/v.a),s.data[m+S+1]=Math.floor(255*v.g/v.a),s.data[m+S+2]=Math.floor(255*v.b/v.a),s.data[m+S+3]=Math.floor(255*v.a)};if(t.clips)for(let m=0,S=0;m80*a){l=u=t[0],s=m=t[1];for(var M=a;Mu&&(u=S),_>m&&(m=_);v=(v=Math.max(u-l,m-s))!==0?32767/v:0}return So(T,N,a,l,s,v,0),N}function Wp(t,i,a,l,s){var u,m;if(s===D0(t,i,a,l)>0)for(u=i;u=i;u-=l)m=Qp(u,t[u],t[u+1],m);return m&&Cr(m,m.next)&&(wo(m),m=m.next),m}function uc(t,i){if(!t)return t;i||(i=t);var a,l=t;do if(a=!1,l.steiner||!Cr(l,l.next)&&Vt(l.prev,l,l.next)!==0)l=l.next;else{if(wo(l),(l=i=l.prev)===l.next)break;a=!0}while(a||l!==i);return i}function So(t,i,a,l,s,u,m){if(t){!m&&u&&function(L,B,T,N){var M=L;do M.z===0&&(M.z=T0(M.x,M.y,B,T,N)),M.prevZ=M.prev,M.nextZ=M.next,M=M.next;while(M!==L);M.prevZ.nextZ=null,M.prevZ=null,function(O){var J,ii,ri,ai,oi,fi,ji,Mi,se=1;do{for(ii=O,O=null,oi=null,fi=0;ii;){for(fi++,ri=ii,ji=0,J=0;J0||Mi>0&&ri;)ji!==0&&(Mi===0||!ri||ii.z<=ri.z)?(ai=ii,ii=ii.nextZ,ji--):(ai=ri,ri=ri.nextZ,Mi--),oi?oi.nextZ=ai:O=ai,ai.prevZ=oi,oi=ai;ii=ri}oi.nextZ=null,se*=2}while(fi>1)}(M)}(t,l,s,u);for(var S,_,v=t;t.prev!==t.next;)if(S=t.prev,_=t.next,u?Hy(t,l,s,u):qy(t))i.push(S.i/a|0),i.push(t.i/a|0),i.push(_.i/a|0),wo(t),t=_.next,v=_.next;else if((t=_)===v){m?m===1?So(t=Vy(uc(t),i,a),i,a,l,s,u,2):m===2&&Oy(t,i,a,l,s,u):So(uc(t),i,a,l,s,u,1);break}}}function qy(t){var i=t.prev,a=t,l=t.next;if(Vt(i,a,l)>=0)return!1;for(var s=i.x,u=a.x,m=l.x,S=i.y,_=a.y,v=l.y,L=su?s>m?s:m:u>m?u:m,N=S>_?S>v?S:v:_>v?_:v,M=l.next;M!==i;){if(M.x>=L&&M.x<=T&&M.y>=B&&M.y<=N&&is(s,S,u,_,m,v,M.x,M.y)&&Vt(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function Hy(t,i,a,l){var s=t.prev,u=t,m=t.next;if(Vt(s,u,m)>=0)return!1;for(var S=s.x,_=u.x,v=m.x,L=s.y,B=u.y,T=m.y,N=S<_?S_?S>v?S:v:_>v?_:v,J=L>B?L>T?L:T:B>T?B:T,ii=T0(N,M,i,a,l),ri=T0(O,J,i,a,l),ai=t.prevZ,oi=t.nextZ;ai&&ai.z>=ii&&oi&&oi.z<=ri;){if(ai.x>=N&&ai.x<=O&&ai.y>=M&&ai.y<=J&&ai!==s&&ai!==m&&is(S,L,_,B,v,T,ai.x,ai.y)&&Vt(ai.prev,ai,ai.next)>=0||(ai=ai.prevZ,oi.x>=N&&oi.x<=O&&oi.y>=M&&oi.y<=J&&oi!==s&&oi!==m&&is(S,L,_,B,v,T,oi.x,oi.y)&&Vt(oi.prev,oi,oi.next)>=0))return!1;oi=oi.nextZ}for(;ai&&ai.z>=ii;){if(ai.x>=N&&ai.x<=O&&ai.y>=M&&ai.y<=J&&ai!==s&&ai!==m&&is(S,L,_,B,v,T,ai.x,ai.y)&&Vt(ai.prev,ai,ai.next)>=0)return!1;ai=ai.prevZ}for(;oi&&oi.z<=ri;){if(oi.x>=N&&oi.x<=O&&oi.y>=M&&oi.y<=J&&oi!==s&&oi!==m&&is(S,L,_,B,v,T,oi.x,oi.y)&&Vt(oi.prev,oi,oi.next)>=0)return!1;oi=oi.nextZ}return!0}function Vy(t,i,a){var l=t;do{var s=l.prev,u=l.next.next;!Cr(s,u)&&Xp(s,l,l.next,u)&&Io(s,u)&&Io(u,s)&&(i.push(s.i/a|0),i.push(l.i/a|0),i.push(u.i/a|0),wo(l),wo(l.next),l=t=u),l=l.next}while(l!==t);return uc(l)}function Oy(t,i,a,l,s,u){var m=t;do{for(var S=m.next.next;S!==m.prev;){if(m.i!==S.i&&Zy(m,S)){var _=Yp(m,S);return m=uc(m,m.next),_=uc(_,_.next),So(m,i,a,l,s,u,0),void So(_,i,a,l,s,u,0)}S=S.next}m=m.next}while(m!==t)}function $y(t,i){return t.x-i.x}function Uy(t,i){var a=function(s,u){var m,S=u,_=s.x,v=s.y,L=-1/0;do{if(v<=S.y&&v>=S.next.y&&S.next.y!==S.y){var B=S.x+(v-S.y)*(S.next.x-S.x)/(S.next.y-S.y);if(B<=_&&B>L&&(L=B,m=S.x=S.x&&S.x>=M&&_!==S.x&&is(vm.x||S.x===m.x&&Ky(m,S)))&&(m=S,J=T)),S=S.next;while(S!==N);return m}(t,i);if(!a)return i;var l=Yp(a,t);return uc(l,l.next),uc(a,a.next)}function Ky(t,i){return Vt(t.prev,t,i.prev)<0&&Vt(i.next,t,t.next)<0}function T0(t,i,a,l,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-a)*s|0)|t<<8))|t<<4))|t<<2))|t<<1))|(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=(i-l)*s|0)|i<<8))|i<<4))|i<<2))|i<<1))<<1}function Jy(t){var i=t,a=t;do(i.x=(t-m)*(u-S)&&(t-m)*(l-S)>=(a-m)*(i-S)&&(a-m)*(u-S)>=(s-m)*(l-S)}function Zy(t,i){return t.next.i!==i.i&&t.prev.i!==i.i&&!function(a,l){var s=a;do{if(s.i!==a.i&&s.next.i!==a.i&&s.i!==l.i&&s.next.i!==l.i&&Xp(s,s.next,a,l))return!0;s=s.next}while(s!==a);return!1}(t,i)&&(Io(t,i)&&Io(i,t)&&function(a,l){var s=a,u=!1,m=(a.x+l.x)/2,S=(a.y+l.y)/2;do s.y>S!=s.next.y>S&&s.next.y!==s.y&&m<(s.next.x-s.x)*(S-s.y)/(s.next.y-s.y)+s.x&&(u=!u),s=s.next;while(s!==a);return u}(t,i)&&(Vt(t.prev,t,i.prev)||Vt(t,i.prev,i))||Cr(t,i)&&Vt(t.prev,t,t.next)>0&&Vt(i.prev,i,i.next)>0)}function Vt(t,i,a){return(i.y-t.y)*(a.x-i.x)-(i.x-t.x)*(a.y-i.y)}function Cr(t,i){return t.x===i.x&&t.y===i.y}function Xp(t,i,a,l){var s=Tr(Vt(t,i,a)),u=Tr(Vt(t,i,l)),m=Tr(Vt(a,l,t)),S=Tr(Vt(a,l,i));return s!==u&&m!==S||!(s!==0||!Fr(t,a,i))||!(u!==0||!Fr(t,l,i))||!(m!==0||!Fr(a,t,l))||!(S!==0||!Fr(a,i,l))}function Fr(t,i,a){return i.x<=Math.max(t.x,a.x)&&i.x>=Math.min(t.x,a.x)&&i.y<=Math.max(t.y,a.y)&&i.y>=Math.min(t.y,a.y)}function Tr(t){return t>0?1:t<0?-1:0}function Io(t,i){return Vt(t.prev,t,t.next)<0?Vt(t,i,t.next)>=0&&Vt(t,t.prev,i)>=0:Vt(t,i,t.prev)<0||Vt(t,t.next,i)<0}function Yp(t,i){var a=new R0(t.i,t.x,t.y),l=new R0(i.i,i.x,i.y),s=t.next,u=i.prev;return t.next=i,i.prev=t,a.next=s,s.prev=a,l.next=a,a.prev=l,u.next=l,l.prev=u,l}function Qp(t,i,a,l){var s=new R0(t,i,a);return l?(s.next=l.next,s.prev=l,l.next.prev=s,l.next=s):(s.prev=s,s.next=s),s}function wo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function R0(t,i,a){this.i=t,this.x=i,this.y=a,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function D0(t,i,a,l){for(var s=0,u=i,m=a-l;u0&&a.holes.push(l+=t[s-1].length)}return a};var iu=G(F0.exports);function N0(t,i,a){const l=a.patternDependencies;let s=!1;for(const u of i){const m=u.paint.get(`${t}-pattern`);m.isConstant()||(s=!0);const S=m.constantOr(null);S&&(s=!0,l[S.to]=!0,l[S.from]=!0)}return s}function G0(t,i,a,l,s){const u=s.patternDependencies;for(const m of i){const S=m.paint.get(`${t}-pattern`).value;if(S.kind!=="constant"){let _=S.evaluate({zoom:l-1},a,{},s.availableImages),v=S.evaluate({zoom:l},a,{},s.availableImages),L=S.evaluate({zoom:l+1},a,{},s.availableImages);_=_&&_.name?_.name:_,v=v&&v.name?v.name:v,L=L&&L.name?L.name:L,u[_]=!0,u[v]=!0,u[L]=!0,a.patterns[m.id]={min:_,mid:v,max:L}}}return a}class P0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new bl,this.indexArray=new na,this.indexArray2=new Tt,this.programConfigurations=new oc(i.layers,i.zoom),this.segments=new Qt,this.segments2=new Qt,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.hasPattern=N0("fill",this.layers,a);const s=this.layers[0].layout.get("fill-sort-key"),u=!s.isConstant(),m=[];for(const{feature:S,id:_,index:v,sourceLayerIndex:L}of i){const B=this.layers[0]._featureFilter.needGeometry,T=pc(S,B);if(!this.layers[0]._featureFilter.filter(new ft(this.zoom),T,l))continue;const N=u?s.evaluate(T,{},l,a.availableImages):void 0,M={id:_,properties:S.properties,type:S.type,sourceLayerIndex:L,index:v,geometry:B?T.geometry:rc(S),patterns:{},sortKey:N};m.push(M)}u&&m.sort((S,_)=>S.sortKey-_.sortKey);for(const S of m){const{geometry:_,index:v,sourceLayerIndex:L}=S;if(this.hasPattern){const B=G0("fill",this.layers,S,this.zoom,a);this.patternFeatures.push(B)}else this.addFeature(S,_,v,l,{});a.featureIndex.insert(i[v].feature,_,v,L,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}addFeatures(i,a,l){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,a,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,Ey),this.indexBuffer=i.createIndexBuffer(this.indexArray),this.indexBuffer2=i.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(i,a,l,s,u){for(const m of Ac(a,500)){let S=0;for(const N of m)S+=N.length;const _=this.segments.prepareSegment(S,this.layoutVertexArray,this.indexArray),v=_.vertexLength,L=[],B=[];for(const N of m){if(N.length===0)continue;N!==m[0]&&B.push(L.length/2);const M=this.segments2.prepareSegment(N.length,this.layoutVertexArray,this.indexArray2),O=M.vertexLength;this.layoutVertexArray.emplaceBack(N[0].x,N[0].y),this.indexArray2.emplaceBack(O+N.length-1,O),L.push(N[0].x),L.push(N[0].y);for(let J=1;J>3}if(s--,l===1||l===2)u+=t.readSVarint(),m+=t.readSVarint(),l===1&&(i&&S.push(i),i=[]),i.push(new em(u,m));else{if(l!==7)throw new Error("unknown command "+l);i&&i.push(i[0].clone())}}return i&&S.push(i),S},es.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var i=t.readVarint()+t.pos,a=1,l=0,s=0,u=0,m=1/0,S=-1/0,_=1/0,v=-1/0;t.pos>3}if(l--,a===1||a===2)(s+=t.readSVarint())S&&(S=s),(u+=t.readSVarint())<_&&(_=u),u>v&&(v=u);else if(a!==7)throw new Error("unknown command "+a)}return[m,_,S,v]},es.prototype.toGeoJSON=function(t,i,a){var l,s,u=this.extent*Math.pow(2,a),m=this.extent*t,S=this.extent*i,_=this.loadGeometry(),v=es.types[this.type];function L(N){for(var M=0;M>3;s=m===1?l.readString():m===2?l.readFloat():m===3?l.readDouble():m===4?l.readVarint64():m===5?l.readVarint():m===6?l.readSVarint():m===7?l.readBoolean():null}return s}(a))}lu.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var i=this._pbf.readVarint()+this._pbf.pos;return new nm(this._pbf,i,this.extent,this._keys,this._values)};var cm=nu;function sm(t,i,a){if(t===3){var l=new cm(a,a.readVarint()+a.pos);l.length&&(i[l.name]=l)}}Cl.VectorTile=function(t,i){this.layers=t.readFields(sm,{},i)},Cl.VectorTileFeature=au,Cl.VectorTileLayer=nu;const om=Cl.VectorTileFeature.types,M0=Math.pow(2,13);function ko(t,i,a,l,s,u,m,S){t.emplaceBack(i,a,2*Math.floor(l*M0)+m,s*M0*2,u*M0*2,Math.round(S))}class z0{constructor(i){this.zoom=i.zoom,this.overscaling=i.overscaling,this.layers=i.layers,this.layerIds=this.layers.map(a=>a.id),this.index=i.index,this.hasPattern=!1,this.layoutVertexArray=new ol,this.centroidVertexArray=new sl,this.indexArray=new na,this.programConfigurations=new oc(i.layers,i.zoom),this.segments=new Qt,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.features=[],this.hasPattern=N0("fill-extrusion",this.layers,a);for(const{feature:s,id:u,index:m,sourceLayerIndex:S}of i){const _=this.layers[0]._featureFilter.needGeometry,v=pc(s,_);if(!this.layers[0]._featureFilter.filter(new ft(this.zoom),v,l))continue;const L={id:u,sourceLayerIndex:S,index:m,geometry:_?v.geometry:rc(s),properties:s.properties,type:s.type,patterns:{}};this.hasPattern?this.features.push(G0("fill-extrusion",this.layers,L,this.zoom,a)):this.addFeature(L,L.geometry,m,l,{}),a.featureIndex.insert(s,L.geometry,m,S,this.index,!0)}}addFeatures(i,a,l){for(const s of this.features){const{geometry:u}=s;this.addFeature(s,u,s.index,a,l)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,im),this.centroidVertexBuffer=i.createVertexBuffer(this.centroidVertexArray,Qy.members,!0),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(i,a,l,s,u){for(const m of Ac(a,500)){const S={x:0,y:0,vertexCount:0};let _=0;for(const M of m)_+=M.length;let v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const M of m){if(M.length===0||pm(M))continue;let O=0;for(let J=0;J=1){const ri=M[J-1];if(!rm(ii,ri)){v.vertexLength+4>Qt.MAX_VERTEX_ARRAY_LENGTH&&(v=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const ai=ii.sub(ri)._perp()._unit(),oi=ri.dist(ii);O+oi>32768&&(O=0),ko(this.layoutVertexArray,ii.x,ii.y,ai.x,ai.y,0,0,O),ko(this.layoutVertexArray,ii.x,ii.y,ai.x,ai.y,0,1,O),S.x+=2*ii.x,S.y+=2*ii.y,S.vertexCount+=2,O+=oi,ko(this.layoutVertexArray,ri.x,ri.y,ai.x,ai.y,0,0,O),ko(this.layoutVertexArray,ri.x,ri.y,ai.x,ai.y,0,1,O),S.x+=2*ri.x,S.y+=2*ri.y,S.vertexCount+=2;const fi=v.vertexLength;this.indexArray.emplaceBack(fi,fi+2,fi+1),this.indexArray.emplaceBack(fi+1,fi+2,fi+3),v.vertexLength+=4,v.primitiveLength+=2}}}}if(v.vertexLength+_>Qt.MAX_VERTEX_ARRAY_LENGTH&&(v=this.segments.prepareSegment(_,this.layoutVertexArray,this.indexArray)),om[i.type]!=="Polygon")continue;const L=[],B=[],T=v.vertexLength;for(const M of m)if(M.length!==0){M!==m[0]&&B.push(L.length/2);for(let O=0;OZt)||t.y===i.y&&(t.y<0||t.y>Zt)}function pm(t){return t.every(i=>i.x<0)||t.every(i=>i.x>Zt)||t.every(i=>i.y<0)||t.every(i=>i.y>Zt)}let cu;Wi("FillExtrusionBucket",z0,{omit:["layers","features"]});var um={get paint(){return cu=cu||new c({"fill-extrusion-opacity":new ee(gi["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new de(gi["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ee(gi["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ee(gi["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new d(gi["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new de(gi["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new de(gi["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ee(gi["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class dm extends y{constructor(i){super(i,um)}createBucket(i){return new z0(i)}queryRadius(){return vr(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(i,a,l,s,u,m,S,_){const v=Ar(i,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),m.angle,S),L=this.paint.get("fill-extrusion-height").evaluate(a,l),B=this.paint.get("fill-extrusion-base").evaluate(a,l),T=function(M,O,J,ii){const ri=[];for(const ai of M){const oi=[ai.x,ai.y,0,1];Lr(oi,oi,O),ri.push(new V(oi[0]/oi[3],oi[1]/oi[3]))}return ri}(v,_),N=function(M,O,J,ii){const ri=[],ai=[],oi=ii[8]*O,fi=ii[9]*O,ji=ii[10]*O,Mi=ii[11]*O,se=ii[8]*J,Hi=ii[9]*J,Pi=ii[10]*J,ie=ii[11]*J;for(const Xi of M){const Zi=[],Ii=[];for(const te of Xi){const Qi=te.x,ge=te.y,dt=ii[0]*Qi+ii[4]*ge+ii[12],ct=ii[1]*Qi+ii[5]*ge+ii[13],la=ii[2]*Qi+ii[6]*ge+ii[14],xn=ii[3]*Qi+ii[7]*ge+ii[15],Sa=la+ji,Et=xn+Mi,Na=dt+se,Ga=ct+Hi,Pa=la+Pi,qt=xn+ie,ca=new V((dt+oi)/Et,(ct+fi)/Et);ca.z=Sa/Et,Zi.push(ca);const Ba=new V(Na/qt,Ga/qt);Ba.z=Pa/qt,Ii.push(Ba)}ri.push(Zi),ai.push(Ii)}return[ri,ai]}(s,B,L,_);return function(M,O,J){let ii=1/0;Mp(J,O)&&(ii=su(J,O[0]));for(let ri=0;ria.id),this.index=i.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(a=>{this.gradients[a.id]={}}),this.layoutVertexArray=new Kc,this.layoutVertexArray2=new oo,this.indexArray=new na,this.programConfigurations=new oc(i.layers,i.zoom),this.segments=new Qt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(a=>a.isStateDependent()).map(a=>a.id)}populate(i,a,l){this.hasPattern=N0("line",this.layers,a);const s=this.layers[0].layout.get("line-sort-key"),u=!s.isConstant(),m=[];for(const{feature:S,id:_,index:v,sourceLayerIndex:L}of i){const B=this.layers[0]._featureFilter.needGeometry,T=pc(S,B);if(!this.layers[0]._featureFilter.filter(new ft(this.zoom),T,l))continue;const N=u?s.evaluate(T,{},l):void 0,M={id:_,properties:S.properties,type:S.type,sourceLayerIndex:L,index:v,geometry:B?T.geometry:rc(S),patterns:{},sortKey:N};m.push(M)}u&&m.sort((S,_)=>S.sortKey-_.sortKey);for(const S of m){const{geometry:_,index:v,sourceLayerIndex:L}=S;if(this.hasPattern){const B=G0("line",this.layers,S,this.zoom,a);this.patternFeatures.push(B)}else this.addFeature(S,_,v,l,{});a.featureIndex.insert(i[v].feature,_,v,L,this.index)}}update(i,a,l){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(i,a,this.stateDependentLayers,l)}addFeatures(i,a,l){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,a,l)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(i){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=i.createVertexBuffer(this.layoutVertexArray2,fm)),this.layoutVertexBuffer=i.createVertexBuffer(this.layoutVertexArray,mm),this.indexBuffer=i.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(i),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(i){if(i.properties&&Object.prototype.hasOwnProperty.call(i.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(i.properties,"mapbox_clip_end"))return{start:+i.properties.mapbox_clip_start,end:+i.properties.mapbox_clip_end}}addFeature(i,a,l,s,u){const m=this.layers[0].layout,S=m.get("line-join").evaluate(i,{}),_=m.get("line-cap"),v=m.get("line-miter-limit"),L=m.get("line-round-limit");this.lineClips=this.lineFeatureClips(i);for(const B of a)this.addLine(B,i,S,_,v,L);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,i,l,u,s)}addLine(i,a,l,s,u,m){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ii=0;ii=2&&i[_-1].equals(i[_-2]);)_--;let v=0;for(;v<_-1&&i[v].equals(i[v+1]);)v++;if(_<(S?3:2))return;l==="bevel"&&(u=1.05);const L=this.overscaling<=16?15*Zt/(512*this.overscaling):0,B=this.segments.prepareSegment(10*_,this.layoutVertexArray,this.indexArray);let T,N,M,O,J;this.e1=this.e2=-1,S&&(T=i[_-2],J=i[v].sub(T)._unit()._perp());for(let ii=v;ii<_;ii++){if(M=ii===_-1?S?i[v+1]:void 0:i[ii+1],M&&i[ii].equals(M))continue;J&&(O=J),T&&(N=T),T=i[ii],J=M?M.sub(T)._unit()._perp():O,O=O||J;let ri=O.add(J);ri.x===0&&ri.y===0||ri._unit();const ai=O.x*J.x+O.y*J.y,oi=ri.x*J.x+ri.y*J.y,fi=oi!==0?1/oi:1/0,ji=2*Math.sqrt(2-2*oi),Mi=oi0;if(Mi&&ii>v){const ie=T.dist(N);if(ie>2*L){const Xi=T.sub(T.sub(N)._mult(L/ie)._round());this.updateDistance(N,Xi),this.addCurrentVertex(Xi,O,0,0,B),N=Xi}}const Hi=N&&M;let Pi=Hi?l:S?"butt":s;if(Hi&&Pi==="round"&&(fiu&&(Pi="bevel"),Pi==="bevel"&&(fi>2&&(Pi="flipbevel"),fi100)ri=J.mult(-1);else{const ie=fi*O.add(J).mag()/O.sub(J).mag();ri._perp()._mult(ie*(se?-1:1))}this.addCurrentVertex(T,ri,0,0,B),this.addCurrentVertex(T,ri.mult(-1),0,0,B)}else if(Pi==="bevel"||Pi==="fakeround"){const ie=-Math.sqrt(fi*fi-1),Xi=se?ie:0,Zi=se?0:ie;if(N&&this.addCurrentVertex(T,O,Xi,Zi,B),Pi==="fakeround"){const Ii=Math.round(180*ji/Math.PI/20);for(let te=1;te2*L){const Xi=T.add(M.sub(T)._mult(L/ie)._round());this.updateDistance(T,Xi),this.addCurrentVertex(Xi,J,0,0,B),T=Xi}}}}addCurrentVertex(i,a,l,s,u,m=!1){const S=a.y*s-a.x,_=-a.y-a.x*s;this.addHalfVertex(i,a.x+a.y*l,a.y-a.x*l,m,!1,l,u),this.addHalfVertex(i,S,_,m,!0,-s,u),this.distance>ou/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(i,a,l,s,u,m))}addHalfVertex({x:i,y:a},l,s,u,m,S,_){const v=.5*(this.lineClips?this.scaledDistance*(ou-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((i<<1)+(u?1:0),(a<<1)+(m?1:0),Math.round(63*l)+128,Math.round(63*s)+128,1+(S===0?0:S<0?-1:1)|(63&v)<<2,v>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const L=_.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,L),_.primitiveLength++),m?this.e2=L:this.e1=L}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(i,a){this.distance+=i.dist(a),this.updateScaledDistance()}}let ru,pu;Wi("LineBucket",E0,{omit:["layers","patternFeatures"]});var uu={get paint(){return pu=pu||new c({"line-opacity":new de(gi.paint_line["line-opacity"]),"line-color":new de(gi.paint_line["line-color"]),"line-translate":new ee(gi.paint_line["line-translate"]),"line-translate-anchor":new ee(gi.paint_line["line-translate-anchor"]),"line-width":new de(gi.paint_line["line-width"]),"line-gap-width":new de(gi.paint_line["line-gap-width"]),"line-offset":new de(gi.paint_line["line-offset"]),"line-blur":new de(gi.paint_line["line-blur"]),"line-dasharray":new e(gi.paint_line["line-dasharray"]),"line-pattern":new d(gi.paint_line["line-pattern"]),"line-gradient":new n(gi.paint_line["line-gradient"])})},get layout(){return ru=ru||new c({"line-cap":new ee(gi.layout_line["line-cap"]),"line-join":new de(gi.layout_line["line-join"]),"line-miter-limit":new ee(gi.layout_line["line-miter-limit"]),"line-round-limit":new ee(gi.layout_line["line-round-limit"]),"line-sort-key":new de(gi.layout_line["line-sort-key"])})}};class Im extends de{possiblyEvaluate(i,a){return a=new ft(Math.floor(a.zoom),{now:a.now,fadeDuration:a.fadeDuration,zoomHistory:a.zoomHistory,transition:a.transition}),super.possiblyEvaluate(i,a)}evaluate(i,a,l,s){return a=pe({},a,{zoom:Math.floor(a.zoom)}),super.evaluate(i,a,l,s)}}let Rr;class wm extends y{constructor(i){super(i,uu),this.gradientVersion=0,Rr||(Rr=new Im(uu.paint.properties["line-width"].specification),Rr.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(i){if(i==="line-gradient"){const a=this.gradientExpression();this.stepInterpolant=!!function(l){return l._styleExpression!==void 0}(a)&&a._styleExpression.expression instanceof ml,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(i,a){super.recalculate(i,a),this.paint._values["line-floorwidth"]=Rr.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,i)}createBucket(i){return new E0(i)}queryRadius(i){const a=i,l=du(ho("line-width",this,a),ho("line-gap-width",this,a)),s=ho("line-offset",this,a);return l/2+Math.abs(s)+vr(this.paint.get("line-translate"))}queryIntersectsFeature(i,a,l,s,u,m,S){const _=Ar(i,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),m.angle,S),v=S/2*du(this.paint.get("line-width").evaluate(a,l),this.paint.get("line-gap-width").evaluate(a,l)),L=this.paint.get("line-offset").evaluate(a,l);return L&&(s=function(B,T){const N=[];for(let M=0;M=3){for(let J=0;J0?i+2*t:t}const km=A([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),_m=A([{name:"a_projected_pos",components:3,type:"Float32"}],4);A([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const xm=A([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);A([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const yu=A([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),jm=A([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function bm(t,i,a){return t.sections.forEach(l=>{l.text=function(s,u,m){const S=u.layout.get("text-transform").evaluate(m,{});return S==="uppercase"?s=s.toLocaleUpperCase():S==="lowercase"&&(s=s.toLocaleLowerCase()),Vn.applyArabicShaping&&(s=Vn.applyArabicShaping(s)),s}(l.text,i,a)}),t}A([{name:"triangle",components:3,type:"Uint16"}]),A([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),A([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),A([{type:"Float32",name:"offsetX"}]),A([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),A([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const xo={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var ia=24,mu=lt,hu=function(t,i,a,l,s){var u,m,S=8*s-l-1,_=(1<>1,L=-7,B=s-1,T=-1,N=t[i+B];for(B+=T,u=N&(1<<-L)-1,N>>=-L,L+=S;L>0;u=256*u+t[i+B],B+=T,L-=8);for(m=u&(1<<-L)-1,u>>=-L,L+=l;L>0;m=256*m+t[i+B],B+=T,L-=8);if(u===0)u=1-v;else{if(u===_)return m?NaN:1/0*(N?-1:1);m+=Math.pow(2,l),u-=v}return(N?-1:1)*m*Math.pow(2,u-l)},fu=function(t,i,a,l,s,u){var m,S,_,v=8*u-s-1,L=(1<>1,T=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,N=0,M=1,O=i<0||i===0&&1/i<0?1:0;for(i=Math.abs(i),isNaN(i)||i===1/0?(S=isNaN(i)?1:0,m=L):(m=Math.floor(Math.log(i)/Math.LN2),i*(_=Math.pow(2,-m))<1&&(m--,_*=2),(i+=m+B>=1?T/_:T*Math.pow(2,1-B))*_>=2&&(m++,_/=2),m+B>=L?(S=0,m=L):m+B>=1?(S=(i*_-1)*Math.pow(2,s),m+=B):(S=i*Math.pow(2,B-1)*Math.pow(2,s),m=0));s>=8;t[a+N]=255&S,N+=M,S/=256,s-=8);for(m=m<0;t[a+N]=255&m,N+=M,m/=256,v-=8);t[a+N-M]|=128*O};function lt(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}lt.Varint=0,lt.Fixed64=1,lt.Bytes=2,lt.Fixed32=5;var q0=4294967296,gu=1/q0,Su=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function pl(t){return t.type===lt.Bytes?t.readVarint()+t.pos:t.pos+1}function ts(t,i,a){return a?4294967296*i+(t>>>0):4294967296*(i>>>0)+(t>>>0)}function Iu(t,i,a){var l=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.floor(Math.log(i)/(7*Math.LN2));a.realloc(l);for(var s=a.pos-1;s>=t;s--)a.buf[s+l]=a.buf[s]}function vm(t,i){for(var a=0;a>>8,t[a+2]=i>>>16,t[a+3]=i>>>24}function wu(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+(t[i+3]<<24)}lt.prototype={destroy:function(){this.buf=null},readFields:function(t,i,a){for(a=a||this.length;this.pos>3,u=this.pos;this.type=7&l,t(s,i,this),this.pos===u&&this.skip(l)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=Dr(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=wu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Dr(this.buf,this.pos)+Dr(this.buf,this.pos+4)*q0;return this.pos+=8,t},readSFixed64:function(){var t=Dr(this.buf,this.pos)+wu(this.buf,this.pos+4)*q0;return this.pos+=8,t},readFloat:function(){var t=hu(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hu(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var i,a,l=this.buf;return i=127&(a=l[this.pos++]),a<128?i:(i|=(127&(a=l[this.pos++]))<<7,a<128?i:(i|=(127&(a=l[this.pos++]))<<14,a<128?i:(i|=(127&(a=l[this.pos++]))<<21,a<128?i:function(s,u,m){var S,_,v=m.buf;if(S=(112&(_=v[m.pos++]))>>4,_<128||(S|=(127&(_=v[m.pos++]))<<3,_<128)||(S|=(127&(_=v[m.pos++]))<<10,_<128)||(S|=(127&(_=v[m.pos++]))<<17,_<128)||(S|=(127&(_=v[m.pos++]))<<24,_<128)||(S|=(1&(_=v[m.pos++]))<<31,_<128))return ts(s,S,u);throw new Error("Expected varint not more than 10 bytes")}(i|=(15&(a=l[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var t=this.readVarint()+this.pos,i=this.pos;return this.pos=t,t-i>=12&&Su?function(a,l,s){return Su.decode(a.subarray(l,s))}(this.buf,i,t):function(a,l,s){for(var u="",m=l;m239?4:L>223?3:L>191?2:1;if(m+T>s)break;T===1?L<128&&(B=L):T===2?(192&(S=a[m+1]))==128&&(B=(31&L)<<6|63&S)<=127&&(B=null):T===3?(_=a[m+2],(192&(S=a[m+1]))==128&&(192&_)==128&&((B=(15&L)<<12|(63&S)<<6|63&_)<=2047||B>=55296&&B<=57343)&&(B=null)):T===4&&(_=a[m+2],v=a[m+3],(192&(S=a[m+1]))==128&&(192&_)==128&&(192&v)==128&&((B=(15&L)<<18|(63&S)<<12|(63&_)<<6|63&v)<=65535||B>=1114112)&&(B=null)),B===null?(B=65533,T=1):B>65535&&(B-=65536,u+=String.fromCharCode(B>>>10&1023|55296),B=56320|1023&B),u+=String.fromCharCode(B),m+=T}return u}(this.buf,i,t)},readBytes:function(){var t=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,t);return this.pos=t,i},readPackedVarint:function(t,i){if(this.type!==lt.Bytes)return t.push(this.readVarint(i));var a=pl(this);for(t=t||[];this.pos127;);else if(i===lt.Bytes)this.pos=this.readVarint()+this.pos;else if(i===lt.Fixed32)this.pos+=4;else{if(i!==lt.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455||t<0?function(i,a){var l,s;if(i>=0?(l=i%4294967296|0,s=i/4294967296|0):(s=~(-i/4294967296),4294967295^(l=~(-i%4294967296))?l=l+1|0:(l=0,s=s+1|0)),i>=18446744073709552e3||i<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");a.realloc(10),function(u,m,S){S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,u>>>=7,S.buf[S.pos++]=127&u|128,S.buf[S.pos]=127&(u>>>=7)}(l,0,a),function(u,m){var S=(7&u)<<4;m.buf[m.pos++]|=S|((u>>>=3)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u|((u>>>=7)?128:0),u&&(m.buf[m.pos++]=127&u)))))}(s,a)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(!!t)},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var i=this.pos;this.pos=function(l,s,u){for(var m,S,_=0;_55295&&m<57344){if(!S){m>56319||_+1===s.length?(l[u++]=239,l[u++]=191,l[u++]=189):S=m;continue}if(m<56320){l[u++]=239,l[u++]=191,l[u++]=189,S=m;continue}m=S-55296<<10|m-56320|65536,S=null}else S&&(l[u++]=239,l[u++]=191,l[u++]=189,S=null);m<128?l[u++]=m:(m<2048?l[u++]=m>>6|192:(m<65536?l[u++]=m>>12|224:(l[u++]=m>>18|240,l[u++]=m>>12&63|128),l[u++]=m>>6&63|128),l[u++]=63&m|128)}return u}(this.buf,t,this.pos);var a=this.pos-i;a>=128&&Iu(i,a,this),this.pos=i-1,this.writeVarint(a),this.pos+=a},writeFloat:function(t){this.realloc(4),fu(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),fu(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var a=0;a=128&&Iu(a,l,this),this.pos=a-1,this.writeVarint(l),this.pos+=l},writeMessage:function(t,i,a){this.writeTag(t,lt.Bytes),this.writeRawMessage(i,a)},writePackedVarint:function(t,i){i.length&&this.writeMessage(t,vm,i)},writePackedSVarint:function(t,i){i.length&&this.writeMessage(t,Am,i)},writePackedBoolean:function(t,i){i.length&&this.writeMessage(t,Cm,i)},writePackedFloat:function(t,i){i.length&&this.writeMessage(t,Lm,i)},writePackedDouble:function(t,i){i.length&&this.writeMessage(t,Bm,i)},writePackedFixed32:function(t,i){i.length&&this.writeMessage(t,Fm,i)},writePackedSFixed32:function(t,i){i.length&&this.writeMessage(t,Tm,i)},writePackedFixed64:function(t,i){i.length&&this.writeMessage(t,Rm,i)},writePackedSFixed64:function(t,i){i.length&&this.writeMessage(t,Dm,i)},writeBytesField:function(t,i){this.writeTag(t,lt.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,lt.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,lt.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,lt.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,lt.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,lt.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,lt.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,lt.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,lt.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,lt.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,!!i)}};var H0=G(mu);const V0=3;function Nm(t,i,a){t===1&&a.readMessage(Gm,i)}function Gm(t,i,a){if(t===3){const{id:l,bitmap:s,width:u,height:m,left:S,top:_,advance:v}=a.readMessage(Pm,{});i.push({id:l,bitmap:new go({width:u+2*V0,height:m+2*V0},s),metrics:{width:u,height:m,left:S,top:_,advance:v}})}}function Pm(t,i,a){t===1?i.id=a.readVarint():t===2?i.bitmap=a.readBytes():t===3?i.width=a.readVarint():t===4?i.height=a.readVarint():t===5?i.left=a.readSVarint():t===6?i.top=a.readSVarint():t===7&&(i.advance=a.readVarint())}const ku=V0;function _u(t){let i=0,a=0;for(const m of t)i+=m.w*m.h,a=Math.max(a,m.w);t.sort((m,S)=>S.h-m.h);const l=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(i/.95)),a),h:1/0}];let s=0,u=0;for(const m of t)for(let S=l.length-1;S>=0;S--){const _=l[S];if(!(m.w>_.w||m.h>_.h)){if(m.x=_.x,m.y=_.y,u=Math.max(u,m.y+m.h),s=Math.max(s,m.x+m.w),m.w===_.w&&m.h===_.h){const v=l.pop();S=0&&l>=i&&Gr[this.text.charCodeAt(l)];l--)a--;this.text=this.text.substring(i,a),this.sectionIndex=this.sectionIndex.slice(i,a)}substring(i,a){const l=new ns;return l.text=this.text.substring(i,a),l.sectionIndex=this.sectionIndex.slice(i,a),l.sections=this.sections,l}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((i,a)=>Math.max(i,this.sections[a].scale),0)}addTextSection(i,a){this.text+=i.text,this.sections.push(bo.forText(i.scale,i.fontStack||a));const l=this.sections.length-1;for(let s=0;s=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nr(t,i,a,l,s,u,m,S,_,v,L,B,T,N,M){const O=ns.fromFeature(t,s);let J;B===w.ai.vertical&&O.verticalizePunctuation();const{processBidirectionalText:ii,processStyledBidirectionalText:ri}=Vn;if(ii&&O.sections.length===1){J=[];const fi=ii(O.toString(),$0(O,v,u,i,l,N));for(const ji of fi){const Mi=new ns;Mi.text=ji,Mi.sections=O.sections;for(let se=0;se0&&ul>wa&&(wa=ul)}else{const hn=Mi[Je.fontStack],oa=hn&&hn[bt];if(oa&&oa.rect)os=oa.rect,Gt=oa.metrics;else{const ul=ji[Je.fontStack],Co=ul&&ul[bt];if(!Co)continue;Gt=Co.metrics}tn=(ca-Je.scale)*ia}jn?(fi.verticalizable=!0,Ma.push({glyph:bt,imageName:Kn,x:ge,y:dt+tn,vertical:jn,scale:Je.scale,fontStack:Je.fontStack,sectionIndex:gt,metrics:Gt,rect:os}),ge+=Jn*Je.scale+Ii):(Ma.push({glyph:bt,imageName:Kn,x:ge,y:dt+tn,vertical:jn,scale:Je.scale,fontStack:Je.fontStack,sectionIndex:gt,metrics:Gt,rect:os}),ge+=Gt.advance*Je.scale+Ii)}Ma.length!==0&&(ct=Math.max(ge-Ii,ct),qm(Ma,0,Ma.length-1,xn,wa)),ge=0;const mn=Pi*ca+wa;Ia.lineOffset=Math.max(wa,Ba),dt+=mn,la=Math.max(mn,la),++Sa}var Et;const Na=dt-jo,{horizontalAlign:Ga,verticalAlign:Pa}=U0(ie);(function(qt,ca,Ba,Ia,Ma,wa,mn,Ja,Je){const gt=(ca-Ba)*Ma;let bt=0;bt=wa!==mn?-Ja*Ia-jo:(-Ia*Je+.5)*mn;for(const tn of qt)for(const Gt of tn.positionedGlyphs)Gt.x+=gt,Gt.y+=bt})(fi.positionedLines,xn,Ga,Pa,ct,la,Pi,Na,Hi.length),fi.top+=-Pa*Na,fi.bottom=fi.top+Na,fi.left+=-Ga*ct,fi.right=fi.left+ct}(oi,i,a,l,J,m,S,_,B,v,T,M),!function(fi){for(const ji of fi)if(ji.positionedGlyphs.length!==0)return!1;return!0}(ai)&&oi}const Gr={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Mm={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},zm={40:!0};function ju(t,i,a,l,s,u){if(i.imageName){const m=l[i.imageName];return m?m.displaySize[0]*i.scale*ia/u+s:0}{const m=a[i.fontStack],S=m&&m[t];return S?S.metrics.advance*i.scale+s:0}}function bu(t,i,a,l){const s=Math.pow(t-i,2);return l?t=0;let v=0;for(let B=0;Bv){const L=Math.ceil(u/v);s*=L/m,m=L}return{x1:l,y1:s,x2:l+u,y2:s+m}}function Bu(t,i,a,l,s,u){const m=t.image;let S;if(m.content){const J=m.content,ii=m.pixelRatio||1;S=[J[0]/ii,J[1]/ii,m.displaySize[0]-J[2]/ii,m.displaySize[1]-J[3]/ii]}const _=i.left*u,v=i.right*u;let L,B,T,N;a==="width"||a==="both"?(N=s[0]+_-l[3],B=s[0]+v+l[1]):(N=s[0]+(_+v-m.displaySize[0])/2,B=N+m.displaySize[0]);const M=i.top*u,O=i.bottom*u;return a==="height"||a==="both"?(L=s[1]+M-l[0],T=s[1]+O+l[2]):(L=s[1]+(M+O-m.displaySize[1])/2,T=L+m.displaySize[1]),{image:m,top:L,right:B,bottom:T,left:N,collisionPadding:S}}const vo=255,Un=128,Tl=vo*Un;function Cu(t,i){const{expression:a}=i;if(a.kind==="constant")return{kind:"constant",layoutSize:a.evaluate(new ft(t+1))};if(a.kind==="source")return{kind:"source"};{const{zoomStops:l,interpolationType:s}=a;let u=0;for(;um.id),this.index=i.index,this.pixelRatio=i.pixelRatio,this.sourceLayerIndex=i.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=L0([]),this.placementViewportMatrix=L0([]);const a=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Cu(this.zoom,a["text-size"]),this.iconSizeData=Cu(this.zoom,a["icon-size"]);const l=this.layers[0].layout,s=l.get("symbol-sort-key"),u=l.get("symbol-z-order");this.canOverlap=K0(l,"text-overlap","text-allow-overlap")!=="never"||K0(l,"icon-overlap","icon-allow-overlap")!=="never"||l.get("text-ignore-placement")||l.get("icon-ignore-placement"),this.sortFeaturesByKey=u!=="viewport-y"&&!s.isConstant(),this.sortFeaturesByY=(u==="viewport-y"||u==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,l.get("symbol-placement")==="point"&&(this.writingModes=l.get("text-writing-mode").map(m=>w.ai[m])),this.stateDependentLayerIds=this.layers.filter(m=>m.isStateDependent()).map(m=>m.id),this.sourceID=i.sourceID}createArrays(){this.text=new Z0(new oc(this.layers,this.zoom,i=>/^text/.test(i))),this.icon=new Z0(new oc(this.layers,this.zoom,i=>/^icon/.test(i))),this.glyphOffsetArray=new jt,this.lineVertexArray=new Ra,this.symbolInstances=new rn,this.textAnchorOffsets=new ya}calculateGlyphDependencies(i,a,l,s,u){for(let m=0;m0)&&(m.value.kind!=="constant"||m.value.value.length>0),L=_.value.kind!=="constant"||!!_.value.value||Object.keys(_.parameters).length>0,B=u.get("symbol-sort-key");if(this.features=[],!v&&!L)return;const T=a.iconDependencies,N=a.glyphDependencies,M=a.availableImages,O=new ft(this.zoom);for(const{feature:J,id:ii,index:ri,sourceLayerIndex:ai}of i){const oi=s._featureFilter.needGeometry,fi=pc(J,oi);if(!s._featureFilter.filter(O,fi,l))continue;let ji,Mi;if(oi||(fi.geometry=rc(J)),v){const Hi=s.getValueAndResolveTokens("text-field",fi,l,M),Pi=qa.factory(Hi),ie=this.hasRTLText=this.hasRTLText||$m(Pi);(!ie||Vn.getRTLTextPluginStatus()==="unavailable"||ie&&Vn.isParsed())&&(ji=bm(Pi,s,fi))}if(L){const Hi=s.getValueAndResolveTokens("icon-image",fi,l,M);Mi=Hi instanceof ua?Hi:ua.fromString(Hi)}if(!ji&&!Mi)continue;const se=this.sortFeaturesByKey?B.evaluate(fi,{},l):void 0;if(this.features.push({id:ii,text:ji,icon:Mi,index:ri,sourceLayerIndex:ai,geometry:fi.geometry,properties:J.properties,type:Vm[J.type],sortKey:se}),Mi&&(T[Mi.name]=!0),ji){const Hi=m.evaluate(fi,{},l).join(","),Pi=u.get("text-rotation-alignment")!=="viewport"&&u.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(w.ai.vertical)>=0;for(const ie of ji.sections)if(ie.image)T[ie.image.name]=!0;else{const Xi=no(ji.toString()),Zi=ie.fontStack||Hi,Ii=N[Zi]=N[Zi]||{};this.calculateGlyphDependencies(ie.text,Ii,Pi,this.allowVerticalPlacement,Xi)}}}u.get("symbol-placement")==="line"&&(this.features=function(J){const ii={},ri={},ai=[];let oi=0;function fi(Hi){ai.push(J[Hi]),oi++}function ji(Hi,Pi,ie){const Xi=ri[Hi];return delete ri[Hi],ri[Pi]=Xi,ai[Xi].geometry[0].pop(),ai[Xi].geometry[0]=ai[Xi].geometry[0].concat(ie[0]),Xi}function Mi(Hi,Pi,ie){const Xi=ii[Pi];return delete ii[Pi],ii[Hi]=Xi,ai[Xi].geometry[0].shift(),ai[Xi].geometry[0]=ie[0].concat(ai[Xi].geometry[0]),Xi}function se(Hi,Pi,ie){const Xi=ie?Pi[0][Pi[0].length-1]:Pi[0][0];return`${Hi}:${Xi.x}:${Xi.y}`}for(let Hi=0;HiHi.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((J,ii)=>J.sortKey-ii.sortKey)}update(i,a,l){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(i,a,this.layers,l),this.icon.programConfigurations.updatePaintArrays(i,a,this.layers,l))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(i){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(i),this.iconCollisionBox.upload(i)),this.text.upload(i,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(i,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(i,a){const l=this.lineVertexArray.length;if(i.segment!==void 0){let s=i.dist(a[i.segment+1]),u=i.dist(a[i.segment]);const m={};for(let S=i.segment+1;S=0;S--)m[S]={x:a[S].x,y:a[S].y,tileUnitDistanceFromAnchor:u},S>0&&(u+=a[S-1].dist(a[S]));for(let S=0;S0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(i,a){const l=i.placedSymbolArray.get(a),s=l.vertexStartIndex+4*l.numGlyphs;for(let u=l.vertexStartIndex;us[S]-s[_]||u[_]-u[S]),m}addToSortKeyRanges(i,a){const l=this.sortKeyRanges[this.sortKeyRanges.length-1];l&&l.sortKey===a?l.symbolInstanceEnd=i+1:this.sortKeyRanges.push({sortKey:a,symbolInstanceStart:i,symbolInstanceEnd:i+1})}sortFeatures(i){if(this.sortFeaturesByY&&this.sortedAngle!==i&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(i),this.sortedAngle=i,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const a of this.symbolInstanceIndexes){const l=this.symbolInstances.get(a);this.featureSortOrder.push(l.featureIndex),[l.rightJustifiedTextSymbolIndex,l.centerJustifiedTextSymbolIndex,l.leftJustifiedTextSymbolIndex].forEach((s,u,m)=>{s>=0&&m.indexOf(s)===u&&this.addIndicesForPlacedSymbol(this.text,s)}),l.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,l.verticalPlacedTextSymbolIndex),l.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,l.placedIconSymbolIndex),l.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,l.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Fu,Tu;Wi("SymbolBucket",ls,{omit:["layers","collisionBoxArray","features","compareText"]}),ls.MAX_GLYPHS=65535,ls.addDynamicAttributes=J0;var X0={get paint(){return Tu=Tu||new c({"icon-opacity":new de(gi.paint_symbol["icon-opacity"]),"icon-color":new de(gi.paint_symbol["icon-color"]),"icon-halo-color":new de(gi.paint_symbol["icon-halo-color"]),"icon-halo-width":new de(gi.paint_symbol["icon-halo-width"]),"icon-halo-blur":new de(gi.paint_symbol["icon-halo-blur"]),"icon-translate":new ee(gi.paint_symbol["icon-translate"]),"icon-translate-anchor":new ee(gi.paint_symbol["icon-translate-anchor"]),"text-opacity":new de(gi.paint_symbol["text-opacity"]),"text-color":new de(gi.paint_symbol["text-color"],{runtimeType:Fa,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new de(gi.paint_symbol["text-halo-color"]),"text-halo-width":new de(gi.paint_symbol["text-halo-width"]),"text-halo-blur":new de(gi.paint_symbol["text-halo-blur"]),"text-translate":new ee(gi.paint_symbol["text-translate"]),"text-translate-anchor":new ee(gi.paint_symbol["text-translate-anchor"])})},get layout(){return Fu=Fu||new c({"symbol-placement":new ee(gi.layout_symbol["symbol-placement"]),"symbol-spacing":new ee(gi.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ee(gi.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new de(gi.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ee(gi.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ee(gi.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ee(gi.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ee(gi.layout_symbol["icon-ignore-placement"]),"icon-optional":new ee(gi.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ee(gi.layout_symbol["icon-rotation-alignment"]),"icon-size":new de(gi.layout_symbol["icon-size"]),"icon-text-fit":new ee(gi.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ee(gi.layout_symbol["icon-text-fit-padding"]),"icon-image":new de(gi.layout_symbol["icon-image"]),"icon-rotate":new de(gi.layout_symbol["icon-rotate"]),"icon-padding":new de(gi.layout_symbol["icon-padding"]),"icon-keep-upright":new ee(gi.layout_symbol["icon-keep-upright"]),"icon-offset":new de(gi.layout_symbol["icon-offset"]),"icon-anchor":new de(gi.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ee(gi.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ee(gi.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ee(gi.layout_symbol["text-rotation-alignment"]),"text-field":new de(gi.layout_symbol["text-field"]),"text-font":new de(gi.layout_symbol["text-font"]),"text-size":new de(gi.layout_symbol["text-size"]),"text-max-width":new de(gi.layout_symbol["text-max-width"]),"text-line-height":new ee(gi.layout_symbol["text-line-height"]),"text-letter-spacing":new de(gi.layout_symbol["text-letter-spacing"]),"text-justify":new de(gi.layout_symbol["text-justify"]),"text-radial-offset":new de(gi.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ee(gi.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new de(gi.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new de(gi.layout_symbol["text-anchor"]),"text-max-angle":new ee(gi.layout_symbol["text-max-angle"]),"text-writing-mode":new ee(gi.layout_symbol["text-writing-mode"]),"text-rotate":new de(gi.layout_symbol["text-rotate"]),"text-padding":new ee(gi.layout_symbol["text-padding"]),"text-keep-upright":new ee(gi.layout_symbol["text-keep-upright"]),"text-transform":new de(gi.layout_symbol["text-transform"]),"text-offset":new de(gi.layout_symbol["text-offset"]),"text-allow-overlap":new ee(gi.layout_symbol["text-allow-overlap"]),"text-overlap":new ee(gi.layout_symbol["text-overlap"]),"text-ignore-placement":new ee(gi.layout_symbol["text-ignore-placement"]),"text-optional":new ee(gi.layout_symbol["text-optional"])})}};class Ru{constructor(i){if(i.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=i.property.overrides?i.property.overrides.runtimeType:ln,this.defaultValue=i}evaluate(i){if(i.formattedSection){const a=this.defaultValue.property.overrides;if(a&&a.hasOverride(i.formattedSection))return a.getOverride(i.formattedSection)}return i.feature&&i.featureState?this.defaultValue.evaluate(i.feature,i.featureState):this.defaultValue.property.specification.default}eachChild(i){this.defaultValue.isConstant()||i(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Wi("FormatSectionOverride",Ru,{omit:["defaultValue"]});class Mr extends y{constructor(i){super(i,X0)}recalculate(i,a){if(super.recalculate(i,a),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const l=this.layout.get("text-writing-mode");if(l){const s=[];for(const u of l)s.indexOf(u)<0&&s.push(u);this.layout._values["text-writing-mode"]=s}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(i,a,l,s){const u=this.layout.get(i).evaluate(a,{},l,s),m=this._unevaluatedLayout._values[i];return m.isDataDriven()||Yl(m.value)||!u?u:function(S,_){return _.replace(/{([^{}]+)}/g,(v,L)=>S&&L in S?String(S[L]):"")}(a.properties,u)}createBucket(i){return new ls(i)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const i of X0.paint.overridableProperties){if(!Mr.hasPaintOverride(this.layout,i))continue;const a=this.paint.get(i),l=new Ru(a),s=new Mc(l,a.property.specification);let u=null;u=a.value.kind==="constant"||a.value.kind==="source"?new Ps("source",s):new Ms("composite",s,a.value.zoomStops),this.paint._values[i]=new _n(a.property,u,a.parameters)}}_handleOverridablePaintPropertyUpdate(i,a,l){return!(!this.layout||a.isDataDriven()||l.isDataDriven())&&Mr.hasPaintOverride(this.layout,i)}static hasPaintOverride(i,a){const l=i.get("text-field"),s=X0.paint.properties[a];let u=!1;const m=S=>{for(const _ of S)if(s.overrides&&s.overrides.hasOverride(_))return void(u=!0)};if(l.value.kind==="constant"&&l.value.value instanceof qa)m(l.value.value.sections);else if(l.value.kind==="source"){const S=v=>{u||(v instanceof Xn&&Jt(v.value)===An?m(v.value.sections):v instanceof bc?m(v.sections):v.eachChild(S))},_=l.value;_._styleExpression&&S(_._styleExpression.expression)}return u}}let Du;var Um={get paint(){return Du=Du||new c({"background-color":new ee(gi.paint_background["background-color"]),"background-pattern":new e(gi.paint_background["background-pattern"]),"background-opacity":new ee(gi.paint_background["background-opacity"])})}};class Km extends y{constructor(i){super(i,Um)}}let Nu;var Jm={get paint(){return Nu=Nu||new c({"raster-opacity":new ee(gi.paint_raster["raster-opacity"]),"raster-hue-rotate":new ee(gi.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ee(gi.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ee(gi.paint_raster["raster-brightness-max"]),"raster-saturation":new ee(gi.paint_raster["raster-saturation"]),"raster-contrast":new ee(gi.paint_raster["raster-contrast"]),"raster-resampling":new ee(gi.paint_raster["raster-resampling"]),"raster-fade-duration":new ee(gi.paint_raster["raster-fade-duration"])})}};class Zm extends y{constructor(i){super(i,Jm)}}class Wm extends y{constructor(i){super(i,{}),this.onAdd=a=>{this.implementation.onAdd&&this.implementation.onAdd(a,a.painter.context.gl)},this.onRemove=a=>{this.implementation.onRemove&&this.implementation.onRemove(a,a.painter.context.gl)},this.implementation=i}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Xm{constructor(i){this._methodToThrottle=i,this._triggered=!1,typeof MessageChannel<"u"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Y0=63710088e-1;class Rl{constructor(i,a){if(isNaN(i)||isNaN(a))throw new Error(`Invalid LngLat object: (${i}, ${a})`);if(this.lng=+i,this.lat=+a,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Rl(me(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(i){const a=Math.PI/180,l=this.lat*a,s=i.lat*a,u=Math.sin(l)*Math.sin(s)+Math.cos(l)*Math.cos(s)*Math.cos((i.lng-this.lng)*a);return Y0*Math.acos(Math.min(u,1))}static convert(i){if(i instanceof Rl)return i;if(Array.isArray(i)&&(i.length===2||i.length===3))return new Rl(Number(i[0]),Number(i[1]));if(!Array.isArray(i)&&typeof i=="object"&&i!==null)return new Rl(Number("lng"in i?i.lng:i.lon),Number(i.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const Gu=2*Math.PI*Y0;function Pu(t){return Gu*Math.cos(t*Math.PI/180)}function Mu(t){return(180+t)/360}function zu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Eu(t,i){return t/Pu(i)}function Q0(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class zr{constructor(i,a,l=0){this.x=+i,this.y=+a,this.z=+l}static fromLngLat(i,a=0){const l=Rl.convert(i);return new zr(Mu(l.lng),zu(l.lat),Eu(a,l.lat))}toLngLat(){return new Rl(360*this.x-180,Q0(this.y))}toAltitude(){return this.z*Pu(Q0(this.y))}meterInMercatorCoordinateUnits(){return 1/Gu*(i=Q0(this.y),1/Math.cos(i*Math.PI/180));var i}}function qu(t,i,a){var l=2*Math.PI*6378137/256/Math.pow(2,a);return[t*l-2*Math.PI*6378137/2,i*l-2*Math.PI*6378137/2]}class ip{constructor(i,a,l){if(i<0||i>25||l<0||l>=Math.pow(2,i)||a<0||a>=Math.pow(2,i))throw new Error(`x=${a}, y=${l}, z=${i} outside of bounds. 0<=x<${Math.pow(2,i)}, 0<=y<${Math.pow(2,i)} 0<=z<=25 `);this.z=i,this.x=a,this.y=l,this.key=Ao(0,i,i,a,l)}equals(i){return this.z===i.z&&this.x===i.x&&this.y===i.y}url(i,a,l){const s=(m=this.y,S=this.z,_=qu(256*(u=this.x),256*(m=Math.pow(2,S)-m-1),S),v=qu(256*(u+1),256*(m+1),S),_[0]+","+_[1]+","+v[0]+","+v[1]);var u,m,S,_,v;const L=function(B,T,N){let M,O="";for(let J=B;J>0;J--)M=1<1?"@2x":"").replace(/{quadkey}/g,L).replace(/{bbox-epsg-3857}/g,s)}isChildOf(i){const a=this.z-i.z;return a>0&&i.x===this.x>>a&&i.y===this.y>>a}getTilePoint(i){const a=Math.pow(2,this.z);return new V((i.x*a-this.x)*Zt,(i.y*a-this.y)*Zt)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Hu{constructor(i,a){this.wrap=i,this.canonical=a,this.key=Ao(i,a.z,a.z,a.x,a.y)}}class yn{constructor(i,a,l,s,u){if(i= z; overscaledZ = ${i}; z = ${l}`);this.overscaledZ=i,this.wrap=a,this.canonical=new ip(l,+s,+u),this.key=Ao(a,i,l,s,u)}clone(){return new yn(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(i){return this.overscaledZ===i.overscaledZ&&this.wrap===i.wrap&&this.canonical.equals(i.canonical)}scaledTo(i){if(i>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${i}; overscaledZ = ${this.overscaledZ}`);const a=this.canonical.z-i;return i>this.canonical.z?new yn(i,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new yn(i,this.wrap,i,this.canonical.x>>a,this.canonical.y>>a)}calculateScaledKey(i,a){if(i>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${i}; overscaledZ = ${this.overscaledZ}`);const l=this.canonical.z-i;return i>this.canonical.z?Ao(this.wrap*+a,i,this.canonical.z,this.canonical.x,this.canonical.y):Ao(this.wrap*+a,i,i,this.canonical.x>>l,this.canonical.y>>l)}isChildOf(i){if(i.wrap!==this.wrap)return!1;const a=this.canonical.z-i.canonical.z;return i.overscaledZ===0||i.overscaledZ>a&&i.canonical.y===this.canonical.y>>a}children(i){if(this.overscaledZ>=i)return[new yn(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const a=this.canonical.z+1,l=2*this.canonical.x,s=2*this.canonical.y;return[new yn(a,this.wrap,a,l,s),new yn(a,this.wrap,a,l+1,s),new yn(a,this.wrap,a,l,s+1),new yn(a,this.wrap,a,l+1,s+1)]}isLessThan(i){return this.wrapi.wrap)&&(this.overscaledZi.overscaledZ)&&(this.canonical.xi.canonical.x)&&this.canonical.ythis.max&&(this.max=B),B=this.dim+1||a<-1||a>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(a+1)*this.stride+(i+1)}unpack(i,a,l){return i*this.redFactor+a*this.greenFactor+l*this.blueFactor-this.baseShift}getPixels(){return new dn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(i,a,l){if(this.dim!==i.dim)throw new Error("dem dimension mismatch");let s=a*this.dim,u=a*this.dim+this.dim,m=l*this.dim,S=l*this.dim+this.dim;switch(a){case-1:s=u-1;break;case 1:u=s+1}switch(l){case-1:m=S-1;break;case 1:S=m+1}const _=-a*this.dim,v=-l*this.dim;for(let L=m;L=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${i} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[i]}}class $u{constructor(i,a,l,s,u){this.type="Feature",this._vectorTileFeature=i,i._z=a,i._x=l,i._y=s,this.properties=i.properties,this.id=u}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(i){this._geometry=i}toJSON(){const i={geometry:this.geometry};for(const a in this)a!=="_geometry"&&a!=="_vectorTileFeature"&&(i[a]=this[a]);return i}}class Uu{constructor(i,a){this.tileID=i,this.x=i.canonical.x,this.y=i.canonical.y,this.z=i.canonical.z,this.grid=new _l(Zt,16,0),this.grid3D=new _l(Zt,16,0),this.featureIndexArray=new pn,this.promoteId=a}insert(i,a,l,s,u,m){const S=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(l,s,u);const _=m?this.grid3D:this.grid;for(let v=0;v=0&&B[3]>=0&&_.insert(S,B[0],B[1],B[2],B[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Cl.VectorTile(new H0(this.rawTileData)).layers,this.sourceLayerCoder=new Ou(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(i,a,l,s){this.loadVTLayers();const u=i.params||{},m=Zt/i.tileSize/i.scale,S=Aa(u.filter),_=i.queryGeometry,v=i.queryPadding*m,L=Ju(_),B=this.grid.query(L.minX-v,L.minY-v,L.maxX+v,L.maxY+v),T=Ju(i.cameraQueryGeometry),N=this.grid3D.query(T.minX-v,T.minY-v,T.maxX+v,T.maxY+v,(J,ii,ri,ai)=>function(oi,fi,ji,Mi,se){for(const Pi of oi)if(fi<=Pi.x&&ji<=Pi.y&&Mi>=Pi.x&&se>=Pi.y)return!0;const Hi=[new V(fi,ji),new V(fi,se),new V(Mi,se),new V(Mi,ji)];if(oi.length>2){for(const Pi of Hi)if(Yc(oi,Pi))return!0}for(let Pi=0;Pi(ai||(ai=rc(oi)),fi.queryIntersectsFeature(_,oi,ji,ai,this.z,i.transform,m,i.pixelPosMatrix)))}return M}loadMatchingFeature(i,a,l,s,u,m,S,_,v,L,B){const T=this.bucketLayerIDs[a];if(m&&!function(J,ii){for(let ri=0;ri=0)return!0;return!1}(m,T))return;const N=this.sourceLayerCoder.decode(l),M=this.vtLayers[N].feature(s);if(u.needGeometry){const J=pc(M,!0);if(!u.filter(new ft(this.tileID.overscaledZ),J,this.tileID.canonical))return}else if(!u.filter(new ft(this.tileID.overscaledZ),M))return;const O=this.getId(M,N);for(let J=0;J{const S=i instanceof $c?i.get(m):null;return S&&S.evaluate?S.evaluate(a,l,s):S})}function Ju(t){let i=1/0,a=1/0,l=-1/0,s=-1/0;for(const u of t)i=Math.min(i,u.x),a=Math.min(a,u.y),l=Math.max(l,u.x),s=Math.max(s,u.y);return{minX:i,minY:a,maxX:l,maxY:s}}function Ym(t,i){return i-t}function Zu(t,i,a,l,s){const u=[];for(let m=0;m=l&&B.x>=l||(L.x>=l?L=new V(l,L.y+(l-L.x)/(B.x-L.x)*(B.y-L.y))._round():B.x>=l&&(B=new V(l,L.y+(l-L.x)/(B.x-L.x)*(B.y-L.y))._round()),L.y>=s&&B.y>=s||(L.y>=s?L=new V(L.x+(s-L.y)/(B.y-L.y)*(B.x-L.x),s)._round():B.y>=s&&(B=new V(L.x+(s-L.y)/(B.y-L.y)*(B.x-L.x),s)._round()),_&&L.equals(_[_.length-1])||(_=[L],u.push(_)),_.push(B)))))}}return u}Wi("FeatureIndex",Uu,{omit:["rawTileData","sourceLayerCoder"]});class Dl extends V{constructor(i,a,l,s){super(i,a),this.angle=l,s!==void 0&&(this.segment=s)}clone(){return new Dl(this.x,this.y,this.angle,this.segment)}}function Wu(t,i,a,l,s){if(i.segment===void 0||a===0)return!0;let u=i,m=i.segment+1,S=0;for(;S>-a/2;){if(m--,m<0)return!1;S-=t[m].dist(u),u=t[m]}S+=t[m].dist(t[m+1]),m++;const _=[];let v=0;for(;Sl;)v-=_.shift().angleDelta;if(v>s)return!1;m++,S+=L.dist(B)}return!0}function Xu(t){let i=0;for(let a=0;av){const M=(v-_)/N,O=Oa.number(B.x,T.x,M),J=Oa.number(B.y,T.y,M),ii=new Dl(O,J,T.angleTo(B),L);return ii._round(),!m||Wu(t,ii,S,m,i)?ii:void 0}_+=N}}function ih(t,i,a,l,s,u,m,S,_){const v=Yu(l,u,m),L=Qu(l,s),B=L*m,T=t[0].x===0||t[0].x===_||t[0].y===0||t[0].y===_;return i-B=0&&oi<_&&fi>=0&&fi<_&&T-v>=0&&T+v<=L){const ji=new Dl(oi,fi,ri,M);ji._round(),l&&!Wu(t,ji,u,l,s)||N.push(ji)}}B+=ii}return S||N.length||m||(N=id(t,B/2,a,l,s,u,m,!0,_)),N}Wi("Anchor",Dl);const cs=Ka;function ed(t,i,a,l){const s=[],u=t.image,m=u.pixelRatio,S=u.paddedRect.w-2*cs,_=u.paddedRect.h-2*cs;let v={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const L=u.stretchX||[[0,S]],B=u.stretchY||[[0,_]],T=(Ii,te)=>Ii+te[1]-te[0],N=L.reduce(T,0),M=B.reduce(T,0),O=S-N,J=_-M;let ii=0,ri=N,ai=0,oi=M,fi=0,ji=O,Mi=0,se=J;if(u.content&&l){const Ii=u.content,te=Ii[2]-Ii[0],Qi=Ii[3]-Ii[1];(u.textFitWidth||u.textFitHeight)&&(v=Lu(t)),ii=Er(L,0,Ii[0]),ai=Er(B,0,Ii[1]),ri=Er(L,Ii[0],Ii[2]),oi=Er(B,Ii[1],Ii[3]),fi=Ii[0]-ii,Mi=Ii[1]-ai,ji=te-ri,se=Qi-oi}const Hi=v.x1,Pi=v.y1,ie=v.x2-Hi,Xi=v.y2-Pi,Zi=(Ii,te,Qi,ge)=>{const dt=qr(Ii.stretch-ii,ri,ie,Hi),ct=Hr(Ii.fixed-fi,ji,Ii.stretch,N),la=qr(te.stretch-ai,oi,Xi,Pi),xn=Hr(te.fixed-Mi,se,te.stretch,M),Sa=qr(Qi.stretch-ii,ri,ie,Hi),Et=Hr(Qi.fixed-fi,ji,Qi.stretch,N),Na=qr(ge.stretch-ai,oi,Xi,Pi),Ga=Hr(ge.fixed-Mi,se,ge.stretch,M),Pa=new V(dt,la),qt=new V(Sa,la),ca=new V(Sa,Na),Ba=new V(dt,Na),Ia=new V(ct/m,xn/m),Ma=new V(Et/m,Ga/m),wa=i*Math.PI/180;if(wa){const Je=Math.sin(wa),gt=Math.cos(wa),bt=[gt,-Je,Je,gt];Pa._matMult(bt),qt._matMult(bt),Ba._matMult(bt),ca._matMult(bt)}const mn=Ii.stretch+Ii.fixed,Ja=te.stretch+te.fixed;return{tl:Pa,tr:qt,bl:Ba,br:ca,tex:{x:u.paddedRect.x+cs+mn,y:u.paddedRect.y+cs+Ja,w:Qi.stretch+Qi.fixed-mn,h:ge.stretch+ge.fixed-Ja},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ia,pixelOffsetBR:Ma,minFontScaleX:ji/m/ie,minFontScaleY:se/m/Xi,isSDF:a}};if(l&&(u.stretchX||u.stretchY)){const Ii=td(L,O,N),te=td(B,J,M);for(let Qi=0;Qi0&&(O=Math.max(10,O),this.circleDiameter=O)}else{const T=!((B=m.image)===null||B===void 0)&&B.content&&(m.image.textFitWidth||m.image.textFitHeight)?Lu(m):{x1:m.left,y1:m.top,x2:m.right,y2:m.bottom};T.y1=T.y1*S-_[0],T.y2=T.y2*S+_[2],T.x1=T.x1*S-_[3],T.x2=T.x2*S+_[1];const N=m.collisionPadding;if(N&&(T.x1-=N[0]*S,T.y1-=N[1]*S,T.x2+=N[2]*S,T.y2+=N[3]*S),L){const M=new V(T.x1,T.y1),O=new V(T.x2,T.y1),J=new V(T.x1,T.y2),ii=new V(T.x2,T.y2),ri=L*Math.PI/180;M._rotate(ri),O._rotate(ri),J._rotate(ri),ii._rotate(ri),T.x1=Math.min(M.x,O.x,J.x,ii.x),T.x2=Math.max(M.x,O.x,J.x,ii.x),T.y1=Math.min(M.y,O.y,J.y,ii.y),T.y2=Math.max(M.y,O.y,J.y,ii.y)}i.emplaceBack(a.x,a.y,T.x1,T.y1,T.x2,T.y2,l,s,u)}this.boxEndIndex=i.length}}class eh{constructor(i=[],a=th){if(this.data=i,this.length=this.data.length,this.compare=a,this.length>0)for(let l=(this.length>>1)-1;l>=0;l--)this._down(l)}push(i){this.data.push(i),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const i=this.data[0],a=this.data.pop();return this.length--,this.length>0&&(this.data[0]=a,this._down(0)),i}peek(){return this.data[0]}_up(i){const{data:a,compare:l}=this,s=a[i];for(;i>0;){const u=i-1>>1,m=a[u];if(l(s,m)>=0)break;a[i]=m,i=u}a[i]=s}_down(i){const{data:a,compare:l}=this,s=this.length>>1,u=a[i];for(;i=0)break;a[i]=S,i=m}a[i]=u}}function th(t,i){return ti?1:0}function ah(t,i=1,a=!1){let l=1/0,s=1/0,u=-1/0,m=-1/0;const S=t[0];for(let N=0;Nu)&&(u=M.x),(!N||M.y>m)&&(m=M.y)}const _=Math.min(u-l,m-s);let v=_/2;const L=new eh([],nh);if(_===0)return new V(l,s);for(let N=l;NB.d||!B.d)&&(B=N,a&&console.log("found best %d after %d probes",Math.round(1e4*N.d)/1e4,T)),N.max-B.d<=i||(v=N.h/2,L.push(new ss(N.p.x-v,N.p.y-v,v,t)),L.push(new ss(N.p.x+v,N.p.y-v,v,t)),L.push(new ss(N.p.x-v,N.p.y+v,v,t)),L.push(new ss(N.p.x+v,N.p.y+v,v,t)),T+=4)}return a&&(console.log(`num probes: ${T}`),console.log(`best distance: ${B.d}`)),B.p}function nh(t,i){return i.max-t.max}function ss(t,i,a,l){this.p=new V(t,i),this.h=a,this.d=function(s,u){let m=!1,S=1/0;for(let _=0;_s.y!=M.y>s.y&&s.x<(M.x-N.x)*(s.y-N.y)/(M.y-N.y)+N.x&&(m=!m),S=Math.min(S,zp(s,N,M))}}return(m?1:-1)*Math.sqrt(S)}(this.p,l),this.max=this.d+this.h*Math.SQRT2}var ga;w.ar=void 0,(ga=w.ar||(w.ar={}))[ga.center=1]="center",ga[ga.left=2]="left",ga[ga.right=3]="right",ga[ga.top=4]="top",ga[ga.bottom=5]="bottom",ga[ga["top-left"]=6]="top-left",ga[ga["top-right"]=7]="top-right",ga[ga["bottom-left"]=8]="bottom-left",ga[ga["bottom-right"]=9]="bottom-right";const Nl=7,ep=Number.POSITIVE_INFINITY;function ad(t,i){return i[1]!==ep?function(a,l,s){let u=0,m=0;switch(l=Math.abs(l),s=Math.abs(s),a){case"top-right":case"top-left":case"top":m=s-Nl;break;case"bottom-right":case"bottom-left":case"bottom":m=-s+Nl}switch(a){case"top-right":case"bottom-right":case"right":u=-l;break;case"top-left":case"bottom-left":case"left":u=l}return[u,m]}(t,i[0],i[1]):function(a,l){let s=0,u=0;l<0&&(l=0);const m=l/Math.SQRT2;switch(a){case"top-right":case"top-left":u=m-Nl;break;case"bottom-right":case"bottom-left":u=-m+Nl;break;case"bottom":u=-l+Nl;break;case"top":u=l-Nl}switch(a){case"top-right":case"bottom-right":s=-m;break;case"top-left":case"bottom-left":s=m;break;case"left":s=l;break;case"right":s=-l}return[s,u]}(t,i[0])}function nd(t,i,a){var l;const s=t.layout,u=(l=s.get("text-variable-anchor-offset"))===null||l===void 0?void 0:l.evaluate(i,{},a);if(u){const S=u.values,_=[];for(let v=0;vT*ia);L.startsWith("top")?B[1]-=Nl:L.startsWith("bottom")&&(B[1]+=Nl),_[v+1]=B}return new Va(_)}const m=s.get("text-variable-anchor");if(m){let S;S=t._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[s.get("text-radial-offset").evaluate(i,{},a)*ia,ep]:s.get("text-offset").evaluate(i,{},a).map(v=>v*ia);const _=[];for(const v of m)_.push(v,ad(v,S));return new Va(_)}return null}function tp(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function lh(t,i,a,l,s,u,m,S,_,v,L){let B=u.textMaxSize.evaluate(i,{});B===void 0&&(B=m);const T=t.layers[0].layout,N=T.get("icon-offset").evaluate(i,{},L),M=cd(a.horizontal),O=m/24,J=t.tilePixelRatio*O,ii=t.tilePixelRatio*B/24,ri=t.tilePixelRatio*S,ai=t.tilePixelRatio*T.get("symbol-spacing"),oi=T.get("text-padding")*t.tilePixelRatio,fi=function(Ii,te,Qi,ge=1){const dt=Ii.get("icon-padding").evaluate(te,{},Qi),ct=dt&&dt.values;return[ct[0]*ge,ct[1]*ge,ct[2]*ge,ct[3]*ge]}(T,i,L,t.tilePixelRatio),ji=T.get("text-max-angle")/180*Math.PI,Mi=T.get("text-rotation-alignment")!=="viewport"&&T.get("symbol-placement")!=="point",se=T.get("icon-rotation-alignment")==="map"&&T.get("symbol-placement")!=="point",Hi=T.get("symbol-placement"),Pi=ai/2,ie=T.get("icon-text-fit");let Xi;l&&ie!=="none"&&(t.allowVerticalPlacement&&a.vertical&&(Xi=Bu(l,a.vertical,ie,T.get("icon-text-fit-padding"),N,O)),M&&(l=Bu(l,M,ie,T.get("icon-text-fit-padding"),N,O)));const Zi=(Ii,te)=>{te.x<0||te.x>=Zt||te.y<0||te.y>=Zt||function(Qi,ge,dt,ct,la,xn,Sa,Et,Na,Ga,Pa,qt,ca,Ba,Ia,Ma,wa,mn,Ja,Je,gt,bt,tn,Gt,os){const Kn=Qi.addToLineVertexArray(ge,dt);let Jn,jn,hn,oa,ul=0,Co=0,pd=0,ud=0,pp=-1,up=-1;const dl={};let dd=Wc("");if(Qi.allowVerticalPlacement&&ct.vertical){const Ca=Et.layout.get("text-rotate").evaluate(gt,{},Gt)+90;hn=new Vr(Na,ge,Ga,Pa,qt,ct.vertical,ca,Ba,Ia,Ca),Sa&&(oa=new Vr(Na,ge,Ga,Pa,qt,Sa,wa,mn,Ia,Ca))}if(la){const Ca=Et.layout.get("icon-rotate").evaluate(gt,{}),fn=Et.layout.get("icon-text-fit")!=="none",dc=ed(la,Ca,tn,fn),Dn=Sa?ed(Sa,Ca,tn,fn):void 0;jn=new Vr(Na,ge,Ga,Pa,qt,la,wa,mn,!1,Ca),ul=4*dc.length;const yc=Qi.iconSizeData;let Zn=null;yc.kind==="source"?(Zn=[Un*Et.layout.get("icon-size").evaluate(gt,{})],Zn[0]>Tl&&Ze(`${Qi.layerIds[0]}: Value for "icon-size" is >= ${vo}. Reduce your "icon-size".`)):yc.kind==="composite"&&(Zn=[Un*bt.compositeIconSizes[0].evaluate(gt,{},Gt),Un*bt.compositeIconSizes[1].evaluate(gt,{},Gt)],(Zn[0]>Tl||Zn[1]>Tl)&&Ze(`${Qi.layerIds[0]}: Value for "icon-size" is >= ${vo}. Reduce your "icon-size".`)),Qi.addSymbols(Qi.icon,dc,Zn,Je,Ja,gt,w.ai.none,ge,Kn.lineStartIndex,Kn.lineLength,-1,Gt),pp=Qi.icon.placedSymbolArray.length-1,Dn&&(Co=4*Dn.length,Qi.addSymbols(Qi.icon,Dn,Zn,Je,Ja,gt,w.ai.vertical,ge,Kn.lineStartIndex,Kn.lineLength,-1,Gt),up=Qi.icon.placedSymbolArray.length-1)}const yd=Object.keys(ct.horizontal);for(const Ca of yd){const fn=ct.horizontal[Ca];if(!Jn){dd=Wc(fn.text);const Dn=Et.layout.get("text-rotate").evaluate(gt,{},Gt);Jn=new Vr(Na,ge,Ga,Pa,qt,fn,ca,Ba,Ia,Dn)}const dc=fn.positionedLines.length===1;if(pd+=ld(Qi,ge,fn,xn,Et,Ia,gt,Ma,Kn,ct.vertical?w.ai.horizontal:w.ai.horizontalOnly,dc?yd:[Ca],dl,pp,bt,Gt),dc)break}ct.vertical&&(ud+=ld(Qi,ge,ct.vertical,xn,Et,Ia,gt,Ma,Kn,w.ai.vertical,["vertical"],dl,up,bt,Gt));const oh=Jn?Jn.boxStartIndex:Qi.collisionBoxArray.length,rh=Jn?Jn.boxEndIndex:Qi.collisionBoxArray.length,ph=hn?hn.boxStartIndex:Qi.collisionBoxArray.length,uh=hn?hn.boxEndIndex:Qi.collisionBoxArray.length,dh=jn?jn.boxStartIndex:Qi.collisionBoxArray.length,yh=jn?jn.boxEndIndex:Qi.collisionBoxArray.length,mh=oa?oa.boxStartIndex:Qi.collisionBoxArray.length,hh=oa?oa.boxEndIndex:Qi.collisionBoxArray.length;let Rn=-1;const $r=(Ca,fn)=>Ca&&Ca.circleDiameter?Math.max(Ca.circleDiameter,fn):fn;Rn=$r(Jn,Rn),Rn=$r(hn,Rn),Rn=$r(jn,Rn),Rn=$r(oa,Rn);const md=Rn>-1?1:0;md&&(Rn*=os/ia),Qi.glyphOffsetArray.length>=ls.MAX_GLYPHS&&Ze("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),gt.sortKey!==void 0&&Qi.addToSortKeyRanges(Qi.symbolInstances.length,gt.sortKey);const fh=nd(Et,gt,Gt),[gh,Sh]=function(Ca,fn){const dc=Ca.length,Dn=fn==null?void 0:fn.values;if((Dn==null?void 0:Dn.length)>0)for(let yc=0;yc=0?dl.right:-1,dl.center>=0?dl.center:-1,dl.left>=0?dl.left:-1,dl.vertical||-1,pp,up,dd,oh,rh,ph,uh,dh,yh,mh,hh,Ga,pd,ud,ul,Co,md,0,ca,Rn,gh,Sh)}(t,te,Ii,a,l,s,Xi,t.layers[0],t.collisionBoxArray,i.index,i.sourceLayerIndex,t.index,J,[oi,oi,oi,oi],Mi,_,ri,fi,se,N,i,u,v,L,m)};if(Hi==="line")for(const Ii of Zu(i.geometry,0,0,Zt,Zt)){const te=ih(Ii,ai,ji,a.vertical||M,l,24,ii,t.overscaling,Zt);for(const Qi of te)M&&ch(t,M.text,Pi,Qi)||Zi(Ii,Qi)}else if(Hi==="line-center"){for(const Ii of i.geometry)if(Ii.length>1){const te=Qm(Ii,ji,a.vertical||M,l,24,ii);te&&Zi(Ii,te)}}else if(i.type==="Polygon")for(const Ii of Ac(i.geometry,0)){const te=ah(Ii,16);Zi(Ii[0],new Dl(te.x,te.y,0))}else if(i.type==="LineString")for(const Ii of i.geometry)Zi(Ii,new Dl(Ii[0].x,Ii[0].y,0));else if(i.type==="Point")for(const Ii of i.geometry)for(const te of Ii)Zi([te],new Dl(te.x,te.y,0))}function ld(t,i,a,l,s,u,m,S,_,v,L,B,T,N,M){const O=function(ri,ai,oi,fi,ji,Mi,se,Hi){const Pi=fi.layout.get("text-rotate").evaluate(Mi,{})*Math.PI/180,ie=[];for(const Xi of ai.positionedLines)for(const Zi of Xi.positionedGlyphs){if(!Zi.rect)continue;const Ii=Zi.rect||{};let te=ku+1,Qi=!0,ge=1,dt=0;const ct=(ji||Hi)&&Zi.vertical,la=Zi.metrics.advance*Zi.scale/2;if(Hi&&ai.verticalizable&&(dt=Xi.lineOffset/2-(Zi.imageName?-(ia-Zi.metrics.width*Zi.scale)/2:(Zi.scale-1)*ia)),Zi.imageName){const Je=se[Zi.imageName];Qi=Je.sdf,ge=Je.pixelRatio,te=Ka/ge}const xn=ji?[Zi.x+la,Zi.y]:[0,0];let Sa=ji?[0,0]:[Zi.x+la+oi[0],Zi.y+oi[1]-dt],Et=[0,0];ct&&(Et=Sa,Sa=[0,0]);const Na=Zi.metrics.isDoubleResolution?2:1,Ga=(Zi.metrics.left-te)*Zi.scale-la+Sa[0],Pa=(-Zi.metrics.top-te)*Zi.scale+Sa[1],qt=Ga+Ii.w/Na*Zi.scale/ge,ca=Pa+Ii.h/Na*Zi.scale/ge,Ba=new V(Ga,Pa),Ia=new V(qt,Pa),Ma=new V(Ga,ca),wa=new V(qt,ca);if(ct){const Je=new V(-la,la-jo),gt=-Math.PI/2,bt=ia/2-la,tn=new V(5-jo-bt,-(Zi.imageName?bt:0)),Gt=new V(...Et);Ba._rotateAround(gt,Je)._add(tn)._add(Gt),Ia._rotateAround(gt,Je)._add(tn)._add(Gt),Ma._rotateAround(gt,Je)._add(tn)._add(Gt),wa._rotateAround(gt,Je)._add(tn)._add(Gt)}if(Pi){const Je=Math.sin(Pi),gt=Math.cos(Pi),bt=[gt,-Je,Je,gt];Ba._matMult(bt),Ia._matMult(bt),Ma._matMult(bt),wa._matMult(bt)}const mn=new V(0,0),Ja=new V(0,0);ie.push({tl:Ba,tr:Ia,bl:Ma,br:wa,tex:Ii,writingMode:ai.writingMode,glyphOffset:xn,sectionIndex:Zi.sectionIndex,isSDF:Qi,pixelOffsetTL:mn,pixelOffsetBR:Ja,minFontScaleX:0,minFontScaleY:0})}return ie}(0,a,S,s,u,m,l,t.allowVerticalPlacement),J=t.textSizeData;let ii=null;J.kind==="source"?(ii=[Un*s.layout.get("text-size").evaluate(m,{})],ii[0]>Tl&&Ze(`${t.layerIds[0]}: Value for "text-size" is >= ${vo}. Reduce your "text-size".`)):J.kind==="composite"&&(ii=[Un*N.compositeTextSizes[0].evaluate(m,{},M),Un*N.compositeTextSizes[1].evaluate(m,{},M)],(ii[0]>Tl||ii[1]>Tl)&&Ze(`${t.layerIds[0]}: Value for "text-size" is >= ${vo}. Reduce your "text-size".`)),t.addSymbols(t.text,O,ii,S,u,m,v,i,_.lineStartIndex,_.lineLength,T,M);for(const ri of L)B[ri]=t.text.placedSymbolArray.length-1;return 4*O.length}function cd(t){for(const i in t)return t[i];return null}function ch(t,i,a,l){const s=t.compareText;if(i in s){const u=s[i];for(let m=u.length-1;m>=0;m--)if(l.dist(u[m])>4;if(s!==1)throw new Error(`Got v${s} data when expected v1.`);const u=sd[15&l];if(!u)throw new Error("Unrecognized array type.");const[m]=new Uint16Array(i,2,1),[S]=new Uint32Array(i,4,1);return new ap(S,m,u,i)}constructor(i,a=64,l=Float64Array,s){if(isNaN(i)||i<0)throw new Error(`Unpexpected numItems value: ${i}.`);this.numItems=+i,this.nodeSize=Math.min(Math.max(+a,2),65535),this.ArrayType=l,this.IndexArrayType=i<65536?Uint16Array:Uint32Array;const u=sd.indexOf(this.ArrayType),m=2*i*this.ArrayType.BYTES_PER_ELEMENT,S=i*this.IndexArrayType.BYTES_PER_ELEMENT,_=(8-S%8)%8;if(u<0)throw new Error(`Unexpected typed array class: ${l}.`);s&&s instanceof ArrayBuffer?(this.data=s,this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+S+_,2*i),this._pos=2*i,this._finished=!0):(this.data=new ArrayBuffer(8+m+S+_),this.ids=new this.IndexArrayType(this.data,8,i),this.coords=new this.ArrayType(this.data,8+S+_,2*i),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+u]),new Uint16Array(this.data,2,1)[0]=a,new Uint32Array(this.data,4,1)[0]=i)}add(i,a){const l=this._pos>>1;return this.ids[l]=l,this.coords[this._pos++]=i,this.coords[this._pos++]=a,l}finish(){const i=this._pos>>1;if(i!==this.numItems)throw new Error(`Added ${i} items when expected ${this.numItems}.`);return np(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(i,a,l,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:u,coords:m,nodeSize:S}=this,_=[0,u.length-1,0],v=[];for(;_.length;){const L=_.pop()||0,B=_.pop()||0,T=_.pop()||0;if(B-T<=S){for(let J=T;J<=B;J++){const ii=m[2*J],ri=m[2*J+1];ii>=i&&ii<=l&&ri>=a&&ri<=s&&v.push(u[J])}continue}const N=T+B>>1,M=m[2*N],O=m[2*N+1];M>=i&&M<=l&&O>=a&&O<=s&&v.push(u[N]),(L===0?i<=M:a<=O)&&(_.push(T),_.push(N-1),_.push(1-L)),(L===0?l>=M:s>=O)&&(_.push(N+1),_.push(B),_.push(1-L))}return v}within(i,a,l){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:u,nodeSize:m}=this,S=[0,s.length-1,0],_=[],v=l*l;for(;S.length;){const L=S.pop()||0,B=S.pop()||0,T=S.pop()||0;if(B-T<=m){for(let J=T;J<=B;J++)rd(u[2*J],u[2*J+1],i,a)<=v&&_.push(s[J]);continue}const N=T+B>>1,M=u[2*N],O=u[2*N+1];rd(M,O,i,a)<=v&&_.push(s[N]),(L===0?i-l<=M:a-l<=O)&&(S.push(T),S.push(N-1),S.push(1-L)),(L===0?i+l>=M:a+l>=O)&&(S.push(N+1),S.push(B),S.push(1-L))}return _}}function np(t,i,a,l,s,u){if(s-l<=a)return;const m=l+s>>1;od(t,i,m,l,s,u),np(t,i,a,l,m-1,1-u),np(t,i,a,m+1,s,1-u)}function od(t,i,a,l,s,u){for(;s>l;){if(s-l>600){const v=s-l+1,L=a-l+1,B=Math.log(v),T=.5*Math.exp(2*B/3),N=.5*Math.sqrt(B*T*(v-T)/v)*(L-v/2<0?-1:1);od(t,i,a,Math.max(l,Math.floor(a-L*T/v+N)),Math.min(s,Math.floor(a+(v-L)*T/v+N)),u)}const m=i[2*a+u];let S=l,_=s;for(Lo(t,i,l,a),i[2*s+u]>m&&Lo(t,i,l,s);S<_;){for(Lo(t,i,S,_),S++,_--;i[2*S+u]m;)_--}i[2*l+u]===m?Lo(t,i,l,_):(_++,Lo(t,i,_,s)),_<=a&&(l=_+1),a<=_&&(s=_-1)}}function Lo(t,i,a,l){lp(t,a,l),lp(i,2*a,2*l),lp(i,2*a+1,2*l+1)}function lp(t,i,a){const l=t[i];t[i]=t[a],t[a]=l}function rd(t,i,a,l){const s=t-a,u=i-l;return s*s+u*u}var cp;w.bf=void 0,(cp=w.bf||(w.bf={})).create="create",cp.load="load",cp.fullLoad="fullLoad";let Or=null,Bo=[];const sp=1e3/60,op="loadTime",rp="fullLoadTime",sh={mark(t){performance.mark(t)},frame(t){const i=t;Or!=null&&Bo.push(i-Or),Or=i},clearMetrics(){Or=null,Bo=[],performance.clearMeasures(op),performance.clearMeasures(rp);for(const t in w.bf)performance.clearMarks(w.bf[t])},getPerformanceMetrics(){performance.measure(op,w.bf.create,w.bf.load),performance.measure(rp,w.bf.create,w.bf.fullLoad);const t=performance.getEntriesByName(op)[0].duration,i=performance.getEntriesByName(rp)[0].duration,a=Bo.length,l=1/(Bo.reduce((u,m)=>u+m,0)/a/1e3),s=Bo.filter(u=>u>sp).reduce((u,m)=>u+(m-sp)/sp,0);return{loadTime:t,fullLoadTime:i,fps:l,percentDroppedFrames:s/(a+s)*100,totalFrames:a}}};w.$=class extends q{},w.A=Qc,w.B=eo,w.C=function(t){if(Pt==null){const i=t.navigator?t.navigator.userAgent:null;Pt=!!t.safari||!(!i||!(/\b(iPad|iPhone|iPod)\b/.test(i)||i.match("Safari")&&!i.match("Chrome")))}return Pt},w.D=ee,w.E=Dt,w.F=class{constructor(t,i){this.target=t,this.mapId=i,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Xm(()=>this.process()),this.subscription=function(a,l,s,u){return a.addEventListener(l,s,!1),{unsubscribe:()=>{a.removeEventListener(l,s,!1)}}}(this.target,"message",a=>this.receive(a)),this.globalScope=Ye(self)?t:window}registerMessageHandler(t,i){this.messageHandlers[t]=i}sendAsync(t,i){return new Promise((a,l)=>{const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[s]={resolve:a,reject:l},i&&i.signal.addEventListener("abort",()=>{delete this.resolveRejects[s];const S={id:s,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(S)},{once:!0});const u=[],m=Object.assign(Object.assign({},t),{id:s,sourceMapId:this.mapId,origin:location.origin,data:lc(t.data,u)});this.target.postMessage(m,{transfer:u})})}receive(t){const i=t.data,a=i.id;if(!(i.origin!=="file://"&&location.origin!=="file://"&&i.origin!==location.origin||i.targetMapId&&this.mapId!==i.targetMapId)){if(i.type===""){delete this.tasks[a];const l=this.abortControllers[a];return delete this.abortControllers[a],void(l&&l.abort())}if(Ye(self)||i.mustQueue)return this.tasks[a]=i,this.taskQueue.push(a),void this.invoker.trigger();this.processTask(a,i)}}process(){if(this.taskQueue.length===0)return;const t=this.taskQueue.shift(),i=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),i&&this.processTask(t,i)}processTask(t,i){return r(this,void 0,void 0,function*(){if(i.type===""){const s=this.resolveRejects[t];return delete this.resolveRejects[t],s?void(i.error?s.reject(kn(i.error)):s.resolve(kn(i.data))):void 0}if(!this.messageHandlers[i.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${i.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const a=kn(i.data),l=new AbortController;this.abortControllers[t]=l;try{const s=yield this.messageHandlers[i.type](i.sourceMapId,a,l);this.completeTask(t,null,s)}catch(s){this.completeTask(t,s)}})}completeTask(t,i,a){const l=[];delete this.abortControllers[t];const s={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:i?lc(i):null,data:lc(a,l)};this.target.postMessage(s,{transfer:l})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},w.G=ke,w.H=function(){var t=new Qc(16);return Qc!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},w.I=O0,w.J=function(t,i,a){var l,s,u,m,S,_,v,L,B,T,N,M,O=a[0],J=a[1],ii=a[2];return i===t?(t[12]=i[0]*O+i[4]*J+i[8]*ii+i[12],t[13]=i[1]*O+i[5]*J+i[9]*ii+i[13],t[14]=i[2]*O+i[6]*J+i[10]*ii+i[14],t[15]=i[3]*O+i[7]*J+i[11]*ii+i[15]):(s=i[1],u=i[2],m=i[3],S=i[4],_=i[5],v=i[6],L=i[7],B=i[8],T=i[9],N=i[10],M=i[11],t[0]=l=i[0],t[1]=s,t[2]=u,t[3]=m,t[4]=S,t[5]=_,t[6]=v,t[7]=L,t[8]=B,t[9]=T,t[10]=N,t[11]=M,t[12]=l*O+S*J+B*ii+i[12],t[13]=s*O+_*J+T*ii+i[13],t[14]=u*O+v*J+N*ii+i[14],t[15]=m*O+L*J+M*ii+i[15]),t},w.K=function(t,i,a){var l=a[0],s=a[1],u=a[2];return t[0]=i[0]*l,t[1]=i[1]*l,t[2]=i[2]*l,t[3]=i[3]*l,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=i[7]*s,t[8]=i[8]*u,t[9]=i[9]*u,t[10]=i[10]*u,t[11]=i[11]*u,t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},w.L=Vp,w.M=function(t,i){const a={};for(let l=0;l{const i=window.document.createElement("video");return i.muted=!0,new Promise(a=>{i.onloadstart=()=>{a(i)};for(const l of t){const s=window.document.createElement("source");ut(l)||(i.crossOrigin="Anonymous"),s.src=l,i.appendChild(s)}})},w.a4=function(){return St++},w.a5=Ae,w.a6=ls,w.a7=Aa,w.a8=pc,w.a9=ft,w.aA=function(t){t=t.slice();const i=Object.create(null);for(let a=0;a{"source"in m&&l[m.source]?a.push({command:"removeLayer",args:[m.id]}):u.push(m)}),a=a.concat(s),function(m,S,_){S=S||[];const v=(m=m||[]).map(Ya),L=S.map(Ya),B=m.reduce(aa,{}),T=S.reduce(aa,{}),N=v.slice(),M=Object.create(null);let O,J,ii,ri,ai;for(let oi=0,fi=0;oi@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(a,l,s,u)=>{const m=s||u;return i[l]=!m||m.toLowerCase(),""}),i["max-age"]){const a=parseInt(i["max-age"],10);isNaN(a)?delete i["max-age"]:i["max-age"]=a}return i},w.ac=function(t,i){const a=[];for(const l in t)l in i||a.push(l);return a},w.ad=Ji,w.ae=function(t,i,a){var l=Math.sin(a),s=Math.cos(a),u=i[0],m=i[1],S=i[2],_=i[3],v=i[4],L=i[5],B=i[6],T=i[7];return i!==t&&(t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15]),t[0]=u*s+v*l,t[1]=m*s+L*l,t[2]=S*s+B*l,t[3]=_*s+T*l,t[4]=v*s-u*l,t[5]=L*s-m*l,t[6]=B*s-S*l,t[7]=T*s-_*l,t},w.af=function(t){var i=new Qc(16);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],i[9]=t[9],i[10]=t[10],i[11]=t[11],i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15],i},w.ag=Lr,w.ah=function(t,i){let a=0,l=0;if(t.kind==="constant")l=t.layoutSize;else if(t.kind!=="source"){const{interpolationType:s,minZoom:u,maxZoom:m}=t,S=s?Ji($a.interpolationFactor(s,i,u,m),0,1):0;t.kind==="camera"?l=Oa.number(t.minSize,t.maxSize,S):a=S}return{uSizeT:a,uSize:l}},w.aj=function(t,{uSize:i,uSizeT:a},{lowerSize:l,upperSize:s}){return t.kind==="source"?l/Un:t.kind==="composite"?Oa.number(l/Un,s/Un,a):i},w.ak=J0,w.al=function(t,i,a,l){const s=i.y-t.y,u=i.x-t.x,m=l.y-a.y,S=l.x-a.x,_=m*u-S*s;if(_===0)return null;const v=(S*(t.y-a.y)-m*(t.x-a.x))/_;return new V(t.x+v*u,t.y+v*s)},w.am=Zu,w.an=Pp,w.ao=L0,w.ap=function(t){let i=1/0,a=1/0,l=-1/0,s=-1/0;for(const u of t)i=Math.min(i,u.x),a=Math.min(a,u.y),l=Math.max(l,u.x),s=Math.max(s,u.y);return[i,a,l,s]},w.aq=ia,w.as=K0,w.at=function(t,i){var a=i[0],l=i[1],s=i[2],u=i[3],m=i[4],S=i[5],_=i[6],v=i[7],L=i[8],B=i[9],T=i[10],N=i[11],M=i[12],O=i[13],J=i[14],ii=i[15],ri=a*S-l*m,ai=a*_-s*m,oi=a*v-u*m,fi=l*_-s*S,ji=l*v-u*S,Mi=s*v-u*_,se=L*O-B*M,Hi=L*J-T*M,Pi=L*ii-N*M,ie=B*J-T*O,Xi=B*ii-N*O,Zi=T*ii-N*J,Ii=ri*Zi-ai*Xi+oi*ie+fi*Pi-ji*Hi+Mi*se;return Ii?(t[0]=(S*Zi-_*Xi+v*ie)*(Ii=1/Ii),t[1]=(s*Xi-l*Zi-u*ie)*Ii,t[2]=(O*Mi-J*ji+ii*fi)*Ii,t[3]=(T*ji-B*Mi-N*fi)*Ii,t[4]=(_*Pi-m*Zi-v*Hi)*Ii,t[5]=(a*Zi-s*Pi+u*Hi)*Ii,t[6]=(J*oi-M*Mi-ii*ai)*Ii,t[7]=(L*Mi-T*oi+N*ai)*Ii,t[8]=(m*Xi-S*Pi+v*se)*Ii,t[9]=(l*Pi-a*Xi-u*se)*Ii,t[10]=(M*ji-O*oi+ii*ri)*Ii,t[11]=(B*oi-L*ji-N*ri)*Ii,t[12]=(S*Hi-m*ie-_*se)*Ii,t[13]=(a*ie-l*Hi+s*se)*Ii,t[14]=(O*ai-M*fi-J*ri)*Ii,t[15]=(L*fi-B*ai+T*ri)*Ii,t):null},w.au=tp,w.av=U0,w.aw=ap,w.ax=function(){const t={},i=gi.$version;for(const a in gi.$root){const l=gi.$root[a];if(l.required){let s=null;s=a==="version"?i:l.type==="array"?[]:{},s!=null&&(t[a]=s)}}return t},w.ay=fr,w.az=nt,w.b=Ki,w.b0=function(t,i){return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},w.b1=function(t,i,a){return t[0]=i[0]*a[0],t[1]=i[1]*a[1],t[2]=i[2]*a[2],t[3]=i[3]*a[3],t},w.b2=function(t,i){return t[0]*i[0]+t[1]*i[1]+t[2]*i[2]+t[3]*i[3]},w.b3=me,w.b4=Hu,w.b5=Eu,w.b6=function(t,i,a,l,s){var u,m=1/Math.tan(i/2);return t[0]=m/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=m,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,s!=null&&s!==1/0?(t[10]=(s+l)*(u=1/(l-s)),t[14]=2*s*l*u):(t[10]=-1,t[14]=-2*l),t},w.b7=function(t,i,a){var l=Math.sin(a),s=Math.cos(a),u=i[4],m=i[5],S=i[6],_=i[7],v=i[8],L=i[9],B=i[10],T=i[11];return i!==t&&(t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15]),t[4]=u*s+v*l,t[5]=m*s+L*l,t[6]=S*s+B*l,t[7]=_*s+T*l,t[8]=v*s-u*l,t[9]=L*s-m*l,t[10]=B*s-S*l,t[11]=T*s-_*l,t},w.b8=Ei,w.b9=$i,w.bA=function(t){return t.message===$e},w.bB=nl,w.bC=Vn,w.ba=function(t){return t*Math.PI/180},w.bb=function(t,i){return t[0]=i[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=i[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},w.bc=class extends P{},w.bd=Y0,w.be=sh,w.bg=pt,w.bh=function(t,i){ta.REGISTERED_PROTOCOLS[t]=i},w.bi=function(t){delete ta.REGISTERED_PROTOCOLS[t]},w.bj=function(t,i){const a={};for(let s=0;sZi*ia)}let Hi=m?"center":a.get("text-justify").evaluate(v,{},t.canonical);const Pi=a.get("symbol-placement")==="point"?a.get("text-max-width").evaluate(v,{},t.canonical)*ia:1/0,ie=()=>{t.bucket.allowVerticalPlacement&&no(oi)&&(M.vertical=Nr(O,t.glyphMap,t.glyphPositions,t.imagePositions,L,Pi,u,Mi,"left",ji,ii,w.ai.vertical,!0,T,B))};if(!m&&se){const Xi=new Set;if(Hi==="auto")for(let Ii=0;Iir(void 0,void 0,void 0,function*(){if(t.byteLength===0)return createImageBitmap(new ImageData(1,1));const i=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(i)}catch(a){throw new Error(`Could not load image because of ${a.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),w.e=pe,w.f=t=>new Promise((i,a)=>{const l=new Image;l.onload=()=>{i(l),URL.revokeObjectURL(l.src),l.onload=null,window.requestAnimationFrame(()=>{l.src=Ai})},l.onerror=()=>a(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const s=new Blob([new Uint8Array(t)],{type:"image/png"});l.src=t.byteLength?URL.createObjectURL(s):Ai}),w.g=oe,w.h=(t,i)=>It(pe(t,{type:"json"}),i),w.i=Ye,w.j=nn,w.k=ba,w.l=(t,i)=>It(pe(t,{type:"arrayBuffer"}),i),w.m=It,w.n=function(t){return new H0(t).readFields(Nm,[])},w.o=go,w.p=_u,w.q=c,w.r=S0,w.s=ut,w.t=to,w.u=Vi,w.v=gi,w.w=Ze,w.x=Fn,w.y=function([t,i,a]){return i+=90,i*=Math.PI/180,a*=Math.PI/180,{x:t*Math.cos(i)*Math.sin(a),y:t*Math.sin(i)*Math.sin(a),z:t*Math.cos(a)}},w.z=Oa}),g("worker",["./shared"],function(w){class r{constructor(D){this.keyCache={},D&&this.replace(D)}replace(D){this._layerConfigs={},this._layers={},this.update(D,[])}update(D,R){for(const W of D){this._layerConfigs[W.id]=W;const li=this._layers[W.id]=w.aB(W);li._featureFilter=w.a7(li.filter),this.keyCache[W.id]&&delete this.keyCache[W.id]}for(const W of R)delete this.keyCache[W],delete this._layerConfigs[W],delete this._layers[W];this.familiesBySource={};const H=w.bj(Object.values(this._layerConfigs),this.keyCache);for(const W of H){const li=W.map(mi=>this._layers[mi.id]),ci=li[0];if(ci.visibility==="none")continue;const ui=ci.source||"";let ei=this.familiesBySource[ui];ei||(ei=this.familiesBySource[ui]={});const Si=ci.sourceLayer||"_geojsonTileLayer";let _i=ei[Si];_i||(_i=ei[Si]=[]),_i.push(li)}}}class G{constructor(D){const R={},H=[];for(const ui in D){const ei=D[ui],Si=R[ui]={};for(const _i in ei){const mi=ei[+_i];if(!mi||mi.bitmap.width===0||mi.bitmap.height===0)continue;const Ri={x:0,y:0,w:mi.bitmap.width+2,h:mi.bitmap.height+2};H.push(Ri),Si[_i]={rect:Ri,metrics:mi.metrics}}}const{w:W,h:li}=w.p(H),ci=new w.o({width:W||1,height:li||1});for(const ui in D){const ei=D[ui];for(const Si in ei){const _i=ei[+Si];if(!_i||_i.bitmap.width===0||_i.bitmap.height===0)continue;const mi=R[ui][Si].rect;w.o.copy(_i.bitmap,ci,{x:0,y:0},{x:mi.x+1,y:mi.y+1},_i.bitmap)}}this.image=ci,this.positions=R}}w.bk("GlyphAtlas",G);class z{constructor(D){this.tileID=new w.S(D.tileID.overscaledZ,D.tileID.wrap,D.tileID.canonical.z,D.tileID.canonical.x,D.tileID.canonical.y),this.uid=D.uid,this.zoom=D.zoom,this.pixelRatio=D.pixelRatio,this.tileSize=D.tileSize,this.source=D.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=D.showCollisionBoxes,this.collectResourceTiming=!!D.collectResourceTiming,this.returnDependencies=!!D.returnDependencies,this.promoteId=D.promoteId,this.inFlightDependencies=[]}parse(D,R,H,W){return w._(this,void 0,void 0,function*(){this.status="parsing",this.data=D,this.collisionBoxArray=new w.a5;const li=new w.bl(Object.keys(D.layers).sort()),ci=new w.bm(this.tileID,this.promoteId);ci.bucketLayerIDs=[];const ui={},ei={featureIndex:ci,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:H},Si=R.familiesBySource[this.source];for(const Ce in Si){const et=D.layers[Ce];if(!et)continue;et.version===1&&w.w(`Vector tile source "${this.source}" layer "${Ce}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const Bt=li.encode(Ce),Yt=[];for(let ra=0;ra=pa.maxzoom||pa.visibility!=="none"&&(U(ra,this.zoom,H),(ui[pa.id]=pa.createBucket({index:ci.bucketLayerIDs.length,layers:ra,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Bt,sourceID:this.source})).populate(Yt,ei,this.tileID.canonical),ci.bucketLayerIDs.push(ra.map(Ml=>Ml.id)))}}const _i=w.aG(ei.glyphDependencies,Ce=>Object.keys(Ce).map(Number));this.inFlightDependencies.forEach(Ce=>Ce==null?void 0:Ce.abort()),this.inFlightDependencies=[];let mi=Promise.resolve({});if(Object.keys(_i).length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),mi=W.sendAsync({type:"GG",data:{stacks:_i,source:this.source,tileID:this.tileID,type:"glyphs"}},Ce)}const Ri=Object.keys(ei.iconDependencies);let ae=Promise.resolve({});if(Ri.length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),ae=W.sendAsync({type:"GI",data:{icons:Ri,source:this.source,tileID:this.tileID,type:"icons"}},Ce)}const re=Object.keys(ei.patternDependencies);let be=Promise.resolve({});if(re.length){const Ce=new AbortController;this.inFlightDependencies.push(Ce),be=W.sendAsync({type:"GI",data:{icons:re,source:this.source,tileID:this.tileID,type:"patterns"}},Ce)}const[Ue,xe,mt]=yield Promise.all([mi,ae,be]),Nt=new G(Ue),Kt=new w.bn(xe,mt);for(const Ce in ui){const et=ui[Ce];et instanceof w.a6?(U(et.layers,this.zoom,H),w.bo({bucket:et,glyphMap:Ue,glyphPositions:Nt.positions,imageMap:xe,imagePositions:Kt.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):et.hasPattern&&(et instanceof w.bp||et instanceof w.bq||et instanceof w.br)&&(U(et.layers,this.zoom,H),et.addFeatures(ei,this.tileID.canonical,Kt.patternPositions))}return this.status="done",{buckets:Object.values(ui).filter(Ce=>!Ce.isEmpty()),featureIndex:ci,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Nt.image,imageAtlas:Kt,glyphMap:this.returnDependencies?Ue:null,iconMap:this.returnDependencies?xe:null,glyphPositions:this.returnDependencies?Nt.positions:null}})}}function U(Y,D,R){const H=new w.a9(D);for(const W of Y)W.recalculate(H,R)}class V{constructor(D,R,H){this.actor=D,this.layerIndex=R,this.availableImages=H,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(D,R){return w._(this,void 0,void 0,function*(){const H=yield w.l(D.request,R);try{return{vectorTile:new w.bs.VectorTile(new w.bt(H.data)),rawData:H.data,cacheControl:H.cacheControl,expires:H.expires}}catch(W){const li=new Uint8Array(H.data);let ci=`Unable to parse the tile at ${D.request.url}, `;throw ci+=li[0]===31&&li[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${W.message}`,new Error(ci)}})}loadTile(D){return w._(this,void 0,void 0,function*(){const R=D.uid,H=!!(D&&D.request&&D.request.collectResourceTiming)&&new w.bu(D.request),W=new z(D);this.loading[R]=W;const li=new AbortController;W.abort=li;try{const ci=yield this.loadVectorTile(D,li);if(delete this.loading[R],!ci)return null;const ui=ci.rawData,ei={};ci.expires&&(ei.expires=ci.expires),ci.cacheControl&&(ei.cacheControl=ci.cacheControl);const Si={};if(H){const mi=H.finish();mi&&(Si.resourceTiming=JSON.parse(JSON.stringify(mi)))}W.vectorTile=ci.vectorTile;const _i=W.parse(ci.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[R]=W,this.fetching[R]={rawTileData:ui,cacheControl:ei,resourceTiming:Si};try{const mi=yield _i;return w.e({rawTileData:ui.slice(0)},mi,ei,Si)}finally{delete this.fetching[R]}}catch(ci){throw delete this.loading[R],W.status="done",this.loaded[R]=W,ci}})}reloadTile(D){return w._(this,void 0,void 0,function*(){const R=D.uid;if(!this.loaded||!this.loaded[R])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const H=this.loaded[R];if(H.showCollisionBoxes=D.showCollisionBoxes,H.status==="parsing"){const W=yield H.parse(H.vectorTile,this.layerIndex,this.availableImages,this.actor);let li;if(this.fetching[R]){const{rawTileData:ci,cacheControl:ui,resourceTiming:ei}=this.fetching[R];delete this.fetching[R],li=w.e({rawTileData:ci.slice(0)},W,ui,ei)}else li=W;return li}if(H.status==="done"&&H.vectorTile)return H.parse(H.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(D){return w._(this,void 0,void 0,function*(){const R=this.loading,H=D.uid;R&&R[H]&&R[H].abort&&(R[H].abort.abort(),delete R[H])})}removeTile(D){return w._(this,void 0,void 0,function*(){this.loaded&&this.loaded[D.uid]&&delete this.loaded[D.uid]})}}class E{constructor(){this.loaded={}}loadTile(D){return w._(this,void 0,void 0,function*(){const{uid:R,encoding:H,rawImageData:W,redFactor:li,greenFactor:ci,blueFactor:ui,baseShift:ei}=D,Si=W.width+2,_i=W.height+2,mi=w.b(W)?new w.R({width:Si,height:_i},yield w.bv(W,-1,-1,Si,_i)):W,Ri=new w.bw(R,mi,H,li,ci,ui,ei);return this.loaded=this.loaded||{},this.loaded[R]=Ri,Ri})}removeTile(D){const R=this.loaded,H=D.uid;R&&R[H]&&delete R[H]}}function xi(Y,D){if(Y.length!==0){ti(Y[0],D);for(var R=1;R=Math.abs(ui)?R-ei+ui:ui-ei+R,R=ei}R+H>=0!=!!D&&Y.reverse()}var hi=w.bx(function Y(D,R){var H,W=D&&D.type;if(W==="FeatureCollection")for(H=0;H>31}function Ye(Y,D){for(var R=Y.loadGeometry(),H=Y.type,W=0,li=0,ci=R.length,ui=0;uiY},it=Math.fround||(Ee=new Float32Array(1),Y=>(Ee[0]=+Y,Ee[0]));var Ee;const Oe=3,$e=5,at=6;class ta{constructor(D){this.options=Object.assign(Object.create(Ai),D),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(D){const{log:R,minZoom:H,maxZoom:W}=this.options;R&&console.time("total time");const li=`prepare ${D.length} points`;R&&console.time(li),this.points=D;const ci=[];for(let ei=0;ei=H;ei--){const Si=+Date.now();ui=this.trees[ei]=this._createTree(this._cluster(ui,ei)),R&&console.log("z%d: %d clusters in %dms",ei,ui.numItems,+Date.now()-Si)}return R&&console.timeEnd("total time"),this}getClusters(D,R){let H=((D[0]+180)%360+360)%360-180;const W=Math.max(-90,Math.min(90,D[1]));let li=D[2]===180?180:((D[2]+180)%360+360)%360-180;const ci=Math.max(-90,Math.min(90,D[3]));if(D[2]-D[0]>=360)H=-180,li=180;else if(H>li){const mi=this.getClusters([H,W,180,ci],R),Ri=this.getClusters([-180,W,li,ci],R);return mi.concat(Ri)}const ui=this.trees[this._limitZoom(R)],ei=ui.range(pt(H),nt(ci),pt(li),nt(W)),Si=ui.data,_i=[];for(const mi of ei){const Ri=this.stride*mi;_i.push(Si[Ri+$e]>1?oe(Si,Ri,this.clusterProps):this.points[Si[Ri+Oe]])}return _i}getChildren(D){const R=this._getOriginId(D),H=this._getOriginZoom(D),W="No cluster with the specified id.",li=this.trees[H];if(!li)throw new Error(W);const ci=li.data;if(R*this.stride>=ci.length)throw new Error(W);const ui=this.options.radius/(this.options.extent*Math.pow(2,H-1)),ei=li.within(ci[R*this.stride],ci[R*this.stride+1],ui),Si=[];for(const _i of ei){const mi=_i*this.stride;ci[mi+4]===D&&Si.push(ci[mi+$e]>1?oe(ci,mi,this.clusterProps):this.points[ci[mi+Oe]])}if(Si.length===0)throw new Error(W);return Si}getLeaves(D,R,H){const W=[];return this._appendLeaves(W,D,R=R||10,H=H||0,0),W}getTile(D,R,H){const W=this.trees[this._limitZoom(D)],li=Math.pow(2,D),{extent:ci,radius:ui}=this.options,ei=ui/ci,Si=(H-ei)/li,_i=(H+1+ei)/li,mi={features:[]};return this._addTileFeatures(W.range((R-ei)/li,Si,(R+1+ei)/li,_i),W.data,R,H,li,mi),R===0&&this._addTileFeatures(W.range(1-ei/li,Si,1,_i),W.data,li,H,li,mi),R===li-1&&this._addTileFeatures(W.range(0,Si,ei/li,_i),W.data,-1,H,li,mi),mi.features.length?mi:null}getClusterExpansionZoom(D){let R=this._getOriginZoom(D)-1;for(;R<=this.options.maxZoom;){const H=this.getChildren(D);if(R++,H.length!==1)break;D=H[0].properties.cluster_id}return R}_appendLeaves(D,R,H,W,li){const ci=this.getChildren(R);for(const ui of ci){const ei=ui.properties;if(ei&&ei.cluster?li+ei.point_count<=W?li+=ei.point_count:li=this._appendLeaves(D,ei.cluster_id,H,W,li):li1;let _i,mi,Ri;if(Si)_i=ke(R,ei,this.clusterProps),mi=R[ei],Ri=R[ei+1];else{const be=this.points[R[ei+Oe]];_i=be.properties;const[Ue,xe]=be.geometry.coordinates;mi=pt(Ue),Ri=nt(xe)}const ae={type:1,geometry:[[Math.round(this.options.extent*(mi*li-H)),Math.round(this.options.extent*(Ri*li-W))]],tags:_i};let re;re=Si||this.options.generateId?R[ei+Oe]:this.points[R[ei+Oe]].id,re!==void 0&&(ae.id=re),ci.features.push(ae)}}_limitZoom(D){return Math.max(this.options.minZoom,Math.min(Math.floor(+D),this.options.maxZoom+1))}_cluster(D,R){const{radius:H,extent:W,reduce:li,minPoints:ci}=this.options,ui=H/(W*Math.pow(2,R)),ei=D.data,Si=[],_i=this.stride;for(let mi=0;miR&&(Ue+=ei[mt+$e])}if(Ue>be&&Ue>=ci){let xe,mt=Ri*be,Nt=ae*be,Kt=-1;const Ce=((mi/_i|0)<<5)+(R+1)+this.points.length;for(const et of re){const Bt=et*_i;if(ei[Bt+2]<=R)continue;ei[Bt+2]=R;const Yt=ei[Bt+$e];mt+=ei[Bt]*Yt,Nt+=ei[Bt+1]*Yt,ei[Bt+4]=Ce,li&&(xe||(xe=this._map(ei,mi,!0),Kt=this.clusterProps.length,this.clusterProps.push(xe)),li(xe,this._map(ei,Bt)))}ei[mi+4]=Ce,Si.push(mt/Ue,Nt/Ue,1/0,Ce,-1,Ue),li&&Si.push(Kt)}else{for(let xe=0;xe<_i;xe++)Si.push(ei[mi+xe]);if(Ue>1)for(const xe of re){const mt=xe*_i;if(!(ei[mt+2]<=R)){ei[mt+2]=R;for(let Nt=0;Nt<_i;Nt++)Si.push(ei[mt+Nt])}}}}return Si}_getOriginId(D){return D-this.points.length>>5}_getOriginZoom(D){return(D-this.points.length)%32}_map(D,R,H){if(D[R+$e]>1){const ci=this.clusterProps[D[R+at]];return H?Object.assign({},ci):ci}const W=this.points[D[R+Oe]].properties,li=this.options.map(W);return H&&li===W?Object.assign({},li):li}}function oe(Y,D,R){return{type:"Feature",id:Y[D+Oe],properties:ke(Y,D,R),geometry:{type:"Point",coordinates:[(H=Y[D],360*(H-.5)),It(Y[D+1])]}};var H}function ke(Y,D,R){const H=Y[D+$e],W=H>=1e4?`${Math.round(H/1e3)}k`:H>=1e3?Math.round(H/100)/10+"k":H,li=Y[D+at],ci=li===-1?{}:Object.assign({},R[li]);return Object.assign(ci,{cluster:!0,cluster_id:Y[D+Oe],point_count:H,point_count_abbreviated:W})}function pt(Y){return Y/360+.5}function nt(Y){const D=Math.sin(Y*Math.PI/180),R=.5-.25*Math.log((1+D)/(1-D))/Math.PI;return R<0?0:R>1?1:R}function It(Y){const D=(180-360*Y)*Math.PI/180;return 360*Math.atan(Math.exp(D))/Math.PI-90}function ut(Y,D,R,H){let W=H;const li=D+(R-D>>1);let ci,ui=R-D;const ei=Y[D],Si=Y[D+1],_i=Y[R],mi=Y[R+1];for(let Ri=D+3;RiW)ci=Ri,W=ae;else if(ae===W){const re=Math.abs(Ri-li);reH&&(ci-D>3&&ut(Y,D,ci,H),Y[ci+2]=W,R-ci>3&&ut(Y,ci,R,H))}function Ft(Y,D,R,H,W,li){let ci=W-R,ui=li-H;if(ci!==0||ui!==0){const ei=((Y-R)*ci+(D-H)*ui)/(ci*ci+ui*ui);ei>1?(R=W,H=li):ei>0&&(R+=ci*ei,H+=ui*ei)}return ci=Y-R,ui=D-H,ci*ci+ui*ui}function Ut(Y,D,R,H){const W={id:Y??null,type:D,geometry:R,tags:H,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(D==="Point"||D==="MultiPoint"||D==="LineString")ba(W,R);else if(D==="Polygon")ba(W,R[0]);else if(D==="MultiLineString")for(const li of R)ba(W,li);else if(D==="MultiPolygon")for(const li of R)ba(W,li[0]);return W}function ba(Y,D){for(let R=0;R0&&(ci+=H?(W*_i-Si*li)/2:Math.sqrt(Math.pow(Si-W,2)+Math.pow(_i-li,2))),W=Si,li=_i}const ui=D.length-3;D[2]=1,ut(D,0,ui,R),D[ui+2]=1,D.size=Math.abs(ci),D.start=0,D.end=D.size}function va(Y,D,R,H){for(let W=0;W1?1:R}function Qe(Y,D,R,H,W,li,ci,ui){if(H/=D,li>=(R/=D)&&ci=H)return null;const ei=[];for(const Si of Y){const _i=Si.geometry;let mi=Si.type;const Ri=W===0?Si.minX:Si.minY,ae=W===0?Si.maxX:Si.maxY;if(Ri>=R&&ae=H)continue;let re=[];if(mi==="Point"||mi==="MultiPoint")Gn(_i,re,R,H,W);else if(mi==="LineString")he(_i,re,R,H,W,!1,ui.lineMetrics);else if(mi==="MultiLineString")za(_i,re,R,H,W,!1);else if(mi==="Polygon")za(_i,re,R,H,W,!0);else if(mi==="MultiPolygon")for(const be of _i){const Ue=[];za(be,Ue,R,H,W,!0),Ue.length&&re.push(Ue)}if(re.length){if(ui.lineMetrics&&mi==="LineString"){for(const be of re)ei.push(Ut(Si.id,mi,be,Si.tags));continue}mi!=="LineString"&&mi!=="MultiLineString"||(re.length===1?(mi="LineString",re=re[0]):mi="MultiLineString"),mi!=="Point"&&mi!=="MultiPoint"||(mi=re.length===3?"Point":"MultiPoint"),ei.push(Ut(Si.id,mi,re,Si.tags))}}return ei.length?ei:null}function Gn(Y,D,R,H,W){for(let li=0;li=R&&ci<=H&&Xt(D,Y[li],Y[li+1],Y[li+2])}}function he(Y,D,R,H,W,li,ci){let ui=Fe(Y);const ei=W===0?Ya:aa;let Si,_i,mi=Y.start;for(let Ue=0;UeR&&(_i=ei(ui,xe,mt,Kt,Ce,R),ci&&(ui.start=mi+Si*_i)):et>H?Bt=R&&(_i=ei(ui,xe,mt,Kt,Ce,R),Yt=!0),Bt>H&&et<=H&&(_i=ei(ui,xe,mt,Kt,Ce,H),Yt=!0),!li&&Yt&&(ci&&(ui.end=mi+Si*_i),D.push(ui),ui=Fe(Y)),ci&&(mi+=Si)}let Ri=Y.length-3;const ae=Y[Ri],re=Y[Ri+1],be=W===0?ae:re;be>=R&&be<=H&&Xt(ui,ae,re,Y[Ri+2]),Ri=ui.length-3,li&&Ri>=3&&(ui[Ri]!==ui[0]||ui[Ri+1]!==ui[1])&&Xt(ui,ui[0],ui[1],ui[2]),ui.length&&D.push(ui)}function Fe(Y){const D=[];return D.size=Y.size,D.start=Y.start,D.end=Y.end,D}function za(Y,D,R,H,W,li){for(const ci of Y)he(ci,D,R,H,W,li,!1)}function Xt(Y,D,R,H){Y.push(D,R,H)}function Ya(Y,D,R,H,W,li){const ci=(li-D)/(H-D);return Xt(Y,li,R+(W-R)*ci,1),ci}function aa(Y,D,R,H,W,li){const ci=(li-R)/(W-R);return Xt(Y,D+(H-D)*ci,li,1),ci}function bi(Y,D){const R=[];for(let H=0;H0&&D.size<(W?ci:H))return void(R.numPoints+=D.length/3);const ui=[];for(let ei=0;eici)&&(R.numSimplified++,ui.push(D[ei],D[ei+1])),R.numPoints++;W&&function(ei,Si){let _i=0;for(let mi=0,Ri=ei.length,ae=Ri-2;mi0===Si)for(let mi=0,Ri=ei.length;mi24)throw new Error("maxZoom should be in the 0-24 range");if(R.promoteId&&R.generateId)throw new Error("promoteId and generateId cannot be used together.");let W=function(li,ci){const ui=[];if(li.type==="FeatureCollection")for(let ei=0;ei1&&console.time("creation"),ae=this.tiles[Ri]=ln(D,R,H,W,Si),this.tileCoords.push({z:R,x:H,y:W}),_i)){_i>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",R,H,W,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd("creation"));const Yt=`z${R}`;this.stats[Yt]=(this.stats[Yt]||0)+1,this.total++}if(ae.source=D,li==null){if(R===Si.indexMaxZoom||ae.numPoints<=Si.indexMaxPoints)continue}else{if(R===Si.maxZoom||R===li)continue;if(li!=null){const Yt=li-R;if(H!==ci>>Yt||W!==ui>>Yt)continue}}if(ae.source=null,D.length===0)continue;_i>1&&console.time("clipping");const re=.5*Si.buffer/Si.extent,be=.5-re,Ue=.5+re,xe=1+re;let mt=null,Nt=null,Kt=null,Ce=null,et=Qe(D,mi,H-re,H+Ue,0,ae.minX,ae.maxX,Si),Bt=Qe(D,mi,H+be,H+xe,0,ae.minX,ae.maxX,Si);D=null,et&&(mt=Qe(et,mi,W-re,W+Ue,1,ae.minY,ae.maxY,Si),Nt=Qe(et,mi,W+be,W+xe,1,ae.minY,ae.maxY,Si),et=null),Bt&&(Kt=Qe(Bt,mi,W-re,W+Ue,1,ae.minY,ae.maxY,Si),Ce=Qe(Bt,mi,W+be,W+xe,1,ae.minY,ae.maxY,Si),Bt=null),_i>1&&console.timeEnd("clipping"),ei.push(mt||[],R+1,2*H,2*W),ei.push(Nt||[],R+1,2*H,2*W+1),ei.push(Kt||[],R+1,2*H+1,2*W),ei.push(Ce||[],R+1,2*H+1,2*W+1)}}getTile(D,R,H){D=+D,R=+R,H=+H;const W=this.options,{extent:li,debug:ci}=W;if(D<0||D>24)return null;const ui=1<1&&console.log("drilling down to z%d-%d-%d",D,R,H);let Si,_i=D,mi=R,Ri=H;for(;!Si&&_i>0;)_i--,mi>>=1,Ri>>=1,Si=this.tiles[cn(_i,mi,Ri)];return Si&&Si.source?(ci>1&&(console.log("found parent tile z%d-%d-%d",_i,mi,Ri),console.time("drilling down")),this.splitTile(Si.source,_i,mi,Ri,D,R,H),ci>1&&console.timeEnd("drilling down"),this.tiles[ei]?zt(this.tiles[ei],li):null):null}}function cn(Y,D,R){return 32*((1<{mi.properties=ae;const re={};for(const be of Ri)re[be]=ei[be].evaluate(_i,mi);return re},ci.reduce=(ae,re)=>{mi.properties=re;for(const be of Ri)_i.accumulated=ae[be],ae[be]=Si[be].evaluate(_i,mi)},ci}(D)).load((yield this._pendingData).features):(W=yield this._pendingData,new Fa(W,D.geojsonVtOptions)),this.loaded={};const li={};if(H){const ci=H.finish();ci&&(li.resourceTiming={},li.resourceTiming[D.source]=JSON.parse(JSON.stringify(ci)))}return li}catch(li){if(delete this._pendingRequest,w.bA(li))return{abandoned:!0};throw li}var W})}getData(){return w._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(D){const R=this.loaded;return R&&R[D.uid]?super.reloadTile(D):this.loadTile(D)}loadAndProcessGeoJSON(D,R){return w._(this,void 0,void 0,function*(){let H=yield this.loadGeoJSON(D,R);if(delete this._pendingRequest,typeof H!="object")throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if(hi(H,!0),D.filter){const W=w.bB(D.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(W.result==="error")throw new Error(W.value.map(ci=>`${ci.key}: ${ci.message}`).join(", "));H={type:"FeatureCollection",features:H.features.filter(ci=>W.value.evaluate({zoom:0},ci))}}return H})}loadGeoJSON(D,R){return w._(this,void 0,void 0,function*(){const{promoteId:H}=D;if(D.request){const W=yield w.h(D.request,R);return this._dataUpdateable=gn(W.data,H)?An(W.data,H):void 0,W.data}if(typeof D.data=="string")try{const W=JSON.parse(D.data);return this._dataUpdateable=gn(W,H)?An(W,H):void 0,W}catch{throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`)}if(!D.dataDiff)throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${D.source}`);return function(W,li,ci){var ui,ei,Si,_i;if(li.removeAll&&W.clear(),li.remove)for(const mi of li.remove)W.delete(mi);if(li.add)for(const mi of li.add){const Ri=_e(mi,ci);Ri!=null&&W.set(Ri,mi)}if(li.update)for(const mi of li.update){let Ri=W.get(mi.id);if(Ri==null)continue;const ae=!mi.removeAllProperties&&(((ui=mi.removeProperties)===null||ui===void 0?void 0:ui.length)>0||((ei=mi.addOrUpdateProperties)===null||ei===void 0?void 0:ei.length)>0);if((mi.newGeometry||mi.removeAllProperties||ae)&&(Ri=Object.assign({},Ri),W.set(mi.id,Ri),ae&&(Ri.properties=Object.assign({},Ri.properties))),mi.newGeometry&&(Ri.geometry=mi.newGeometry),mi.removeAllProperties)Ri.properties={};else if(((Si=mi.removeProperties)===null||Si===void 0?void 0:Si.length)>0)for(const re of mi.removeProperties)Object.prototype.hasOwnProperty.call(Ri.properties,re)&&delete Ri.properties[re];if(((_i=mi.addOrUpdateProperties)===null||_i===void 0?void 0:_i.length)>0)for(const{key:re,value:be}of mi.addOrUpdateProperties)Ri.properties[re]=be}}(this._dataUpdateable,D.dataDiff,H),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(D){return w._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(D){return this._geoJSONIndex.getClusterExpansionZoom(D.clusterId)}getClusterChildren(D){return this._geoJSONIndex.getChildren(D.clusterId)}getClusterLeaves(D){return this._geoJSONIndex.getLeaves(D.clusterId,D.limit,D.offset)}}class Sn{constructor(D){this.self=D,this.actor=new w.F(D),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(R,H)=>{if(this.externalWorkerSourceTypes[R])throw new Error(`Worker source with name "${R}" already registered.`);this.externalWorkerSourceTypes[R]=H},this.self.addProtocol=w.bh,this.self.removeProtocol=w.bi,this.self.registerRTLTextPlugin=R=>{if(w.bC.isParsed())throw new Error("RTL text plugin already registered.");w.bC.setMethods(R)},this.actor.registerMessageHandler("LDT",(R,H)=>this._getDEMWorkerSource(R,H.source).loadTile(H)),this.actor.registerMessageHandler("RDT",(R,H)=>w._(this,void 0,void 0,function*(){this._getDEMWorkerSource(R,H.source).removeTile(H)})),this.actor.registerMessageHandler("GCEZ",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterExpansionZoom(H)})),this.actor.registerMessageHandler("GCC",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterChildren(H)})),this.actor.registerMessageHandler("GCL",(R,H)=>w._(this,void 0,void 0,function*(){return this._getWorkerSource(R,H.type,H.source).getClusterLeaves(H)})),this.actor.registerMessageHandler("LD",(R,H)=>this._getWorkerSource(R,H.type,H.source).loadData(H)),this.actor.registerMessageHandler("GD",(R,H)=>this._getWorkerSource(R,H.type,H.source).getData()),this.actor.registerMessageHandler("LT",(R,H)=>this._getWorkerSource(R,H.type,H.source).loadTile(H)),this.actor.registerMessageHandler("RT",(R,H)=>this._getWorkerSource(R,H.type,H.source).reloadTile(H)),this.actor.registerMessageHandler("AT",(R,H)=>this._getWorkerSource(R,H.type,H.source).abortTile(H)),this.actor.registerMessageHandler("RMT",(R,H)=>this._getWorkerSource(R,H.type,H.source).removeTile(H)),this.actor.registerMessageHandler("RS",(R,H)=>w._(this,void 0,void 0,function*(){if(!this.workerSources[R]||!this.workerSources[R][H.type]||!this.workerSources[R][H.type][H.source])return;const W=this.workerSources[R][H.type][H.source];delete this.workerSources[R][H.type][H.source],W.removeSource!==void 0&&W.removeSource(H)})),this.actor.registerMessageHandler("RM",R=>w._(this,void 0,void 0,function*(){delete this.layerIndexes[R],delete this.availableImages[R],delete this.workerSources[R],delete this.demWorkerSources[R]})),this.actor.registerMessageHandler("SR",(R,H)=>w._(this,void 0,void 0,function*(){this.referrer=H})),this.actor.registerMessageHandler("SRPS",(R,H)=>this._syncRTLPluginState(R,H)),this.actor.registerMessageHandler("IS",(R,H)=>w._(this,void 0,void 0,function*(){this.self.importScripts(H)})),this.actor.registerMessageHandler("SI",(R,H)=>this._setImages(R,H)),this.actor.registerMessageHandler("UL",(R,H)=>w._(this,void 0,void 0,function*(){this._getLayerIndex(R).update(H.layers,H.removedIds)})),this.actor.registerMessageHandler("SL",(R,H)=>w._(this,void 0,void 0,function*(){this._getLayerIndex(R).replace(H)}))}_setImages(D,R){return w._(this,void 0,void 0,function*(){this.availableImages[D]=R;for(const H in this.workerSources[D]){const W=this.workerSources[D][H];for(const li in W)W[li].availableImages=R}})}_syncRTLPluginState(D,R){return w._(this,void 0,void 0,function*(){if(w.bC.isParsed())return w.bC.getState();if(R.pluginStatus!=="loading")return w.bC.setState(R),R;const H=R.pluginURL;if(this.self.importScripts(H),w.bC.isParsed()){const W={pluginStatus:"loaded",pluginURL:H};return w.bC.setState(W),W}throw w.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${H}`)})}_getAvailableImages(D){let R=this.availableImages[D];return R||(R=[]),R}_getLayerIndex(D){let R=this.layerIndexes[D];return R||(R=this.layerIndexes[D]=new r),R}_getWorkerSource(D,R,H){if(this.workerSources[D]||(this.workerSources[D]={}),this.workerSources[D][R]||(this.workerSources[D][R]={}),!this.workerSources[D][R][H]){const W={sendAsync:(li,ci)=>(li.targetMapId=D,this.actor.sendAsync(li,ci))};switch(R){case"vector":this.workerSources[D][R][H]=new V(W,this._getLayerIndex(D),this._getAvailableImages(D));break;case"geojson":this.workerSources[D][R][H]=new Pn(W,this._getLayerIndex(D),this._getAvailableImages(D));break;default:this.workerSources[D][R][H]=new this.externalWorkerSourceTypes[R](W,this._getLayerIndex(D),this._getAvailableImages(D))}}return this.workerSources[D][R][H]}_getDEMWorkerSource(D,R){return this.demWorkerSources[D]||(this.demWorkerSources[D]={}),this.demWorkerSources[D][R]||(this.demWorkerSources[D][R]=new E),this.demWorkerSources[D][R]}}return w.i(self)&&(self.worker=new Sn(self)),Sn}),g("index",["exports","./shared"],function(w,r){var G="4.5.0";let z,U;const V={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:d=>new Promise((e,n)=>{const c=requestAnimationFrame(e);d.signal.addEventListener("abort",()=>{cancelAnimationFrame(c),n(r.c())})}),getImageData(d,e=0){return this.getImageCanvasContext(d).getImageData(-e,-e,d.width+2*e,d.height+2*e)},getImageCanvasContext(d){const e=window.document.createElement("canvas"),n=e.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("failed to create canvas 2d context");return e.width=d.width,e.height=d.height,n.drawImage(d,0,0,d.width,d.height),n},resolveURL:d=>(z||(z=document.createElement("a")),z.href=d,z.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(U==null&&(U=matchMedia("(prefers-reduced-motion: reduce)")),U.matches)}};class E{static testProp(e){if(!E.docStyle)return e[0];for(let n=0;n{window.removeEventListener("click",E.suppressClickInternal,!0)},0)}static getScale(e){const n=e.getBoundingClientRect();return{x:n.width/e.offsetWidth||1,y:n.height/e.offsetHeight||1,boundingClientRect:n}}static getPoint(e,n,c){const o=n.boundingClientRect;return new r.P((c.clientX-o.left)/n.x-e.clientLeft,(c.clientY-o.top)/n.y-e.clientTop)}static mousePos(e,n){const c=E.getScale(e);return E.getPoint(e,c,n)}static touchPos(e,n){const c=[],o=E.getScale(e);for(let y=0;y{ti&&zi(ti),ti=null,Bi=!0},hi.onerror=()=>{pi=!0,ti=null},hi.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(d){let e,n,c,o;d.resetRequestQueue=()=>{e=[],n=0,c=0,o={}},d.addThrottleControl=b=>{const A=c++;return o[A]=b,A},d.removeThrottleControl=b=>{delete o[b],k()},d.getImage=(b,A,F=!0)=>new Promise((C,P)=>{xi.supported&&(b.headers||(b.headers={}),b.headers.accept="image/webp,*/*"),r.e(b,{type:"image"}),e.push({abortController:A,requestParameters:b,supportImageRefresh:F,state:"queued",onError:q=>{P(q)},onSuccess:q=>{C(q)}}),k()});const y=b=>r._(this,void 0,void 0,function*(){b.state="running";const{requestParameters:A,supportImageRefresh:F,onError:C,onSuccess:P,abortController:q}=b,$=F===!1&&!r.i(self)&&!r.g(A.url)&&(!A.headers||Object.keys(A.headers).reduce((Q,ni)=>Q&&ni==="accept",!0));n++;const X=$?x(A,q):r.m(A,q);try{const Q=yield X;delete b.abortController,b.state="completed",Q.data instanceof HTMLImageElement||r.b(Q.data)?P(Q):Q.data&&P({data:yield(K=Q.data,typeof createImageBitmap=="function"?r.d(K):r.f(K)),cacheControl:Q.cacheControl,expires:Q.expires})}catch(Q){delete b.abortController,C(Q)}finally{n--,k()}var K}),k=()=>{const b=(()=>{for(const A of Object.keys(o))if(o[A]())return!0;return!1})()?r.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:r.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let A=n;A0;A++){const F=e.shift();F.abortController.signal.aborted?A--:y(F)}},x=(b,A)=>new Promise((F,C)=>{const P=new Image,q=b.url,$=b.credentials;$&&$==="include"?P.crossOrigin="use-credentials":($&&$==="same-origin"||!r.s(q))&&(P.crossOrigin="anonymous"),A.signal.addEventListener("abort",()=>{P.src="",C(r.c())}),P.fetchPriority="high",P.onload=()=>{P.onerror=P.onload=null,F({data:P})},P.onerror=()=>{P.onerror=P.onload=null,A.signal.aborted||C(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},P.src=q})}(Ei||(Ei={})),Ei.resetRequestQueue();class $i{constructor(e){this._transformRequestFn=e}transformRequest(e,n){return this._transformRequestFn&&this._transformRequestFn(e,n)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function Ji(d){var e=new r.A(3);return e[0]=d[0],e[1]=d[1],e[2]=d[2],e}var me,pe=function(d,e,n){return d[0]=e[0]-n[0],d[1]=e[1]-n[1],d[2]=e[2]-n[2],d};me=new r.A(3),r.A!=Float32Array&&(me[0]=0,me[1]=0,me[2]=0);var St=function(d){var e=d[0],n=d[1];return e*e+n*n};function qe(d){const e=[];if(typeof d=="string")e.push({id:"default",url:d});else if(d&&d.length>0){const n=[];for(const{id:c,url:o}of d){const y=`${c}${o}`;n.indexOf(y)===-1&&(n.push(y),e.push({id:c,url:o}))}}return e}function Ie(d,e,n){const c=d.split("?");return c[0]+=`${e}${n}`,c.join("?")}(function(){var d=new r.A(2);r.A!=Float32Array&&(d[0]=0,d[1]=0)})();class we{constructor(e,n,c,o){this.context=e,this.format=c,this.texture=e.gl.createTexture(),this.update(n,o)}update(e,n,c){const{width:o,height:y}=e,k=!(this.size&&this.size[0]===o&&this.size[1]===y||c),{context:x}=this,{gl:b}=x;if(this.useMipmap=!!(n&&n.useMipmap),b.bindTexture(b.TEXTURE_2D,this.texture),x.pixelStoreUnpackFlipY.set(!1),x.pixelStoreUnpack.set(1),x.pixelStoreUnpackPremultiplyAlpha.set(this.format===b.RGBA&&(!n||n.premultiply!==!1)),k)this.size=[o,y],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||r.b(e)?b.texImage2D(b.TEXTURE_2D,0,this.format,this.format,b.UNSIGNED_BYTE,e):b.texImage2D(b.TEXTURE_2D,0,this.format,o,y,0,this.format,b.UNSIGNED_BYTE,e.data);else{const{x:A,y:F}=c||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||r.b(e)?b.texSubImage2D(b.TEXTURE_2D,0,A,F,b.RGBA,b.UNSIGNED_BYTE,e):b.texSubImage2D(b.TEXTURE_2D,0,A,F,o,y,b.RGBA,b.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&b.generateMipmap(b.TEXTURE_2D)}bind(e,n,c){const{context:o}=this,{gl:y}=o;y.bindTexture(y.TEXTURE_2D,this.texture),c!==y.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(c=y.LINEAR),e!==this.filter&&(y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MAG_FILTER,e),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_MIN_FILTER,c||e),this.filter=e),n!==this.wrap&&(y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_S,n),y.texParameteri(y.TEXTURE_2D,y.TEXTURE_WRAP_T,n),this.wrap=n)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function yt(d){const{userImage:e}=d;return!!(e&&e.render&&e.render())&&(d.data.replace(new Uint8Array(e.data.buffer)),!0)}class Ze extends r.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new r.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:n,promiseResolve:c}of this.requestors)c(this._getImagesForIds(n));this.requestors=[]}}getImage(e){const n=this.images[e];if(n&&!n.data&&n.spriteData){const c=n.spriteData;n.data=new r.R({width:c.width,height:c.height},c.context.getImageData(c.x,c.y,c.width,c.height).data),n.spriteData=null}return n}addImage(e,n){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,n)&&(this.images[e]=n)}_validate(e,n){let c=!0;const o=n.data||n.spriteData;return this._validateStretch(n.stretchX,o&&o.width)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "stretchX" value`))),c=!1),this._validateStretch(n.stretchY,o&&o.height)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "stretchY" value`))),c=!1),this._validateContent(n.content,n)||(this.fire(new r.j(new Error(`Image "${e}" has invalid "content" value`))),c=!1),c}_validateStretch(e,n){if(!e)return!0;let c=0;for(const o of e){if(o[0]{let o=!0;if(!this.isLoaded())for(const y of e)this.images[y]||(o=!1);this.isLoaded()||o?n(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:n})})}_getImagesForIds(e){const n={};for(const c of e){let o=this.getImage(c);o||(this.fire(new r.k("styleimagemissing",{id:c})),o=this.getImage(c)),o?n[c]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf,version:o.version,stretchX:o.stretchX,stretchY:o.stretchY,content:o.content,textFitWidth:o.textFitWidth,textFitHeight:o.textFitHeight,hasRenderCallback:!!(o.userImage&&o.userImage.render)}:r.w(`Image "${c}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return n}getPixelSize(){const{width:e,height:n}=this.atlasImage;return{width:e,height:n}}getPattern(e){const n=this.patterns[e],c=this.getImage(e);if(!c)return null;if(n&&n.position.version===c.version)return n.position;if(n)n.position.version=c.version;else{const o={w:c.data.width+2,h:c.data.height+2,x:0,y:0},y=new r.I(o,c);this.patterns[e]={bin:o,position:y}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){const n=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new we(e,this.atlasImage,n.RGBA),this.atlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}_updatePatternAtlas(){const e=[];for(const y in this.patterns)e.push(this.patterns[y].bin);const{w:n,h:c}=r.p(e),o=this.atlasImage;o.resize({width:n||1,height:c||1});for(const y in this.patterns){const{bin:k}=this.patterns[y],x=k.x+1,b=k.y+1,A=this.getImage(y).data,F=A.width,C=A.height;r.R.copy(A,o,{x:0,y:0},{x,y:b},{width:F,height:C}),r.R.copy(A,o,{x:0,y:C-1},{x,y:b-1},{width:F,height:1}),r.R.copy(A,o,{x:0,y:0},{x,y:b+C},{width:F,height:1}),r.R.copy(A,o,{x:F-1,y:0},{x:x-1,y:b},{width:1,height:C}),r.R.copy(A,o,{x:0,y:0},{x:x+F,y:b},{width:1,height:C})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(const n of e){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;const c=this.getImage(n);c||r.w(`Image with ID: "${n}" was not found`),yt(c)&&this.updateImage(n,c)}}}const We=1e20;function Ye(d,e,n,c,o,y,k,x,b){for(let A=e;A-1);b++,y[b]=x,k[b]=A,k[b+1]=We}for(let x=0,b=0;x65535)throw new Error("glyphs > 65535 not supported");if(c.ranges[y])return{stack:e,id:n,glyph:o};if(!this.url)throw new Error("glyphsUrl is not set");if(!c.requests[y]){const x=Ki.loadGlyphRange(e,y,this.url,this.requestManager);c.requests[y]=x}const k=yield c.requests[y];for(const x in k)this._doesCharSupportLocalGlyph(+x)||(c.glyphs[+x]=k[+x]);return c.ranges[y]=!0,{stack:e,id:n,glyph:k[n]||null}})}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(r.u["CJK Unified Ideographs"](e)||r.u["Hangul Syllables"](e)||r.u.Hiragana(e)||r.u.Katakana(e))}_tinySDF(e,n,c){const o=this.localIdeographFontFamily;if(!o||!this._doesCharSupportLocalGlyph(c))return;let y=e.tinySDF;if(!y){let x="400";/bold/i.test(n)?x="900":/medium/i.test(n)?x="500":/light/i.test(n)&&(x="200"),y=e.tinySDF=new Ki.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:o,fontWeight:x})}const k=y.draw(String.fromCharCode(c));return{id:c,bitmap:new r.o({width:k.width||60,height:k.height||60},k.data),metrics:{width:k.glyphWidth/2||24,height:k.glyphHeight/2||24,left:k.glyphLeft/2+.5||0,top:k.glyphTop/2-27.5||-8,advance:k.glyphAdvance/2||24,isDoubleResolution:!0}}}}Ki.loadGlyphRange=function(d,e,n,c){return r._(this,void 0,void 0,function*(){const o=256*e,y=o+255,k=c.transformRequest(n.replace("{fontstack}",d).replace("{range}",`${o}-${y}`),"Glyphs"),x=yield r.l(k,new AbortController);if(!x||!x.data)throw new Error(`Could not load glyph range. range: ${e}, ${o}-${y}`);const b={};for(const A of r.n(x.data))b[A.id]=A;return b})},Ki.TinySDF=class{constructor({fontSize:d=24,buffer:e=3,radius:n=8,cutoff:c=.25,fontFamily:o="sans-serif",fontWeight:y="normal",fontStyle:k="normal"}={}){this.buffer=e,this.cutoff=c,this.radius=n;const x=this.size=d+4*e,b=this._createCanvas(x),A=this.ctx=b.getContext("2d",{willReadFrequently:!0});A.font=`${k} ${y} ${d}px ${o}`,A.textBaseline="alphabetic",A.textAlign="left",A.fillStyle="black",this.gridOuter=new Float64Array(x*x),this.gridInner=new Float64Array(x*x),this.f=new Float64Array(x),this.z=new Float64Array(x+1),this.v=new Uint16Array(x)}_createCanvas(d){const e=document.createElement("canvas");return e.width=e.height=d,e}draw(d){const{width:e,actualBoundingBoxAscent:n,actualBoundingBoxDescent:c,actualBoundingBoxLeft:o,actualBoundingBoxRight:y}=this.ctx.measureText(d),k=Math.ceil(n),x=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(y-o))),b=Math.min(this.size-this.buffer,k+Math.ceil(c)),A=x+2*this.buffer,F=b+2*this.buffer,C=Math.max(A*F,0),P=new Uint8ClampedArray(C),q={data:P,width:A,height:F,glyphWidth:x,glyphHeight:b,glyphTop:k,glyphLeft:0,glyphAdvance:e};if(x===0||b===0)return q;const{ctx:$,buffer:X,gridInner:K,gridOuter:Q}=this;$.clearRect(X,X,x,b),$.fillText(d,X,X+k);const ni=$.getImageData(X,X,x,b);Q.fill(We,0,C),K.fill(0,0,C);for(let Z=0;Z0?wi*wi:0,K[yi]=wi<0?wi*wi:0}}Ye(Q,0,0,A,F,A,this.f,this.v,this.z),Ye(K,X,X,x,b,A,this.f,this.v,this.z);for(let Z=0;Z1&&(b=e[++x]);const F=Math.abs(A-b.left),C=Math.abs(A-b.right),P=Math.min(F,C);let q;const $=y/c*(o+1);if(b.isDash){const X=o-Math.abs($);q=Math.sqrt(P*P+X*X)}else q=o-Math.sqrt(P*P+$*$);this.data[k+A]=Math.max(0,Math.min(255,q+128))}}}addRegularDash(e){for(let x=e.length-1;x>=0;--x){const b=e[x],A=e[x+1];b.zeroLength?e.splice(x,1):A&&A.isDash===b.isDash&&(A.left=b.left,e.splice(x,1))}const n=e[0],c=e[e.length-1];n.isDash===c.isDash&&(n.left=c.left-this.width,c.right=n.right+this.width);const o=this.width*this.nextRow;let y=0,k=e[y];for(let x=0;x1&&(k=e[++y]);const b=Math.abs(x-k.left),A=Math.abs(x-k.right),F=Math.min(b,A);this.data[o+x]=Math.max(0,Math.min(255,(k.isDash?F:-F)+128))}}addDash(e,n){const c=n?7:0,o=2*c+1;if(this.nextRow+o>this.height)return r.w("LineAtlas out of space"),null;let y=0;for(let x=0;x{n.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[ta]}numActive(){return Object.keys(this.active).length}}const ke=Math.floor(V.hardwareConcurrency/2);let pt,nt;function It(){return pt||(pt=new oe),pt}oe.workerCount=r.C(globalThis)?Math.max(Math.min(ke,3),1):1;class ut{constructor(e,n){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=n;const c=this.workerPool.acquire(n);for(let o=0;o{n.remove()}),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,n){for(const c of this.actors)c.registerMessageHandler(e,n)}}function Ft(){return nt||(nt=new ut(It(),r.G),nt.registerMessageHandler("GR",(d,e,n)=>r.m(e,n))),nt}function Ut(d,e){const n=r.H();return r.J(n,n,[1,1,0]),r.K(n,n,[.5*d.width,.5*d.height,1]),r.L(n,n,d.calculatePosMatrix(e.toUnwrapped()))}function ba(d,e,n,c,o,y){const k=function(C,P,q){if(C)for(const $ of C){const X=P[$];if(X&&X.source===q&&X.type==="fill-extrusion")return!0}else for(const $ in P){const X=P[$];if(X.source===q&&X.type==="fill-extrusion")return!0}return!1}(o&&o.layers,e,d.id),x=y.maxPitchScaleFactor(),b=d.tilesIn(c,x,k);b.sort(nn);const A=[];for(const C of b)A.push({wrappedTileID:C.tileID.wrapped().key,queryResults:C.tile.queryRenderedFeatures(e,n,d._state,C.queryGeometry,C.cameraQueryGeometry,C.scale,o,y,x,Ut(d.transform,C.tileID))});const F=function(C){const P={},q={};for(const $ of C){const X=$.queryResults,K=$.wrappedTileID,Q=q[K]=q[K]||{};for(const ni in X){const Z=X[ni],si=Q[ni]=Q[ni]||{},di=P[ni]=P[ni]||[];for(const yi of Z)si[yi.featureIndex]||(si[yi.featureIndex]=!0,di.push(yi))}}return P}(A);for(const C in F)F[C].forEach(P=>{const q=P.feature,$=d.getFeatureState(q.layer["source-layer"],q.id);q.source=q.layer.source,q.layer["source-layer"]&&(q.sourceLayer=q.layer["source-layer"]),q.state=$});return F}function nn(d,e){const n=d.tileID,c=e.tileID;return n.overscaledZ-c.overscaledZ||n.canonical.y-c.canonical.y||n.wrap-c.wrap||n.canonical.x-c.canonical.x}function Dt(d,e,n){return r._(this,void 0,void 0,function*(){let c=d;if(d.url?c=(yield r.h(e.transformRequest(d.url,"Source"),n)).data:yield V.frameAsync(n),!c)return null;const o=r.M(r.e(c,d),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in c&&c.vector_layers&&(o.vectorLayerIds=c.vector_layers.map(y=>y.id)),o})}class gi{constructor(e,n){e&&(n?this.setSouthWest(e).setNorthEast(n):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof r.N?new r.N(e.lng,e.lat):r.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof r.N?new r.N(e.lng,e.lat):r.N.convert(e),this}extend(e){const n=this._sw,c=this._ne;let o,y;if(e instanceof r.N)o=e,y=e;else{if(!(e instanceof gi))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(gi.convert(e)):this.extend(r.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(r.N.convert(e)):this;if(o=e._sw,y=e._ne,!o||!y)return this}return n||c?(n.lng=Math.min(o.lng,n.lng),n.lat=Math.min(o.lat,n.lat),c.lng=Math.max(y.lng,c.lng),c.lat=Math.max(y.lat,c.lat)):(this._sw=new r.N(o.lng,o.lat),this._ne=new r.N(y.lng,y.lat)),this}getCenter(){return new r.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new r.N(this.getWest(),this.getNorth())}getSouthEast(){return new r.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:n,lat:c}=r.N.convert(e);let o=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(o=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=c&&c<=this._ne.lat&&o}static convert(e){return e instanceof gi?e:e&&new gi(e)}static fromLngLat(e,n=0){const c=360*n/40075017,o=c/Math.cos(Math.PI/180*e.lat);return new gi(new r.N(e.lng-o,e.lat-c),new r.N(e.lng+o,e.lat+c))}}class va{constructor(e,n,c){this.bounds=gi.convert(this.validateBounds(e)),this.minzoom=n||0,this.maxzoom=c||24}validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){const n=Math.pow(2,e.z),c=Math.floor(r.O(this.bounds.getWest())*n),o=Math.floor(r.Q(this.bounds.getNorth())*n),y=Math.ceil(r.O(this.bounds.getEast())*n),k=Math.ceil(r.Q(this.bounds.getSouth())*n);return e.x>=c&&e.x=o&&e.y{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return r.e({},this._options)}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),c={request:this.map._requestManager.transformRequest(n,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};c.request.collectResourceTiming=this._collectResourceTiming;let o="RT";if(e.actor&&e.state!=="expired"){if(e.state==="loading")return new Promise((y,k)=>{e.reloadPromise={resolve:y,reject:k}})}else e.actor=this.dispatcher.getActor(),o="LT";e.abortController=new AbortController;try{const y=yield e.actor.sendAsync({type:o,data:c},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,y)}catch(y){if(delete e.abortController,e.aborted)return;if(y&&y.status!==404)throw y;this._afterTileLoadWorkerResponse(e,null)}})}_afterTileLoadWorkerResponse(e,n){if(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),n&&this.map._refreshExpiredTiles&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),e.reloadPromise){const c=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(c.resolve).catch(c.reject)}}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class He extends r.E{constructor(e,n,c,o){super(),this.id=e,this.dispatcher=c,this.setEventedParent(o),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=r.e({type:"raster"},n),r.e(this,r.M(n,["url","scheme","tileSize"]))}load(){return r._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new r.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const e=yield Dt(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(r.e(this,e),e.bounds&&(this.tileBounds=new va(e.bounds,this.minzoom,this.maxzoom)),this.fire(new r.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new r.k("data",{dataType:"source",sourceDataType:"content"})))}catch(e){this._tileJSONRequest=null,this.fire(new r.j(e))}})}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty(()=>{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return r.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{const c=yield Ei.getImage(this.map._requestManager.transformRequest(n,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(c&&c.data){this.map._refreshExpiredTiles&&c.cacheControl&&c.expires&&e.setExpiryData({cacheControl:c.cacheControl,expires:c.expires});const o=this.map.painter.context,y=o.gl,k=c.data;e.texture=this.map.painter.getTileTexture(k.width),e.texture?e.texture.update(k,{useMipmap:!0}):(e.texture=new we(o,k,y.RGBA,{useMipmap:!0}),e.texture.bind(y.LINEAR,y.CLAMP_TO_EDGE,y.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&y.texParameterf(y.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded"}}catch(c){if(delete e.abortController,e.aborted)e.state="unloaded";else if(c)throw e.state="errored",c}})}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)})}hasTransition(){return!1}}class Qe extends He{constructor(e,n,c,o){super(e,n,c,o),this.type="raster-dem",this.maxzoom=22,this._options=r.e({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox",this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),c=this.map._requestManager.transformRequest(n,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{const o=yield Ei.getImage(c,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(o&&o.data){const y=o.data;this.map._refreshExpiredTiles&&o.cacheControl&&o.expires&&e.setExpiryData({cacheControl:o.cacheControl,expires:o.expires});const k=r.b(y)&&r.U()?y:yield this.readImageNow(y),x={type:this.type,uid:e.uid,source:this.id,rawImageData:k,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||e.state==="expired"){e.actor=this.dispatcher.getActor();const b=yield e.actor.sendAsync({type:"LDT",data:x});e.dem=b,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(o){if(delete e.abortController,e.aborted)e.state="unloaded";else if(o)throw e.state="errored",o}})}readImageNow(e){return r._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&r.V()){const n=e.width+2,c=e.height+2;try{return new r.R({width:n,height:c},yield r.W(e,-1,-1,n,c))}catch{}}return V.getImageData(e,1)})}_getNeighboringTiles(e){const n=e.canonical,c=Math.pow(2,n.z),o=(n.x-1+c)%c,y=n.x===0?e.wrap-1:e.wrap,k=(n.x+1+c)%c,x=n.x+1===c?e.wrap+1:e.wrap,b={};return b[new r.S(e.overscaledZ,y,n.z,o,n.y).key]={backfilled:!1},b[new r.S(e.overscaledZ,x,n.z,k,n.y).key]={backfilled:!1},n.y>0&&(b[new r.S(e.overscaledZ,y,n.z,o,n.y-1).key]={backfilled:!1},b[new r.S(e.overscaledZ,e.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},b[new r.S(e.overscaledZ,x,n.z,k,n.y-1).key]={backfilled:!1}),n.y+10&&r.e(y,{resourceTiming:o}),this.fire(new r.k("data",Object.assign(Object.assign({},y),{sourceDataType:"metadata"}))),this.fire(new r.k("data",Object.assign(Object.assign({},y),{sourceDataType:"content"})))}catch(c){if(this._pendingLoads--,this._removed)return void this.fire(new r.k("dataabort",{dataType:"source"}));this.fire(new r.j(c))}})}loaded(){return this._pendingLoads===0}loadTile(e){return r._(this,void 0,void 0,function*(){const n=e.actor?"RT":"LT";e.actor=this.actor;const c={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;const o=yield this.actor.sendAsync({type:n,data:c},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(o,this.map.painter,n==="RT")})}abortTile(e){return r._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0})}unloadTile(e){return r._(this,void 0,void 0,function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return r.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var he=r.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Fe extends r.E{constructor(e,n,c,o){super(),this.id=e,this.dispatcher=c,this.coordinates=n.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=n}load(e){return r._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new r.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const n=yield Ei.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,n&&n.data&&(this.image=n.data,e&&(this.coordinates=e),this._finishLoading())}catch(n){this._request=null,this._loaded=!0,this.fire(new r.j(n))}})}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new r.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;const n=e.map(r.Z.fromLngLat);this.tileID=function(o){let y=1/0,k=1/0,x=-1/0,b=-1/0;for(const P of o)y=Math.min(y,P.x),k=Math.min(k,P.y),x=Math.max(x,P.x),b=Math.max(b,P.y);const A=Math.max(x-y,b-k),F=Math.max(0,Math.floor(-Math.log(A)/Math.LN2)),C=Math.pow(2,F);return new r.a1(F,Math.floor((y+x)/2*C),Math.floor((k+b)/2*C))}(n),this.minzoom=this.maxzoom=this.tileID.z;const c=n.map(o=>this.tileID.getTilePoint(o)._round());return this._boundsArray=new r.$,this._boundsArray.emplaceBack(c[0].x,c[0].y,0,0),this._boundsArray.emplaceBack(c[1].x,c[1].y,r.X,0),this._boundsArray.emplaceBack(c[3].x,c[3].y,0,r.X),this._boundsArray.emplaceBack(c[2].x,c[2].y,r.X,r.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new r.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;const e=this.map.painter.context,n=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,he.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new we(e,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let c=!1;for(const o in this.tiles){const y=this.tiles[o];y.state!=="loaded"&&(y.state="loaded",y.texture=this.texture,c=!0)}c&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return r._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class za extends Fe{constructor(e,n,c,o){super(e,n,c,o),this.roundZoom=!0,this.type="video",this.options=n}load(){return r._(this,void 0,void 0,function*(){this._loaded=!1;const e=this.options;this.urls=[];for(const n of e.urls)this.urls.push(this.map._requestManager.transformRequest(n,"Source").url);try{const n=yield r.a3(this.urls);if(this._loaded=!0,!n)return;this.video=n,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(n){this.fire(new r.j(n))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const n=this.video.seekable;en.end(0)?this.fire(new r.j(new r.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const e=this.map.painter.context,n=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,he.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new we(e,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let c=!1;for(const o in this.tiles){const y=this.tiles[o];y.state!=="loaded"&&(y.state="loaded",y.texture=this.texture,c=!0)}c&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Xt extends Fe{constructor(e,n,c,o){super(e,n,c,o),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some(y=>!Array.isArray(y)||y.length!==2||y.some(k=>typeof k!="number"))||this.fire(new r.j(new r.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new r.j(new r.a2(`sources.${e}`,null,'missing required property "coordinates"'))),n.animate&&typeof n.animate!="boolean"&&this.fire(new r.j(new r.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),n.canvas?typeof n.canvas=="string"||n.canvas instanceof HTMLCanvasElement||this.fire(new r.j(new r.a2(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new r.j(new r.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return r._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new r.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const n=this.map.painter.context,c=n.gl;this.boundsBuffer||(this.boundsBuffer=n.createVertexBuffer(this._boundsArray,he.members)),this.boundsSegments||(this.boundsSegments=r.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new we(n,this.canvas,c.RGBA,{premultiply:!0});let o=!1;for(const y in this.tiles){const k=this.tiles[y];k.state!=="loaded"&&(k.state="loaded",k.texture=this.texture,o=!0)}o&&this.fire(new r.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}const Ya={},aa=d=>{switch(d){case"geojson":return Gn;case"image":return Fe;case"raster":return He;case"raster-dem":return Qe;case"vector":return Nn;case"video":return za;case"canvas":return Xt}return Ya[d]},bi="RTLPluginLoaded";class Mt extends r.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=Ft()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch(n=>{throw this.status="error",n})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return r._(this,arguments,void 0,function*(n,c=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=V.resolveURL(n),!this.url)throw new Error(`requested url ${n} is invalid`);if(this.status==="unavailable"){if(!c)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return r._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new r.k(bi))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let zt=null;function Ea(){return zt||(zt=new Mt),zt}class ln{constructor(e,n){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=r.a4(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const n=e+this.timeAdded;ny.getLayer(A)).filter(Boolean);if(b.length!==0){x.layers=b,x.stateDependentLayerIds&&(x.stateDependentLayers=x.stateDependentLayerIds.map(A=>b.filter(F=>F.id===A)[0]));for(const A of b)k[A.id]=x}}return k}(e.buckets,n.style),this.hasSymbolBuckets=!1;for(const o in this.buckets){const y=this.buckets[o];if(y instanceof r.a6){if(this.hasSymbolBuckets=!0,!c)break;y.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const o in this.buckets){const y=this.buckets[o];if(y instanceof r.a6&&y.hasRTLText){this.hasRTLText=!0,Ea().lazyLoad();break}}this.queryPadding=0;for(const o in this.buckets){const y=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(o).queryRadius(y))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new r.a5}unloadVectorData(){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(e){return this.buckets[e.id]}upload(e){for(const c in this.buckets){const o=this.buckets[c];o.uploadPending()&&o.upload(e)}const n=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new we(e,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new we(e,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,n,c,o,y,k,x,b,A,F){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:o,cameraQueryGeometry:y,scale:k,tileSize:this.tileSize,pixelPosMatrix:F,transform:b,params:x,queryPadding:this.queryPadding*A},e,n,c):{}}querySourceFeatures(e,n){const c=this.latestFeatureIndex;if(!c||!c.rawTileData)return;const o=c.loadVTLayers(),y=n&&n.sourceLayer?n.sourceLayer:"",k=o._geojsonTileLayer||o[y];if(!k)return;const x=r.a7(n&&n.filter),{z:b,x:A,y:F}=this.tileID.canonical,C={z:b,x:A,y:F};for(let P=0;Pc)o=!1;else if(n)if(this.expirationTime{this.remove(e,y)},c)),this.data[o].push(y),this.order.push(o),this.order.length>this.max){const k=this._getAndRemoveByKey(this.order[0]);k&&this.onRemove(k)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){const n=this.data[e].shift();return n.timeout&&clearTimeout(n.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),n.value}getByKey(e){const n=this.data[e];return n?n[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,n){if(!this.has(e))return this;const c=e.wrapped().key,o=n===void 0?0:this.data[c].indexOf(n),y=this.data[c][o];return this.data[c].splice(o,1),y.timeout&&clearTimeout(y.timeout),this.data[c].length===0&&delete this.data[c],this.onRemove(y.value),this.order.splice(this.order.indexOf(c),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n)}return this}filter(e){const n=[];for(const c in this.data)for(const o of this.data[c])e(o.value)||n.push(o);for(const c of n)this.remove(c.value.tileID,c)}}class je{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,n,c){const o=String(n);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][o]=this.stateChanges[e][o]||{},r.e(this.stateChanges[e][o],c),this.deletedStates[e]===null){this.deletedStates[e]={};for(const y in this.state[e])y!==o&&(this.deletedStates[e][y]=null)}else if(this.deletedStates[e]&&this.deletedStates[e][o]===null){this.deletedStates[e][o]={};for(const y in this.state[e][o])c[y]||(this.deletedStates[e][o][y]=null)}else for(const y in c)this.deletedStates[e]&&this.deletedStates[e][o]&&this.deletedStates[e][o][y]===null&&delete this.deletedStates[e][o][y]}removeFeatureState(e,n,c){if(this.deletedStates[e]===null)return;const o=String(n);if(this.deletedStates[e]=this.deletedStates[e]||{},c&&n!==void 0)this.deletedStates[e][o]!==null&&(this.deletedStates[e][o]=this.deletedStates[e][o]||{},this.deletedStates[e][o][c]=null);else if(n!==void 0)if(this.stateChanges[e]&&this.stateChanges[e][o])for(c in this.deletedStates[e][o]={},this.stateChanges[e][o])this.deletedStates[e][o][c]=null;else this.deletedStates[e][o]=null;else this.deletedStates[e]=null}getState(e,n){const c=String(n),o=r.e({},(this.state[e]||{})[c],(this.stateChanges[e]||{})[c]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){const y=this.deletedStates[e][n];if(y===null)return{};for(const k in y)delete o[k]}return o}initializeTileState(e,n){e.setFeatureState(this.state,n)}coalesceChanges(e,n){const c={};for(const o in this.stateChanges){this.state[o]=this.state[o]||{};const y={};for(const k in this.stateChanges[o])this.state[o][k]||(this.state[o][k]={}),r.e(this.state[o][k],this.stateChanges[o][k]),y[k]=this.state[o][k];c[o]=y}for(const o in this.deletedStates){this.state[o]=this.state[o]||{};const y={};if(this.deletedStates[o]===null)for(const k in this.state[o])y[k]={},this.state[o][k]={};else for(const k in this.deletedStates[o]){if(this.deletedStates[o][k]===null)this.state[o][k]={};else for(const x of Object.keys(this.deletedStates[o][k]))delete this.state[o][k][x];y[k]=this.state[o][k]}c[o]=c[o]||{},r.e(c[o],y)}if(this.stateChanges={},this.deletedStates={},Object.keys(c).length!==0)for(const o in e)e[o].setFeatureState(c,n)}}class ue extends r.E{constructor(e,n,c){super(),this.id=e,this.dispatcher=c,this.on("data",o=>this._dataHandler(o)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((o,y,k,x)=>{const b=new(aa(y.type))(o,y,k,x);if(b.id!==o)throw new Error(`Expected Source id to be ${o} instead of ${b.id}`);return b})(e,n,c,this),this._tiles={},this._cache=new Fi(0,o=>this._unloadTile(o)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new je,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const e in this._tiles){const n=this._tiles[e];if(n.state!=="loaded"&&n.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,n,c){return r._(this,void 0,void 0,function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,n,c)}catch(o){e.state="errored",o.status!==404?this._source.fire(new r.j(o,{tile:e})):this.update(this.transform,this.terrain)}})}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new r.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const n in this._tiles){const c=this._tiles[n];c.upload(e),c.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(e=>e.tileID).sort(Fa).map(e=>e.key)}getRenderableIds(e){const n=[];for(const c in this._tiles)this._isIdRenderable(c,e)&&n.push(this._tiles[c]);return e?n.sort((c,o)=>{const y=c.tileID,k=o.tileID,x=new r.P(y.canonical.x,y.canonical.y)._rotate(this.transform.angle),b=new r.P(k.canonical.x,k.canonical.y)._rotate(this.transform.angle);return y.overscaledZ-k.overscaledZ||b.y-x.y||b.x-x.x}).map(c=>c.tileID.key):n.map(c=>c.tileID).sort(Fa).map(c=>c.key)}hasRenderableParent(e){const n=this.findLoadedParent(e,0);return!!n&&this._isIdRenderable(n.tileID.key)}_isIdRenderable(e,n){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(n||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)this._tiles[e].state!=="errored"&&this._reloadTile(e,"reloading")}}_reloadTile(e,n){return r._(this,void 0,void 0,function*(){const c=this._tiles[e];c&&(c.state!=="loading"&&(c.state=n),yield this._loadTile(c,e,n))})}_tileLoaded(e,n,c){e.timeAdded=V.now(),c==="expired"&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(n,e),this.getSource().type==="raster-dem"&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new r.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){const n=this.getRenderableIds();for(let o=0;o1||(Math.abs(k)>1&&(Math.abs(k+b)===1?k+=b:Math.abs(k-b)===1&&(k-=b)),y.dem&&o.dem&&(o.dem.backfillBorder(y.dem,k,x),o.neighboringTiles&&o.neighboringTiles[A]&&(o.neighboringTiles[A].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,n,c,o){for(const y in this._tiles){let k=this._tiles[y];if(o[y]||!k.hasData()||k.tileID.overscaledZ<=n||k.tileID.overscaledZ>c)continue;let x=k.tileID;for(;k&&k.tileID.overscaledZ>n+1;){const A=k.tileID.scaledTo(k.tileID.overscaledZ-1);k=this._tiles[A.key],k&&k.hasData()&&(x=A)}let b=x;for(;b.overscaledZ>n;)if(b=b.scaledTo(b.overscaledZ-1),e[b.key]){o[x.key]=x;break}}}findLoadedParent(e,n){if(e.key in this._loadedParentTiles){const c=this._loadedParentTiles[e.key];return c&&c.tileID.overscaledZ>=n?c:null}for(let c=e.overscaledZ-1;c>=n;c--){const o=e.scaledTo(c),y=this._getLoadedTile(o);if(y)return y}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){const n=this._tiles[e.key];return n&&n.hasData()?n:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){const n=Math.ceil(e.width/this._source.tileSize)+1,c=Math.ceil(e.height/this._source.tileSize)+1,o=Math.floor(n*c*(this._maxTileCacheZoomLevels===null?r.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),y=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(y)}handleWrapJump(e){const n=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);if(this._prevLng=e,n){const c={};for(const o in this._tiles){const y=this._tiles[o];y.tileID=y.tileID.unwrapTo(y.tileID.wrap+n),c[y.tileID.key]=y}this._tiles=c;for(const o in this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(const o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}}_updateCoveredAndRetainedTiles(e,n,c,o,y,k){const x={},b={},A=Object.keys(e),F=V.now();for(const C of A){const P=e[C],q=this._tiles[C];if(!q||q.fadeEndTime!==0&&q.fadeEndTime<=F)continue;const $=this.findLoadedParent(P,n),X=this.findLoadedSibling(P),K=$||X||null;K&&(this._addTile(K.tileID),x[K.tileID.key]=K.tileID),b[C]=P}this._retainLoadedChildren(b,o,c,e);for(const C in x)e[C]||(this._coveredTiles[C]=!0,e[C]=x[C]);if(k){const C={},P={};for(const q of y)this._tiles[q.key].hasData()?C[q.key]=q:P[q.key]=q;for(const q in P){const $=P[q].children(this._source.maxzoom);this._tiles[$[0].key]&&this._tiles[$[1].key]&&this._tiles[$[2].key]&&this._tiles[$[3].key]&&(C[$[0].key]=e[$[0].key]=$[0],C[$[1].key]=e[$[1].key]=$[1],C[$[2].key]=e[$[2].key]=$[2],C[$[3].key]=e[$[3].key]=$[3],delete P[q])}for(const q in P){const $=P[q],X=this.findLoadedParent($,this._source.minzoom),K=this.findLoadedSibling($),Q=X||K||null;if(Q){C[Q.tileID.key]=e[Q.tileID.key]=Q.tileID;for(const ni in C)C[ni].isChildOf(Q.tileID)&&delete C[ni]}}for(const q in this._tiles)C[q]||(this._coveredTiles[q]=!0)}}update(e,n){if(!this._sourceLoaded||this._paused)return;let c;this.transform=e,this.terrain=n,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?c=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(F=>new r.S(F.canonical.z,F.wrap,F.canonical.z,F.canonical.x,F.canonical.y)):(c=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n}),this._source.hasTile&&(c=c.filter(F=>this._source.hasTile(F)))):c=[];const o=e.coveringZoomLevel(this._source),y=Math.max(o-ue.maxOverzooming,this._source.minzoom),k=Math.max(o+ue.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const F={};for(const C of c)if(C.canonical.z>this._source.minzoom){const P=C.scaledTo(C.canonical.z-1);F[P.key]=P;const q=C.scaledTo(Math.max(this._source.minzoom,Math.min(C.canonical.z,5)));F[q.key]=q}c=c.concat(Object.values(F))}const x=c.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,x&&this.fire(new r.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const b=this._updateRetainedTiles(c,o);cn(this._source.type)&&this._updateCoveredAndRetainedTiles(b,y,k,o,c,n);for(const F in b)this._tiles[F].clearFadeHold();const A=r.ac(this._tiles,b);for(const F of A){const C=this._tiles[F];C.hasSymbolBuckets&&!C.holdingForFade()?C.setHoldDuration(this.map._fadeDuration):C.hasSymbolBuckets&&!C.symbolFadeFinished()||this._removeTile(F)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,n){var c;const o={},y={},k=Math.max(n-ue.maxOverzooming,this._source.minzoom),x=Math.max(n+ue.maxUnderzooming,this._source.minzoom),b={};for(const A of e){const F=this._addTile(A);o[A.key]=A,F.hasData()||nthis._source.maxzoom){const P=A.children(this._source.maxzoom)[0],q=this.getTile(P);if(q&&q.hasData()){o[P.key]=P;continue}}else{const P=A.children(this._source.maxzoom);if(o[P[0].key]&&o[P[1].key]&&o[P[2].key]&&o[P[3].key])continue}let C=F.wasRequested();for(let P=A.overscaledZ-1;P>=k;--P){const q=A.scaledTo(P);if(y[q.key])break;if(y[q.key]=!0,F=this.getTile(q),!F&&C&&(F=this._addTile(q)),F){const $=F.hasData();if(($||!(!((c=this.map)===null||c===void 0)&&c.cancelPendingTileRequestsWhileZooming)||C)&&(o[q.key]=q),C=F.wasRequested(),$)break}}}return o}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const n=[];let c,o=this._tiles[e].tileID;for(;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){c=this._loadedParentTiles[o.key];break}n.push(o.key);const y=o.scaledTo(o.overscaledZ-1);if(c=this._getLoadedTile(y),c)break;o=y}for(const y of n)this._loadedParentTiles[y]=c}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const e in this._tiles){const n=this._tiles[e].tileID,c=this._getLoadedTile(n);this._loadedSiblingTiles[n.key]=c}}_addTile(e){let n=this._tiles[e.key];if(n)return n;n=this._cache.getAndRemove(e),n&&(this._setTileReloadTimer(e.key,n),n.tileID=e,this._state.initializeTileState(n,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,n)));const c=n;return n||(n=new ln(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(n,e.key,n.state)),n.uses++,this._tiles[e.key]=n,c||this._source.fire(new r.k("dataloading",{tile:n,coord:n.tileID,dataType:"source"})),n}_setTileReloadTimer(e,n){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const c=n.getExpiryTimeout();c&&(this._timers[e]=setTimeout(()=>{this._reloadTile(e,"expired"),delete this._timers[e]},c))}_removeTile(e){const n=this._tiles[e];n&&(n.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),n.uses>0||(n.hasData()&&n.state!=="reloading"?this._cache.add(n.tileID,n,n.getExpiryTimeout()):(n.aborted=!0,this._abortTile(n),this._unloadTile(n))))}_dataHandler(e){const n=e.sourceDataType;e.dataType==="source"&&n==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&e.dataType==="source"&&n==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,n,c){const o=[],y=this.transform;if(!y)return o;const k=c?y.getCameraQueryGeometry(e):e,x=e.map($=>y.pointCoordinate($,this.terrain)),b=k.map($=>y.pointCoordinate($,this.terrain)),A=this.getIds();let F=1/0,C=1/0,P=-1/0,q=-1/0;for(const $ of b)F=Math.min(F,$.x),C=Math.min(C,$.y),P=Math.max(P,$.x),q=Math.max(q,$.y);for(let $=0;$=0&&Z[1].y+ni>=0){const si=x.map(yi=>K.getTilePoint(yi)),di=b.map(yi=>K.getTilePoint(yi));o.push({tile:X,tileID:K,queryGeometry:si,cameraQueryGeometry:di,scale:Q})}}return o}getVisibleCoordinates(e){const n=this.getRenderableIds(e).map(c=>this._tiles[c].tileID);for(const c of n)c.posMatrix=this.transform.calculatePosMatrix(c.toUnwrapped());return n}hasTransition(){if(this._source.hasTransition())return!0;if(cn(this._source.type)){const e=V.now();for(const n in this._tiles)if(this._tiles[n].fadeEndTime>=e)return!0}return!1}setFeatureState(e,n,c){this._state.updateState(e=e||"_geojsonTileLayer",n,c)}removeFeatureState(e,n,c){this._state.removeFeatureState(e=e||"_geojsonTileLayer",n,c)}getFeatureState(e,n){return this._state.getState(e=e||"_geojsonTileLayer",n)}setDependencies(e,n,c){const o=this._tiles[e];o&&o.setDependencies(n,c)}reloadTilesForDependencies(e,n){for(const c in this._tiles)this._tiles[c].hasDependency(e,n)&&this._reloadTile(c,"reloading");this._cache.filter(c=>!c.hasDependency(e,n))}}function Fa(d,e){const n=Math.abs(2*d.wrap)-+(d.wrap<0),c=Math.abs(2*e.wrap)-+(e.wrap<0);return d.overscaledZ-e.overscaledZ||c-n||e.canonical.y-d.canonical.y||e.canonical.x-d.canonical.x}function cn(d){return d==="raster"||d==="image"||d==="video"}ue.maxOverzooming=10,ue.maxUnderzooming=3;class _e{constructor(e,n){this.reset(e,n)}reset(e,n){this.points=e||[],this._distances=[0];for(let c=1;c0?(o-k)/x:0;return this.points[y].mult(1-b).add(this.points[n].mult(b))}}function gn(d,e){let n=!0;return d==="always"||d!=="never"&&e!=="never"||(n=!1),n}class An{constructor(e,n,c){const o=this.boxCells=[],y=this.circleCells=[];this.xCellCount=Math.ceil(e/c),this.yCellCount=Math.ceil(n/c);for(let k=0;kthis.width||o<0||n>this.height)return[];const b=[];if(e<=0&&n<=0&&this.width<=c&&this.height<=o){if(y)return[{key:null,x1:e,y1:n,x2:c,y2:o}];for(let A=0;A0}hitTestCircle(e,n,c,o,y){const k=e-c,x=e+c,b=n-c,A=n+c;if(x<0||k>this.width||A<0||b>this.height)return!1;const F=[];return this._forEachCell(k,b,x,A,this._queryCellCircle,F,{hitTest:!0,overlapMode:o,circle:{x:e,y:n,radius:c},seenUids:{box:{},circle:{}}},y),F.length>0}_queryCell(e,n,c,o,y,k,x,b){const{seenUids:A,hitTest:F,overlapMode:C}=x,P=this.boxCells[y];if(P!==null){const $=this.bboxes;for(const X of P)if(!A.box[X]){A.box[X]=!0;const K=4*X,Q=this.boxKeys[X];if(e<=$[K+2]&&n<=$[K+3]&&c>=$[K+0]&&o>=$[K+1]&&(!b||b(Q))&&(!F||!gn(C,Q.overlapMode))&&(k.push({key:Q,x1:$[K],y1:$[K+1],x2:$[K+2],y2:$[K+3]}),F))return!0}}const q=this.circleCells[y];if(q!==null){const $=this.circles;for(const X of q)if(!A.circle[X]){A.circle[X]=!0;const K=3*X,Q=this.circleKeys[X];if(this._circleAndRectCollide($[K],$[K+1],$[K+2],e,n,c,o)&&(!b||b(Q))&&(!F||!gn(C,Q.overlapMode))){const ni=$[K],Z=$[K+1],si=$[K+2];if(k.push({key:Q,x1:ni-si,y1:Z-si,x2:ni+si,y2:Z+si}),F)return!0}}}return!1}_queryCellCircle(e,n,c,o,y,k,x,b){const{circle:A,seenUids:F,overlapMode:C}=x,P=this.boxCells[y];if(P!==null){const $=this.bboxes;for(const X of P)if(!F.box[X]){F.box[X]=!0;const K=4*X,Q=this.boxKeys[X];if(this._circleAndRectCollide(A.x,A.y,A.radius,$[K+0],$[K+1],$[K+2],$[K+3])&&(!b||b(Q))&&!gn(C,Q.overlapMode))return k.push(!0),!0}}const q=this.circleCells[y];if(q!==null){const $=this.circles;for(const X of q)if(!F.circle[X]){F.circle[X]=!0;const K=3*X,Q=this.circleKeys[X];if(this._circlesCollide($[K],$[K+1],$[K+2],A.x,A.y,A.radius)&&(!b||b(Q))&&!gn(C,Q.overlapMode))return k.push(!0),!0}}}_forEachCell(e,n,c,o,y,k,x,b){const A=this._convertToXCellCoord(e),F=this._convertToYCellCoord(n),C=this._convertToXCellCoord(c),P=this._convertToYCellCoord(o);for(let q=A;q<=C;q++)for(let $=F;$<=P;$++)if(y.call(this,e,n,c,o,this.xCellCount*$+q,k,x,b))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,n,c,o,y,k){const x=o-e,b=y-n,A=c+k;return A*A>x*x+b*b}_circleAndRectCollide(e,n,c,o,y,k,x){const b=(k-o)/2,A=Math.abs(e-(o+b));if(A>b+c)return!1;const F=(x-y)/2,C=Math.abs(n-(y+F));if(C>F+c)return!1;if(A<=b||C<=F)return!0;const P=A-b,q=C-F;return P*P+q*q<=c*c}}function Pn(d,e,n,c,o){const y=r.H();return e?(r.K(y,y,[1/o,1/o,1]),n||r.ae(y,y,c.angle)):r.L(y,c.labelPlaneMatrix,d),y}function Sn(d,e,n,c,o){if(e){const y=r.af(d);return r.K(y,y,[o,o,1]),n||r.ae(y,y,-c.angle),y}return c.glCoordMatrix}function Y(d,e,n){let c;n?(c=[d.x,d.y,n(d.x,d.y),1],r.ag(c,c,e)):(c=[d.x,d.y,0,1],function(y,k,x){const b=k[0],A=k[1];y[0]=x[0]*b+x[4]*A+x[12],y[1]=x[1]*b+x[5]*A+x[13],y[3]=x[3]*b+x[7]*A+x[15]}(c,c,e));const o=c[3];return{point:new r.P(c[0]/o,c[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function D(d,e){return .5+d/e*.5}function R(d,e){return d.x>=-e[0]&&d.x<=e[0]&&d.y>=-e[1]&&d.y<=e[1]}function H(d,e,n,c,o,y,k,x,b,A,F,C,P,q,$){const X=c?d.textSizeData:d.iconSizeData,K=r.ah(X,n.transform.zoom),Q=[256/n.width*2+1,256/n.height*2+1],ni=c?d.text.dynamicLayoutVertexArray:d.icon.dynamicLayoutVertexArray;ni.clear();const Z=d.lineVertexArray,si=c?d.text.placedSymbolArray:d.icon.placedSymbolArray,di=n.transform.width/n.transform.height;let yi=!1;for(let wi=0;wiMath.abs(n.x-e.x)*c?{useVertical:!0}:(d===r.ai.vertical?e.yn.x)?{needsFlipping:!0}:null}function ci(d,e,n,c,o,y,k,x,b,A,F){const C=n/24,P=e.lineOffsetX*C,q=e.lineOffsetY*C;let $;if(e.numGlyphs>1){const X=e.glyphStartIndex+e.numGlyphs,K=e.lineStartIndex,Q=e.lineStartIndex+e.lineLength,ni=W(C,x,P,q,c,e,F,d);if(!ni)return{notEnoughRoom:!0};const Z=Y(ni.first.point,k,d.getElevation).point,si=Y(ni.last.point,k,d.getElevation).point;if(o&&!c){const di=li(e.writingMode,Z,si,A);if(di)return di}$=[ni.first];for(let di=e.glyphStartIndex+1;di0?Z.point:function(yi,wi,vi,Oi,Ui,Li){return ui(yi,wi,vi,1,Ui,Li)}(d.tileAnchorPoint,ni,K,0,y,d),di=li(e.writingMode,K,si,A);if(di)return di}const X=Ri(C*x.getoffsetX(e.glyphStartIndex),P,q,c,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,d,F);if(!X||d.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};$=[X]}for(const X of $)r.ak(b,X.point,X.angle);return{}}function ui(d,e,n,c,o,y){const k=d.add(d.sub(e)._unit()),x=o!==void 0?Y(k,o,y.getElevation).point:Si(k.x,k.y,y).point,b=n.sub(x);return n.add(b._mult(c/b.mag()))}function ei(d,e,n){const c=e.projectionCache;if(c.projections[d])return c.projections[d];const o=new r.P(e.lineVertexArray.getx(d),e.lineVertexArray.gety(d)),y=Si(o.x,o.y,e);if(y.signedDistanceFromCamera>0)return c.projections[d]=y.point,c.anyProjectionOccluded=c.anyProjectionOccluded||y.isOccluded,y.point;const k=d-n.direction;return function(x,b,A,F,C){return ui(x,b,A,F,void 0,C)}(n.distanceFromAnchor===0?e.tileAnchorPoint:new r.P(e.lineVertexArray.getx(k),e.lineVertexArray.gety(k)),o,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,e)}function Si(d,e,n){const c=d+n.translation[0],o=e+n.translation[1];let y;return!n.pitchWithMap&&n.projection.useSpecialProjectionForSymbols?(y=n.projection.projectTileCoordinates(c,o,n.unwrappedTileID,n.getElevation),y.point.x=(.5*y.point.x+.5)*n.width,y.point.y=(.5*-y.point.y+.5)*n.height):(y=Y(new r.P(c,o),n.labelPlaneMatrix,n.getElevation),y.isOccluded=!1),y}function _i(d,e,n){return d._unit()._perp()._mult(e*n)}function mi(d,e,n,c,o,y,k,x,b){if(x.projectionCache.offsets[d])return x.projectionCache.offsets[d];const A=n.add(e);if(d+b.direction=o)return x.projectionCache.offsets[d]=A,A;const F=ei(d+b.direction,x,b),C=_i(F.sub(n),k,b.direction),P=n.add(C),q=F.add(C);return x.projectionCache.offsets[d]=r.al(y,A,P,q)||A,x.projectionCache.offsets[d]}function Ri(d,e,n,c,o,y,k,x,b){const A=c?d-e:d+e;let F=A>0?1:-1,C=0;c&&(F*=-1,C=Math.PI),F<0&&(C+=Math.PI);let P,q=F>0?y+o:y+o+1;x.projectionCache.cachedAnchorPoint?P=x.projectionCache.cachedAnchorPoint:(P=Si(x.tileAnchorPoint.x,x.tileAnchorPoint.y,x).point,x.projectionCache.cachedAnchorPoint=P);let $,X,K=P,Q=P,ni=0,Z=0;const si=Math.abs(A),di=[];let yi;for(;ni+Z<=si;){if(q+=F,q=k)return null;ni+=Z,Q=K,X=$;const Oi={absOffsetX:si,direction:F,distanceFromAnchor:ni,previousVertex:Q};if(K=ei(q,x,Oi),n===0)di.push(Q),yi=K.sub(Q);else{let Ui;const Li=K.sub(Q);Ui=Li.mag()===0?_i(ei(q+F,x,Oi).sub(K),n,F):_i(Li,n,F),X||(X=Q.add(Ui)),$=mi(q,Ui,K,y,k,X,n,x,Oi),di.push(X),yi=$.sub(X)}Z=yi.mag()}const wi=yi._mult((si-ni)/Z)._add(X||Q),vi=C+Math.atan2(K.y-Q.y,K.x-Q.x);return di.push(wi),{point:wi,angle:b?vi:0,path:di}}const ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function re(d,e){for(let n=0;n=1;Ae--)qi.push(Se.path[Ae]);for(let Ae=1;AeRe.signedDistanceFromCamera<=0)?[]:Ae.map(Re=>Re.point)}let _t=[];if(qi.length>0){const Ae=qi[0].clone(),Re=qi[0].clone();for(let xt=1;xt=Li.x&&Re.x<=Ci.x&&Ae.y>=Li.y&&Re.y<=Ci.y?[qi]:Re.xCi.x||Re.yCi.y?[]:r.am([qi],Li.x,Li.y,Ci.x,Ci.y)}for(const Ae of _t){Yi.reset(Ae,.25*Ui);let Re=0;Re=Yi.length<=.5*Ui?1:Math.ceil(Yi.paddedLength/fe)+1;for(let xt=0;xtY(o,c,n.getElevation))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};const n=[];let c=1/0,o=1/0,y=-1/0,k=-1/0;for(const F of e){const C=new r.P(F.x+be,F.y+be);c=Math.min(c,C.x),o=Math.min(o,C.y),y=Math.max(y,C.x),k=Math.max(k,C.y),n.push(C)}const x=this.grid.query(c,o,y,k).concat(this.ignoredGrid.query(c,o,y,k)),b={},A={};for(const F of x){const C=F.key;if(b[C.bucketInstanceId]===void 0&&(b[C.bucketInstanceId]={}),b[C.bucketInstanceId][C.featureIndex])continue;const P=[new r.P(F.x1,F.y1),new r.P(F.x2,F.y1),new r.P(F.x2,F.y2),new r.P(F.x1,F.y2)];r.an(n,P)&&(b[C.bucketInstanceId][C.featureIndex]=!0,A[C.bucketInstanceId]===void 0&&(A[C.bucketInstanceId]=[]),A[C.bucketInstanceId].push(C.featureIndex))}return A}insertCollisionBox(e,n,c,o,y,k){(c?this.ignoredGrid:this.grid).insert({bucketInstanceId:o,featureIndex:y,collisionGroupID:k,overlapMode:n},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,n,c,o,y,k){const x=c?this.ignoredGrid:this.grid,b={bucketInstanceId:o,featureIndex:y,collisionGroupID:k,overlapMode:n};for(let A=0;A=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(e,n,c,o){return c>=0&&e=0&&nthis.projectAndGetPerspectiveRatio(c,Li.x,Li.y,o,A));Oi=Ui.some(Li=>!Li.isOccluded),vi=Ui.map(Li=>Li.point)}else Oi=!0;return{box:r.ap(vi),allPointsOccluded:!Oi}}}function xe(d,e,n){return e*(r.X/(d.tileSize*Math.pow(2,n-d.tileID.overscaledZ)))}class mt{constructor(e,n,c,o){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?n:-n))):o&&c?1:0,this.placed=c}isHidden(){return this.opacity===0&&!this.placed}}class Nt{constructor(e,n,c,o,y){this.text=new mt(e?e.text:null,n,c,y),this.icon=new mt(e?e.icon:null,n,o,y)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Kt{constructor(e,n,c){this.text=e,this.icon=n,this.skipFade=c}}class Ce{constructor(){this.invProjMatrix=r.H(),this.viewportMatrix=r.H(),this.circles=[]}}class et{constructor(e,n,c,o,y){this.bucketInstanceId=e,this.featureIndex=n,this.sourceLayerIndex=c,this.bucketIndex=o,this.tileID=y}}class Bt{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const n=++this.maxGroupID;this.collisionGroups[e]={ID:n,predicate:c=>c.collisionGroupID===n}}return this.collisionGroups[e]}}function Yt(d,e,n,c,o){const{horizontalAlign:y,verticalAlign:k}=r.av(d);return new r.P(-(y-.5)*e+c[0]*o,-(k-.5)*n+c[1]*o)}class ra{constructor(e,n,c,o,y,k){this.transform=e.clone(),this.terrain=c,this.collisionIndex=new Ue(this.transform,n),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=o,this.retainedQueryData={},this.collisionGroups=new Bt(y),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=k,k&&(k.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){const n=this.terrain;return n?(c,o)=>n.getElevation(e,c,o):null}getBucketParts(e,n,c,o){const y=c.getBucket(n),k=c.latestFeatureIndex;if(!y||!k||n.id!==y.layerIds[0])return;const x=c.collisionBoxArray,b=y.layers[0].layout,A=y.layers[0].paint,F=Math.pow(2,this.transform.zoom-c.tileID.overscaledZ),C=c.tileSize/r.X,P=c.tileID.toUnwrapped(),q=this.transform.calculatePosMatrix(P),$=b.get("text-pitch-alignment")==="map",X=b.get("text-rotation-alignment")==="map",K=xe(c,1,this.transform.zoom),Q=this.collisionIndex.mapProjection.translatePosition(this.transform,c,A.get("text-translate"),A.get("text-translate-anchor")),ni=this.collisionIndex.mapProjection.translatePosition(this.transform,c,A.get("icon-translate"),A.get("icon-translate-anchor")),Z=Pn(q,$,X,this.transform,K);let si=null;if($){const yi=Sn(q,$,X,this.transform,K);si=r.L([],this.transform.labelPlaneMatrix,yi)}this.retainedQueryData[y.bucketInstanceId]=new et(y.bucketInstanceId,k,y.sourceLayerIndex,y.index,c.tileID);const di={bucket:y,layout:b,translationText:Q,translationIcon:ni,posMatrix:q,unwrappedTileID:P,textLabelPlaneMatrix:Z,labelToScreenMatrix:si,scale:F,textPixelRatio:C,holdingForFade:c.holdingForFade(),collisionBoxArray:x,partiallyEvaluatedTextSize:r.ah(y.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(y.sourceID)};if(o)for(const yi of y.sortKeyRanges){const{sortKey:wi,symbolInstanceStart:vi,symbolInstanceEnd:Oi}=yi;e.push({sortKey:wi,symbolInstanceStart:vi,symbolInstanceEnd:Oi,parameters:di})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:y.symbolInstances.length,parameters:di})}attemptAnchorPlacement(e,n,c,o,y,k,x,b,A,F,C,P,q,$,X,K,Q,ni,Z){const si=r.ar[e.textAnchor],di=[e.textOffset0,e.textOffset1],yi=Yt(si,c,o,di,y),wi=this.collisionIndex.placeCollisionBox(n,P,b,A,F,x,k,K,C.predicate,Z,yi);if((!ni||this.collisionIndex.placeCollisionBox(ni,P,b,A,F,x,k,Q,C.predicate,Z,yi).placeable)&&wi.placeable){let vi;if(this.prevPlacement&&this.prevPlacement.variableOffsets[q.crossTileID]&&this.prevPlacement.placements[q.crossTileID]&&this.prevPlacement.placements[q.crossTileID].text&&(vi=this.prevPlacement.variableOffsets[q.crossTileID].anchor),q.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[q.crossTileID]={textOffset:di,width:c,height:o,anchor:si,textBoxScale:y,prevAnchor:vi},this.markUsedJustification($,si,q,X),$.allowVerticalPlacement&&(this.markUsedOrientation($,X,q),this.placedOrientations[q.crossTileID]=X),{shift:yi,placedGlyphBoxes:wi}}}placeLayerBucketPart(e,n,c){const{bucket:o,layout:y,translationText:k,translationIcon:x,posMatrix:b,unwrappedTileID:A,textLabelPlaneMatrix:F,labelToScreenMatrix:C,textPixelRatio:P,holdingForFade:q,collisionBoxArray:$,partiallyEvaluatedTextSize:X,collisionGroup:K}=e.parameters,Q=y.get("text-optional"),ni=y.get("icon-optional"),Z=r.as(y,"text-overlap","text-allow-overlap"),si=Z==="always",di=r.as(y,"icon-overlap","icon-allow-overlap"),yi=di==="always",wi=y.get("text-rotation-alignment")==="map",vi=y.get("text-pitch-alignment")==="map",Oi=y.get("icon-text-fit")!=="none",Ui=y.get("symbol-z-order")==="viewport-y",Li=si&&(yi||!o.hasIconData()||ni),Ci=yi&&(si||!o.hasTextData()||Q);!o.collisionArrays&&$&&o.deserializeCollisionBoxes($);const Yi=this._getTerrainElevationFunc(this.retainedQueryData[o.bucketInstanceId].tileID),Se=(Ni,qi,fe)=>{var _t,Ae;if(n[Ni.crossTileID])return;if(q)return void(this.placements[Ni.crossTileID]=new Kt(!1,!1,!1));let Re=!1,xt=!1,da=!0,rn=null,jt={box:null,placeable:!1,offscreen:null},Ra={box:null,placeable:!1,offscreen:null},La=null,ya=null,ma=null,pn=0,sl=0,Uc=0;qi.textFeatureIndex?pn=qi.textFeatureIndex:Ni.useRuntimeCollisionCircles&&(pn=Ni.featureIndex),qi.verticalTextFeatureIndex&&(sl=qi.verticalTextFeatureIndex);const bl=qi.textBox;if(bl){const sa=ha=>{let fa=r.ai.horizontal;if(o.allowVerticalPlacement&&!ha&&this.prevPlacement){const na=this.prevPlacement.placedOrientations[Ni.crossTileID];na&&(this.placedOrientations[Ni.crossTileID]=na,fa=na,this.markUsedOrientation(o,fa,Ni))}return fa},un=(ha,fa)=>{if(o.allowVerticalPlacement&&Ni.numVerticalGlyphVertices>0&&qi.verticalTextBox){for(const na of o.writingModes)if(na===r.ai.vertical?(jt=fa(),Ra=jt):jt=ha(),jt&&jt.placeable)break}else jt=ha()},On=Ni.textAnchorOffsetStartIndex,vl=Ni.textAnchorOffsetEndIndex;if(vl===On){const ha=(fa,na)=>{const Tt=this.collisionIndex.placeCollisionBox(fa,Z,P,b,A,vi,wi,k,K.predicate,Yi);return Tt&&Tt.placeable&&(this.markUsedOrientation(o,na,Ni),this.placedOrientations[Ni.crossTileID]=na),Tt};un(()=>ha(bl,r.ai.horizontal),()=>{const fa=qi.verticalTextBox;return o.allowVerticalPlacement&&Ni.numVerticalGlyphVertices>0&&fa?ha(fa,r.ai.vertical):{box:null,offscreen:null}}),sa(jt&&jt.placeable)}else{let ha=r.ar[(Ae=(_t=this.prevPlacement)===null||_t===void 0?void 0:_t.variableOffsets[Ni.crossTileID])===null||Ae===void 0?void 0:Ae.anchor];const fa=(Tt,Al,ro)=>{const Qt=Tt.x2-Tt.x1,kr=Tt.y2-Tt.y1,Jc=Ni.textBoxScale,Zc=Oi&&di==="never"?Al:null;let $n=null,_r=Z==="never"?1:2,po="never";ha&&_r++;for(let uo=0;uo<_r;uo++){for(let yo=On;yofa(bl,qi.iconBox,r.ai.horizontal),()=>{const Tt=qi.verticalTextBox;return o.allowVerticalPlacement&&(!jt||!jt.placeable)&&Ni.numVerticalGlyphVertices>0&&Tt?fa(Tt,qi.verticalIconBox,r.ai.vertical):{box:null,occluded:!0,offscreen:null}}),jt&&(Re=jt.placeable,da=jt.offscreen);const na=sa(jt&&jt.placeable);if(!Re&&this.prevPlacement){const Tt=this.prevPlacement.variableOffsets[Ni.crossTileID];Tt&&(this.variableOffsets[Ni.crossTileID]=Tt,this.markUsedJustification(o,Tt.anchor,Ni,na))}}}if(La=jt,Re=La&&La.placeable,da=La&&La.offscreen,Ni.useRuntimeCollisionCircles){const sa=o.text.placedSymbolArray.get(Ni.centerJustifiedTextSymbolIndex),un=r.aj(o.textSizeData,X,sa),On=y.get("text-padding");ya=this.collisionIndex.placeCollisionCircles(Z,sa,o.lineVertexArray,o.glyphOffsetArray,un,b,A,F,C,c,vi,K.predicate,Ni.collisionCircleDiameter,On,k,Yi),ya.circles.length&&ya.collisionDetected&&!c&&r.w("Collisions detected, but collision boxes are not shown"),Re=si||ya.circles.length>0&&!ya.collisionDetected,da=da&&ya.offscreen}if(qi.iconFeatureIndex&&(Uc=qi.iconFeatureIndex),qi.iconBox){const sa=un=>this.collisionIndex.placeCollisionBox(un,di,P,b,A,vi,wi,x,K.predicate,Yi,Oi&&rn?rn:void 0);Ra&&Ra.placeable&&qi.verticalIconBox?(ma=sa(qi.verticalIconBox),xt=ma.placeable):(ma=sa(qi.iconBox),xt=ma.placeable),da=da&&ma.offscreen}const ol=Q||Ni.numHorizontalGlyphVertices===0&&Ni.numVerticalGlyphVertices===0,Kc=ni||Ni.numIconVertices===0;ol||Kc?Kc?ol||(xt=xt&&Re):Re=xt&&Re:xt=Re=xt&ℜconst oo=xt&&ma.placeable;if(Re&&La.placeable&&this.collisionIndex.insertCollisionBox(La.box,Z,y.get("text-ignore-placement"),o.bucketInstanceId,Ra&&Ra.placeable&&sl?sl:pn,K.ID),oo&&this.collisionIndex.insertCollisionBox(ma.box,di,y.get("icon-ignore-placement"),o.bucketInstanceId,Uc,K.ID),ya&&Re&&this.collisionIndex.insertCollisionCircles(ya.circles,Z,y.get("text-ignore-placement"),o.bucketInstanceId,pn,K.ID),c&&this.storeCollisionData(o.bucketInstanceId,fe,qi,La,ma,ya),Ni.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(o.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ni.crossTileID]=new Kt(Re||Li,xt||Ci,da||o.justReloaded),n[Ni.crossTileID]=!0};if(Ui){if(e.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");const Ni=o.getSortedSymbolIndexes(this.transform.angle);for(let qi=Ni.length-1;qi>=0;--qi){const fe=Ni[qi];Se(o.symbolInstances.get(fe),o.collisionArrays[fe],fe)}}else for(let Ni=e.symbolInstanceStart;Ni=0&&(e.text.placedSymbolArray.get(x).crossTileID=y>=0&&x!==y?0:c.crossTileID)}markUsedOrientation(e,n,c){const o=n===r.ai.horizontal||n===r.ai.horizontalOnly?n:0,y=n===r.ai.vertical?n:0,k=[c.leftJustifiedTextSymbolIndex,c.centerJustifiedTextSymbolIndex,c.rightJustifiedTextSymbolIndex];for(const x of k)e.text.placedSymbolArray.get(x).placedOrientation=o;c.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(c.verticalPlacedTextSymbolIndex).placedOrientation=y)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const n=this.prevPlacement;let c=!1;this.prevZoomAdjustment=n?n.zoomAdjustment(this.transform.zoom):0;const o=n?n.symbolFadeChange(e):1,y=n?n.opacities:{},k=n?n.variableOffsets:{},x=n?n.placedOrientations:{};for(const b in this.placements){const A=this.placements[b],F=y[b];F?(this.opacities[b]=new Nt(F,o,A.text,A.icon),c=c||A.text!==F.text.placed||A.icon!==F.icon.placed):(this.opacities[b]=new Nt(null,o,A.text,A.icon,A.skipFade),c=c||A.text||A.icon)}for(const b in y){const A=y[b];if(!this.opacities[b]){const F=new Nt(A,o,!1,!1);F.isHidden()||(this.opacities[b]=F,c=c||A.text.placed||A.icon.placed)}}for(const b in k)this.variableOffsets[b]||!this.opacities[b]||this.opacities[b].isHidden()||(this.variableOffsets[b]=k[b]);for(const b in x)this.placedOrientations[b]||!this.opacities[b]||this.opacities[b].isHidden()||(this.placedOrientations[b]=x[b]);if(n&&n.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");c?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=n?n.lastPlacementChangeTime:e)}updateLayerOpacities(e,n){const c={};for(const o of n){const y=o.getBucket(e);y&&o.latestFeatureIndex&&e.id===y.layerIds[0]&&this.updateBucketOpacities(y,o.tileID,c,o.collisionBoxArray)}}updateBucketOpacities(e,n,c,o){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const y=e.layers[0],k=y.layout,x=new Nt(null,0,!1,!1,!0),b=k.get("text-allow-overlap"),A=k.get("icon-allow-overlap"),F=y._unevaluatedLayout.hasValue("text-variable-anchor")||y._unevaluatedLayout.hasValue("text-variable-anchor-offset"),C=k.get("text-rotation-alignment")==="map",P=k.get("text-pitch-alignment")==="map",q=k.get("icon-text-fit")!=="none",$=new Nt(null,0,b&&(A||!e.hasIconData()||k.get("icon-optional")),A&&(b||!e.hasTextData()||k.get("text-optional")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);const X=(Q,ni,Z)=>{for(let si=0;si0,vi=this.placedOrientations[ni.crossTileID],Oi=vi===r.ai.vertical,Ui=vi===r.ai.horizontal||vi===r.ai.horizontalOnly;if(Z>0||si>0){const Ci=Va(yi.text);X(e.text,Z,Oi?ua:Ci),X(e.text,si,Ui?ua:Ci);const Yi=yi.text.isHidden();[ni.rightJustifiedTextSymbolIndex,ni.centerJustifiedTextSymbolIndex,ni.leftJustifiedTextSymbolIndex].forEach(qi=>{qi>=0&&(e.text.placedSymbolArray.get(qi).hidden=Yi||Oi?1:0)}),ni.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(ni.verticalPlacedTextSymbolIndex).hidden=Yi||Ui?1:0);const Se=this.variableOffsets[ni.crossTileID];Se&&this.markUsedJustification(e,Se.anchor,ni,vi);const Ni=this.placedOrientations[ni.crossTileID];Ni&&(this.markUsedJustification(e,"left",ni,Ni),this.markUsedOrientation(e,Ni,ni))}if(wi){const Ci=Va(yi.icon),Yi=!(q&&ni.verticalPlacedIconSymbolIndex&&Oi);ni.placedIconSymbolIndex>=0&&(X(e.icon,ni.numIconVertices,Yi?Ci:ua),e.icon.placedSymbolArray.get(ni.placedIconSymbolIndex).hidden=yi.icon.isHidden()),ni.verticalPlacedIconSymbolIndex>=0&&(X(e.icon,ni.numVerticalIconVertices,Yi?ua:Ci),e.icon.placedSymbolArray.get(ni.verticalPlacedIconSymbolIndex).hidden=yi.icon.isHidden())}const Li=K&&K.has(Q)?K.get(Q):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const Ci=e.collisionArrays[Q];if(Ci){let Yi=new r.P(0,0);if(Ci.textBox||Ci.verticalTextBox){let Se=!0;if(F){const Ni=this.variableOffsets[di];Ni?(Yi=Yt(Ni.anchor,Ni.width,Ni.height,Ni.textOffset,Ni.textBoxScale),C&&Yi._rotate(P?this.transform.angle:-this.transform.angle)):Se=!1}if(Ci.textBox||Ci.verticalTextBox){let Ni;Ci.textBox&&(Ni=Oi),Ci.verticalTextBox&&(Ni=Ui),pa(e.textCollisionBox.collisionVertexArray,yi.text.placed,!Se||Ni,Li.text,Yi.x,Yi.y)}}if(Ci.iconBox||Ci.verticalIconBox){const Se=!!(!Ui&&Ci.verticalIconBox);let Ni;Ci.iconBox&&(Ni=Se),Ci.verticalIconBox&&(Ni=!Se),pa(e.iconCollisionBox.collisionVertexArray,yi.icon.placed,Ni,Li.icon,q?Yi.x:0,q?Yi.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const Q=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=Q.invProjMatrix,e.placementViewportMatrix=Q.viewportMatrix,e.collisionCircleArray=Q.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function pa(d,e,n,c,o,y){c&&c.length!==0||(c=[0,0,0,0]);const k=c[0]-be,x=c[1]-be,b=c[2]-be,A=c[3]-be;d.emplaceBack(e?1:0,n?1:0,o||0,y||0,k,x),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,b,x),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,b,A),d.emplaceBack(e?1:0,n?1:0,o||0,y||0,k,A)}const Ml=Math.pow(2,25),tt=Math.pow(2,24),hs=Math.pow(2,17),fs=Math.pow(2,16),qa=Math.pow(2,9),Ha=Math.pow(2,8),t0=Math.pow(2,1);function Va(d){if(d.opacity===0&&!d.placed)return 0;if(d.opacity===1&&d.placed)return 4294967295;const e=d.placed?1:0,n=Math.floor(127*d.opacity);return n*Ml+e*tt+n*hs+e*fs+n*qa+e*Ha+n*t0+e}const ua=0;function fc(){return{isOccluded:(d,e,n)=>!1,getPitchedTextCorrection:(d,e,n)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(d,e,n,c){throw new Error("Not implemented.")},translatePosition:(d,e,n,c)=>function(o,y,k,x,b=!1){if(!k[0]&&!k[1])return[0,0];const A=b?x==="map"?o.angle:0:x==="viewport"?-o.angle:0;if(A){const F=Math.sin(A),C=Math.cos(A);k=[k[0]*C-k[1]*F,k[0]*F+k[1]*C]}return[b?k[0]:xe(y,k[0],o.zoom),b?k[1]:xe(y,k[1],o.zoom)]}(d,e,n,c),getCircleRadiusCorrection:d=>1}}class zl{constructor(e){this._sortAcrossTiles=e.layout.get("symbol-z-order")!=="viewport-y"&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,n,c,o,y){const k=this._bucketParts;for(;this._currentTileIndexx.sortKey-b.sortKey));this._currentPartIndex!this._forceFullPlacement&&V.now()-o>2;for(;this._currentPlacementIndex>=0;){const k=n[e[this._currentPlacementIndex]],x=this.placement.collisionIndex.transform.zoom;if(k.type==="symbol"&&(!k.minzoom||k.minzoom<=x)&&(!k.maxzoom||k.maxzoom>x)){if(this._inProgressLayer||(this._inProgressLayer=new zl(k)),this._inProgressLayer.continuePlacement(c[k.source],this.placement,this._showCollisionBoxes,k,y))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const Ln=512/r.X/2;class Xn{constructor(e,n,c){this.tileID=e,this.bucketInstanceId=c,this._symbolsByKey={};const o=new Map;for(let y=0;y({x:Math.floor(b.anchorX*Ln),y:Math.floor(b.anchorY*Ln)})),crossTileIDs:k.map(b=>b.crossTileID)};if(x.positions.length>128){const b=new r.aw(x.positions.length,16,Uint16Array);for(const{x:A,y:F}of x.positions)b.add(A,F);b.finish(),delete x.positions,x.index=b}this._symbolsByKey[y]=x}}getScaledCoordinates(e,n){const{x:c,y:o,z:y}=this.tileID.canonical,{x:k,y:x,z:b}=n.canonical,A=Ln/Math.pow(2,b-y),F=(x*r.X+e.anchorY)*A,C=o*r.X*Ln;return{x:Math.floor((k*r.X+e.anchorX)*A-c*r.X*Ln),y:Math.floor(F-C)}}findMatches(e,n,c){const o=this.tileID.canonical.ze)}}class Ht{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class gc{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){const n=Math.round((e-this.lng)/360);if(n!==0)for(const c in this.indexes){const o=this.indexes[c],y={};for(const k in o){const x=o[k];x.tileID=x.tileID.unwrapTo(x.tileID.wrap+n),y[x.tileID.key]=x}this.indexes[c]=y}this.lng=e}addBucket(e,n,c){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===n.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let y=0;ye.overscaledZ)for(const x in k){const b=k[x];b.tileID.isChildOf(e)&&b.findMatches(n.symbolInstances,e,o)}else{const x=k[e.scaledTo(Number(y)).key];x&&x.findMatches(n.symbolInstances,e,o)}}for(let y=0;y{n[c]=!0});for(const c in this.layerIndexes)n[c]||delete this.layerIndexes[c]}}const El=(d,e)=>r.t(d,e&&e.filter(n=>n.identifier!=="source.canvas")),Mn=r.ax();class gs extends r.E{constructor(e,n={}){super(),this._rtlPluginLoaded=()=>{for(const c in this.sourceCaches){const o=this.sourceCaches[c].getSource().type;o!=="vector"&&o!=="geojson"||this.sourceCaches[c].reload()}},this.map=e,this.dispatcher=new ut(It(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",(c,o)=>this.getGlyphs(c,o)),this.dispatcher.registerMessageHandler("GI",(c,o)=>this.getImages(c,o)),this.imageManager=new Ze,this.imageManager.setEventedParent(this),this.glyphManager=new Ki(e._requestManager,n.localIdeographFontFamily),this.lineAtlas=new at(256,512),this.crossTileSymbolIndex=new Qa,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new r.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",r.az()),Ea().on(bi,this._rtlPluginLoaded),this.on("data",c=>{if(c.dataType!=="source"||c.sourceDataType!=="metadata")return;const o=this.sourceCaches[c.sourceId];if(!o)return;const y=o.getSource();if(y&&y.vectorLayerIds)for(const k in this._layers){const x=this._layers[k];x.source===y.id&&this._validateLayer(x)}})}loadURL(e,n={},c){this.fire(new r.k("dataloading",{dataType:"style"})),n.validate=typeof n.validate!="boolean"||n.validate;const o=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController,r.h(o,this._loadStyleRequest).then(y=>{this._loadStyleRequest=null,this._load(y.data,n,c)}).catch(y=>{this._loadStyleRequest=null,y&&this.fire(new r.j(y))})}loadJSON(e,n={},c){this.fire(new r.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,V.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,n.validate=n.validate!==!1,this._load(e,n,c)}).catch(()=>{})}loadEmpty(){this.fire(new r.k("dataloading",{dataType:"style"})),this._load(Mn,{validate:!1})}_load(e,n,c){var o;const y=n.transformStyle?n.transformStyle(c,e):e;if(!n.validate||!El(this,r.x(y))){this._loaded=!0,this.stylesheet=y;for(const k in y.sources)this.addSource(k,y.sources[k],{validate:!1});y.sprite?this._loadSprite(y.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(y.glyphs),this._createLayers(),this.light=new Ee(this.stylesheet.light),this.sky=new $e(this.stylesheet.sky),this.map.setTerrain((o=this.stylesheet.terrain)!==null&&o!==void 0?o:null),this.fire(new r.k("data",{dataType:"style"})),this.fire(new r.k("style.load"))}}_createLayers(){const e=r.aA(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map(n=>n.id),this._layers={},this._serializedLayers=null;for(const n of e){const c=r.aB(n);c.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=c}}_loadSprite(e,n=!1,c=void 0){let o;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(y,k,x,b){return r._(this,void 0,void 0,function*(){const A=qe(y),F=x>1?"@2x":"",C={},P={};for(const{id:q,url:$}of A){const X=k.transformRequest(Ie($,F,".json"),"SpriteJSON");C[q]=r.h(X,b);const K=k.transformRequest(Ie($,F,".png"),"SpriteImage");P[q]=Ei.getImage(K,b)}return yield Promise.all([...Object.values(C),...Object.values(P)]),function(q,$){return r._(this,void 0,void 0,function*(){const X={};for(const K in q){X[K]={};const Q=V.getImageCanvasContext((yield $[K]).data),ni=(yield q[K]).data;for(const Z in ni){const{width:si,height:di,x:yi,y:wi,sdf:vi,pixelRatio:Oi,stretchX:Ui,stretchY:Li,content:Ci,textFitWidth:Yi,textFitHeight:Se}=ni[Z];X[K][Z]={data:null,pixelRatio:Oi,sdf:vi,stretchX:Ui,stretchY:Li,content:Ci,textFitWidth:Yi,textFitHeight:Se,spriteData:{width:si,height:di,x:yi,y:wi,context:Q}}}}return X})}(C,P)})}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(y=>{if(this._spriteRequest=null,y)for(const k in y){this._spritesImagesIds[k]=[];const x=this._spritesImagesIds[k]?this._spritesImagesIds[k].filter(b=>!(b in y)):[];for(const b of x)this.imageManager.removeImage(b),this._changedImages[b]=!0;for(const b in y[k]){const A=k==="default"?b:`${k}:${b}`;this._spritesImagesIds[k].push(A),A in this.imageManager.images?this.imageManager.updateImage(A,y[k][b],!1):this.imageManager.addImage(A,y[k][b]),n&&(this._changedImages[A]=!0)}}}).catch(y=>{this._spriteRequest=null,o=y,this.fire(new r.j(o))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"})),c&&c(o)})}_unloadSprite(){for(const e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}_validateLayer(e){const n=this.sourceCaches[e.source];if(!n)return;const c=e.sourceLayer;if(!c)return;const o=n.getSource();(o.type==="geojson"||o.vectorLayerIds&&o.vectorLayerIds.indexOf(c)===-1)&&this.fire(new r.j(new Error(`Source layer "${c}" does not exist on source "${o.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e){const n=this._serializedAllLayers();if(!e||e.length===0)return Object.values(n);const c=[];for(const o of e)n[o]&&c.push(n[o]);return c}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};const n=Object.keys(this._layers);for(const c of n){const o=this._layers[c];o.type!=="custom"&&(e[c]=o.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(const e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const n=this._changed;if(n){const o=Object.keys(this._updatedLayers),y=Object.keys(this._removedLayers);(o.length||y.length)&&this._updateWorkerLayers(o,y);for(const k in this._updatedSources){const x=this._updatedSources[k];if(x==="reload")this._reloadSource(k);else{if(x!=="clear")throw new Error(`Invalid action ${x}`);this._clearSource(k)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const k in this._updatedPaintProps)this._layers[k].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}const c={};for(const o in this.sourceCaches){const y=this.sourceCaches[o];c[o]=y.used,y.used=!1}for(const o of this._order){const y=this._layers[o];y.recalculate(e,this._availableImages),!y.isHidden(e.zoom)&&y.source&&(this.sourceCaches[y.source].used=!0)}for(const o in c){const y=this.sourceCaches[o];!!c[o]!=!!y.used&&y.fire(new r.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:o}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,n&&this.fire(new r.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const n in this.sourceCaches)this.sourceCaches[n].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,n){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e),removedIds:n})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,n={}){var c;this._checkLoaded();const o=this.serialize();if(e=n.transformStyle?n.transformStyle(o,e):e,((c=n.validate)===null||c===void 0||c)&&El(this,r.x(e)))return!1;(e=r.aC(e)).layers=r.aA(e.layers);const y=r.aD(o,e),k=this._getOperationsToPerform(y);if(k.unimplemented.length>0)throw new Error(`Unimplemented: ${k.unimplemented.join(", ")}.`);if(k.operations.length===0)return!1;for(const x of k.operations)x();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){const n=[],c=[];for(const o of e)switch(o.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":n.push(()=>this.addLayer.apply(this,o.args));break;case"removeLayer":n.push(()=>this.removeLayer.apply(this,o.args));break;case"setPaintProperty":n.push(()=>this.setPaintProperty.apply(this,o.args));break;case"setLayoutProperty":n.push(()=>this.setLayoutProperty.apply(this,o.args));break;case"setFilter":n.push(()=>this.setFilter.apply(this,o.args));break;case"addSource":n.push(()=>this.addSource.apply(this,o.args));break;case"removeSource":n.push(()=>this.removeSource.apply(this,o.args));break;case"setLayerZoomRange":n.push(()=>this.setLayerZoomRange.apply(this,o.args));break;case"setLight":n.push(()=>this.setLight.apply(this,o.args));break;case"setGeoJSONSourceData":n.push(()=>this.setGeoJSONSourceData.apply(this,o.args));break;case"setGlyphs":n.push(()=>this.setGlyphs.apply(this,o.args));break;case"setSprite":n.push(()=>this.setSprite.apply(this,o.args));break;case"setSky":n.push(()=>this.setSky.apply(this,o.args));break;case"setTerrain":n.push(()=>this.map.setTerrain.apply(this,o.args));break;case"setTransition":n.push(()=>{});break;default:c.push(o.command)}return{operations:n,unimplemented:c}}addImage(e,n){if(this.getImage(e))return this.fire(new r.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,n),this._afterImageUpdated(e)}updateImage(e,n){this.imageManager.updateImage(e,n)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new r.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,n,c={}){if(this._checkLoaded(),this.sourceCaches[e]!==void 0)throw new Error(`Source "${e}" already exists.`);if(!n.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(n.type)>=0&&this._validate(r.x.source,`sources.${e}`,n,null,c))return;this.map&&this.map._collectResourceTiming&&(n.collectResourceTiming=!0);const o=this.sourceCaches[e]=new ue(e,n,this.dispatcher);o.style=this,o.setEventedParent(this,()=>({isSourceLoaded:o.loaded(),source:o.serialize(),sourceId:e})),o.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error("There is no source with this ID");for(const c in this._layers)if(this._layers[c].source===e)return this.fire(new r.j(new Error(`Source "${e}" cannot be removed while layer "${c}" is using it.`)));const n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new r.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,n){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error(`There is no source with this ID=${e}`);const c=this.sourceCaches[e].getSource();if(c.type!=="geojson")throw new Error(`geojsonSource.type is ${c.type}, which is !== 'geojson`);c.setData(n),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,n,c={}){this._checkLoaded();const o=e.id;if(this.getLayer(o))return void this.fire(new r.j(new Error(`Layer "${o}" already exists on this map.`)));let y;if(e.type==="custom"){if(El(this,r.aE(e)))return;y=r.aB(e)}else{if("source"in e&&typeof e.source=="object"&&(this.addSource(o,e.source),e=r.aC(e),e=r.e(e,{source:o})),this._validate(r.x.layer,`layers.${o}`,e,{arrayIndex:-1},c))return;y=r.aB(e),this._validateLayer(y),y.setEventedParent(this,{layer:{id:o}})}const k=n?this._order.indexOf(n):this._order.length;if(n&&k===-1)this.fire(new r.j(new Error(`Cannot add layer "${o}" before non-existing layer "${n}".`)));else{if(this._order.splice(k,0,o),this._layerOrderChanged=!0,this._layers[o]=y,this._removedLayers[o]&&y.source&&y.type!=="custom"){const x=this._removedLayers[o];delete this._removedLayers[o],x.type!==y.type?this._updatedSources[y.source]="clear":(this._updatedSources[y.source]="reload",this.sourceCaches[y.source].pause())}this._updateLayer(y),y.onAdd&&y.onAdd(this.map)}}moveLayer(e,n){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new r.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===n)return;const c=this._order.indexOf(e);this._order.splice(c,1);const o=n?this._order.indexOf(n):this._order.length;n&&o===-1?this.fire(new r.j(new Error(`Cannot move layer "${e}" before non-existing layer "${n}".`))):(this._order.splice(o,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const n=this._layers[e];if(!n)return void this.fire(new r.j(new Error(`Cannot remove non-existing layer "${e}".`)));n.setEventedParent(null);const c=this._order.indexOf(e);this._order.splice(c,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=n,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],n.onRemove&&n.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,n,c){this._checkLoaded();const o=this.getLayer(e);o?o.minzoom===n&&o.maxzoom===c||(n!=null&&(o.minzoom=n),c!=null&&(o.maxzoom=c),this._updateLayer(o)):this.fire(new r.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,n,c={}){this._checkLoaded();const o=this.getLayer(e);if(o){if(!r.aF(o.filter,n))return n==null?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(r.x.filter,`layers.${o.id}.filter`,n,null,c)||(o.filter=r.aC(n),this._updateLayer(o)))}else this.fire(new r.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return r.aC(this.getLayer(e).filter)}setLayoutProperty(e,n,c,o={}){this._checkLoaded();const y=this.getLayer(e);y?r.aF(y.getLayoutProperty(n),c)||(y.setLayoutProperty(n,c,o),this._updateLayer(y)):this.fire(new r.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,n){const c=this.getLayer(e);if(c)return c.getLayoutProperty(n);this.fire(new r.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,n,c,o={}){this._checkLoaded();const y=this.getLayer(e);y?r.aF(y.getPaintProperty(n),c)||(y.setPaintProperty(n,c,o)&&this._updateLayer(y),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new r.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,n){return this.getLayer(e).getPaintProperty(n)}setFeatureState(e,n){this._checkLoaded();const c=e.source,o=e.sourceLayer,y=this.sourceCaches[c];if(y===void 0)return void this.fire(new r.j(new Error(`The source '${c}' does not exist in the map's style.`)));const k=y.getSource().type;k==="geojson"&&o?this.fire(new r.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):k!=="vector"||o?(e.id===void 0&&this.fire(new r.j(new Error("The feature id parameter must be provided."))),y.setFeatureState(o,e.id,n)):this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,n){this._checkLoaded();const c=e.source,o=this.sourceCaches[c];if(o===void 0)return void this.fire(new r.j(new Error(`The source '${c}' does not exist in the map's style.`)));const y=o.getSource().type,k=y==="vector"?e.sourceLayer:void 0;y!=="vector"||k?n&&typeof e.id!="string"&&typeof e.id!="number"?this.fire(new r.j(new Error("A feature id is required to remove its specific state property."))):o.removeFeatureState(k,e.id,n):this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const n=e.source,c=e.sourceLayer,o=this.sourceCaches[n];if(o!==void 0)return o.getSource().type!=="vector"||c?(e.id===void 0&&this.fire(new r.j(new Error("The feature id parameter must be provided."))),o.getFeatureState(c,e.id)):void this.fire(new r.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new r.j(new Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){return r.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const e=r.aG(this.sourceCaches,y=>y.serialize()),n=this._serializeByIds(this._order),c=this.map.getTerrain()||void 0,o=this.stylesheet;return r.aH({version:o.version,name:o.name,metadata:o.metadata,light:o.light,sky:o.sky,center:o.center,zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,sprite:o.sprite,glyphs:o.glyphs,transition:o.transition,sources:e,layers:n,terrain:c},y=>y!==void 0)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.sourceCaches[e.source].getSource().type!=="raster"&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){const n=k=>this._layers[k].type==="fill-extrusion",c={},o=[];for(let k=this._order.length-1;k>=0;k--){const x=this._order[k];if(n(x)){c[x]=k;for(const b of e){const A=b[x];if(A)for(const F of A)o.push(F)}}}o.sort((k,x)=>x.intersectionZ-k.intersectionZ);const y=[];for(let k=this._order.length-1;k>=0;k--){const x=this._order[k];if(n(x))for(let b=o.length-1;b>=0;b--){const A=o[b].feature;if(c[A.layer.id]{const vi=Q.featureSortOrder;if(vi){const Oi=vi.indexOf(yi.featureIndex);return vi.indexOf(wi.featureIndex)-Oi}return wi.featureIndex-yi.featureIndex});for(const yi of di)si.push(yi)}}for(const Q in $)$[Q].forEach(ni=>{const Z=ni.feature,si=A[x[Q].source].getFeatureState(Z.layer["source-layer"],Z.id);Z.source=Z.layer.source,Z.layer["source-layer"]&&(Z.sourceLayer=Z.layer["source-layer"]),Z.state=si});return $}(this._layers,k,this.sourceCaches,e,n,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(y)}querySourceFeatures(e,n){n&&n.filter&&this._validate(r.x.filter,"querySourceFeatures.filter",n.filter,null,n);const c=this.sourceCaches[e];return c?function(o,y){const k=o.getRenderableIds().map(A=>o.getTileByID(A)),x=[],b={};for(let A=0;AP.getTileByID(q)).sort((q,$)=>$.tileID.overscaledZ-q.tileID.overscaledZ||(q.tileID.isLessThan($.tileID)?-1:1))}const C=this.crossTileSymbolIndex.addLayer(F,b[F.source],e.center.lng);k=k||C}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((y=y||this._layerOrderChanged||c===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(V.now(),e.zoom))&&(this.pauseablePlacement=new Jt(e,this.map.terrain,this._order,y,n,c,o,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,b),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(V.now()),x=!0),k&&this.pauseablePlacement.placement.setStale()),x||k)for(const A of this._order){const F=this._layers[A];F.type==="symbol"&&this.placement.updateLayerOpacities(F,b[F.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(V.now())}_releaseSymbolFadeTiles(){for(const e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,n){return r._(this,void 0,void 0,function*(){const c=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();const o=this.sourceCaches[n.source];return o&&o.setDependencies(n.tileID.key,n.type,n.icons),c})}getGlyphs(e,n){return r._(this,void 0,void 0,function*(){const c=yield this.glyphManager.getGlyphs(n.stacks),o=this.sourceCaches[n.source];return o&&o.setDependencies(n.tileID.key,n.type,[""]),c})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,n={}){this._checkLoaded(),e&&this._validate(r.x.glyphs,"glyphs",e,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,n,c={},o){this._checkLoaded();const y=[{id:e,url:n}],k=[...qe(this.stylesheet.sprite),...y];this._validate(r.x.sprite,"sprite",k,null,c)||(this.stylesheet.sprite=k,this._loadSprite(y,!0,o))}removeSprite(e){this._checkLoaded();const n=qe(this.stylesheet.sprite);if(n.find(c=>c.id===e)){if(this._spritesImagesIds[e])for(const c of this._spritesImagesIds[e])this.imageManager.removeImage(c),this._changedImages[c]=!0;n.splice(n.findIndex(c=>c.id===e),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new r.k("data",{dataType:"style"}))}else this.fire(new r.j(new Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return qe(this.stylesheet.sprite)}setSprite(e,n={},c){this._checkLoaded(),e&&this._validate(r.x.sprite,"sprite",e,null,n)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,c):(this._unloadSprite(),c&&c(null)))}}var ql=r.Y([{name:"a_pos",type:"Int16",components:2}]);const zn={prelude:Xe(`#ifdef GL_ES precision mediump float; #else #if !defined(lowp) @@ -59,15 +59,15 @@ vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=frac #else return 0.0; #endif -}`),background:Ze(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +}`),background:Xe(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Ze(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Xe(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:Ze(`varying vec3 v_data;varying float v_visibility; +}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:Xe(`varying vec3 v_data;varying float v_visibility; #pragma mapbox: define highp vec4 color #pragma mapbox: define mediump float radius #pragma mapbox: define lowp float blur @@ -103,7 +103,7 @@ void main(void) { #pragma mapbox: initialize highp vec4 stroke_color #pragma mapbox: initialize mediump float stroke_width #pragma mapbox: initialize lowp float stroke_opacity -vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Ze("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Ze(`uniform highp float u_intensity;varying vec2 v_extrude; +vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Xe("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Xe(`uniform highp float u_intensity;varying vec2 v_extrude; #pragma mapbox: define highp float weight #define GAUSS_COEF 0.3989422804014327 void main() { @@ -120,11 +120,11 @@ const highp float ZERO=1.0/255.0/16.0; void main(void) { #pragma mapbox: initialize highp float weight #pragma mapbox: initialize mediump float radius -vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:Ze(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; +vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:Xe(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(0.0); #endif -}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Ze("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Ze("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Ze("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:Ze(`#pragma mapbox: define highp vec4 color +}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Xe("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Xe("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Xe("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:Xe(`#pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize highp vec4 color @@ -139,7 +139,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Ze(`varying vec2 v_pos; +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Xe(`varying vec2 v_pos; #pragma mapbox: define highp vec4 outline_color #pragma mapbox: define lowp float opacity void main() { @@ -155,7 +155,7 @@ gl_FragColor=vec4(1.0); void main() { #pragma mapbox: initialize highp vec4 outline_color #pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Ze(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Xe(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; #pragma mapbox: define lowp float opacity #pragma mapbox: define lowp vec4 pattern_from #pragma mapbox: define lowp vec4 pattern_to @@ -179,7 +179,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:Ze(`#ifdef GL_ES +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:Xe(`#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; @@ -206,7 +206,7 @@ void main() { #pragma mapbox: initialize mediump vec4 pattern_to #pragma mapbox: initialize lowp float pixel_ratio_from #pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Ze(`varying vec4 v_color;void main() {gl_FragColor=v_color; +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Xe(`varying vec4 v_color;void main() {gl_FragColor=v_color; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif @@ -228,7 +228,7 @@ float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_off #else float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif -base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Ze(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Xe(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; #pragma mapbox: define lowp float base #pragma mapbox: define lowp float height #pragma mapbox: define lowp vec4 pattern_from @@ -272,20 +272,20 @@ float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; #endif base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 ? a_pos -: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Ze(`#ifdef GL_ES +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Xe(`#ifdef GL_ES precision highp float; #endif uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Ze(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Xe(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; #define PI 3.141592653589793 void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:Ze(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:Xe(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -319,7 +319,7 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_width2=vec2(outset,inset);}`),lineGradient:Ze(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +v_width2=vec2(outset,inset);}`),lineGradient:Xe(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity void main() { @@ -349,7 +349,7 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_width2=vec2(outset,inset);}`),linePattern:Ze(`#ifdef GL_ES +v_width2=vec2(outset,inset);}`),linePattern:Xe(`#ifdef GL_ES precision highp float; #endif uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; @@ -401,7 +401,7 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Ze(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Xe(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; #pragma mapbox: define highp vec4 color #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity @@ -442,11 +442,11 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:Ze(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:Xe(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); #ifdef OVERDRAW_INSPECTOR gl_FragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:Ze(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:Xe(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; #pragma mapbox: define lowp float opacity void main() { #pragma mapbox: initialize lowp float opacity @@ -460,7 +460,7 @@ void main() { #pragma mapbox: initialize lowp float opacity vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:Ze(`#define SDF_PX 8.0 +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:Xe(`#define SDF_PX 8.0 uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; #pragma mapbox: define highp vec4 fill_color #pragma mapbox: define highp vec4 halo_color @@ -491,7 +491,7 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:Ze(`#define SDF_PX 8.0 +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:Xe(`#define SDF_PX 8.0 #define SDF 1.0 #define ICON 0.0 uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; @@ -528,63 +528,63 @@ void main() { #pragma mapbox: initialize lowp float halo_blur vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:Ze("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Ze("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:Ze("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:Ze("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function Ze(d,e){const n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,c=e.match(/attribute ([\w]+) ([\w]+)/g),o=d.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),y=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),k=y?y.concat(o):o,x={};return{fragmentSource:d=d.replace(n,(j,A,F,C,G)=>(x[G]=!0,A==="define"?` -#ifndef HAS_UNIFORM_u_${G} -varying ${F} ${C} ${G}; +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:Xe("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Xe("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:Xe("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:Xe("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function Xe(d,e){const n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,c=e.match(/attribute ([\w]+) ([\w]+)/g),o=d.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),y=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),k=y?y.concat(o):o,x={};return{fragmentSource:d=d.replace(n,(b,A,F,C,P)=>(x[P]=!0,A==="define"?` +#ifndef HAS_UNIFORM_u_${P} +varying ${F} ${C} ${P}; #else -uniform ${F} ${C} u_${G}; +uniform ${F} ${C} u_${P}; #endif `:` -#ifdef HAS_UNIFORM_u_${G} - ${F} ${C} ${G} = u_${G}; +#ifdef HAS_UNIFORM_u_${P} + ${F} ${C} ${P} = u_${P}; #endif -`)),vertexSource:e=e.replace(n,(j,A,F,C,G)=>{const q=C==="float"?"vec2":"vec4",$=G.match(/color/)?"color":q;return x[G]?A==="define"?` -#ifndef HAS_UNIFORM_u_${G} -uniform lowp float u_${G}_t; -attribute ${F} ${q} a_${G}; -varying ${F} ${C} ${G}; +`)),vertexSource:e=e.replace(n,(b,A,F,C,P)=>{const q=C==="float"?"vec2":"vec4",$=P.match(/color/)?"color":q;return x[P]?A==="define"?` +#ifndef HAS_UNIFORM_u_${P} +uniform lowp float u_${P}_t; +attribute ${F} ${q} a_${P}; +varying ${F} ${C} ${P}; #else -uniform ${F} ${C} u_${G}; +uniform ${F} ${C} u_${P}; #endif `:$==="vec4"?` -#ifndef HAS_UNIFORM_u_${G} - ${G} = a_${G}; +#ifndef HAS_UNIFORM_u_${P} + ${P} = a_${P}; #else - ${F} ${C} ${G} = u_${G}; + ${F} ${C} ${P} = u_${P}; #endif `:` -#ifndef HAS_UNIFORM_u_${G} - ${G} = unpack_mix_${$}(a_${G}, u_${G}_t); +#ifndef HAS_UNIFORM_u_${P} + ${P} = unpack_mix_${$}(a_${P}, u_${P}_t); #else - ${F} ${C} ${G} = u_${G}; + ${F} ${C} ${P} = u_${P}; #endif `:A==="define"?` -#ifndef HAS_UNIFORM_u_${G} -uniform lowp float u_${G}_t; -attribute ${F} ${q} a_${G}; +#ifndef HAS_UNIFORM_u_${P} +uniform lowp float u_${P}_t; +attribute ${F} ${q} a_${P}; #else -uniform ${F} ${C} u_${G}; +uniform ${F} ${C} u_${P}; #endif `:$==="vec4"?` -#ifndef HAS_UNIFORM_u_${G} - ${F} ${C} ${G} = a_${G}; +#ifndef HAS_UNIFORM_u_${P} + ${F} ${C} ${P} = a_${P}; #else - ${F} ${C} ${G} = u_${G}; + ${F} ${C} ${P} = u_${P}; #endif `:` -#ifndef HAS_UNIFORM_u_${G} - ${F} ${C} ${G} = unpack_mix_${$}(a_${G}, u_${G}_t); +#ifndef HAS_UNIFORM_u_${P} + ${F} ${C} ${P} = unpack_mix_${$}(a_${P}, u_${P}_t); #else - ${F} ${C} ${G} = u_${G}; + ${F} ${C} ${P} = u_${P}; #endif -`}),staticAttributes:c,staticUniforms:k}}class Sc{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,n,c,o,y,k,x,j,A){this.context=e;let F=this.boundPaintVertexBuffers.length!==o.length;for(let C=0;!F&&C({u_matrix:d,u_texture:0,u_ele_delta:e,u_fog_matrix:n,u_fog_color:c?c.properties.get("fog-color"):r.aN.white,u_fog_ground_blend:c?c.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:c?c.calculateFogBlendOpacity(o):0,u_horizon_color:c?c.properties.get("horizon-color"):r.aN.white,u_horizon_fog_blend:c?c.properties.get("horizon-fog-blend"):1});function ql(d){const e=[];for(let n=0;n({u_matrix:d,u_texture:0,u_ele_delta:e,u_fog_matrix:n,u_fog_color:c?c.properties.get("fog-color"):r.aN.white,u_fog_ground_blend:c?c.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:c?c.calculateFogBlendOpacity(o):0,u_horizon_color:c?c.properties.get("horizon-color"):r.aN.white,u_horizon_fog_blend:c?c.properties.get("horizon-fog-blend"):1});function Hl(d){const e=[];for(let n=0;n({u_depth:new r.aI(yi,wi.u_depth),u_terrain:new r.aI(yi,wi.u_terrain),u_terrain_dim:new r.aJ(yi,wi.u_terrain_dim),u_terrain_matrix:new r.aK(yi,wi.u_terrain_matrix),u_terrain_unpack:new r.aL(yi,wi.u_terrain_unpack),u_terrain_exaggeration:new r.aJ(yi,wi.u_terrain_exaggeration)}))(e,di),this.binderUniforms=c?c.getUniforms(e,di):[]}draw(e,n,c,o,y,k,x,j,A,F,C,G,q,$,X,K,Q,ni){const Z=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(c),e.setStencilMode(o),e.setColorMode(y),e.setCullFace(k),j){e.activeTexture.set(Z.TEXTURE2),Z.bindTexture(Z.TEXTURE_2D,j.depthTexture),e.activeTexture.set(Z.TEXTURE3),Z.bindTexture(Z.TEXTURE_2D,j.texture);for(const di in this.terrainUniforms)this.terrainUniforms[di].set(j[di])}for(const di in this.fixedUniforms)this.fixedUniforms[di].set(x[di]);X&&X.setUniforms(e,this.binderUniforms,q,{zoom:$});let si=0;switch(n){case Z.LINES:si=2;break;case Z.TRIANGLES:si=3;break;case Z.LINE_STRIP:si=1}for(const di of G.get()){const yi=di.vaos||(di.vaos={});(yi[A]||(yi[A]=new Sc)).bind(e,this,F,X?X.getPaintVertexBuffers():[],C,di.vertexOffset,K,Q,ni),Z.drawElements(n,di.primitiveLength*si,Z.UNSIGNED_SHORT,di.primitiveOffset*si*2)}}}function wc(d,e,n){const c=1/xe(n,1,e.transform.tileZoom),o=Math.pow(2,n.tileID.overscaledZ),y=n.tileSize*Math.pow(2,e.transform.tileZoom)/o,k=y*(n.tileID.canonical.x+n.tileID.wrap*o),x=y*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[c,d.fromScale,d.toScale],u_fade:d.t,u_pixel_coord_upper:[k>>16,x>>16],u_pixel_coord_lower:[65535&k,65535&x]}}const kc=(d,e,n,c)=>{const o=e.style.light,y=o.properties.get("position"),k=[y.x,y.y,y.z],x=function(){var A=new r.A(9);return r.A!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[5]=0,A[6]=0,A[7]=0),A[0]=1,A[4]=1,A[8]=1,A}();o.properties.get("anchor")==="viewport"&&function(A,F){var C=Math.sin(F),G=Math.cos(F);A[0]=G,A[1]=C,A[2]=0,A[3]=-C,A[4]=G,A[5]=0,A[6]=0,A[7]=0,A[8]=1}(x,-e.transform.angle),function(A,F,C){var G=F[0],q=F[1],$=F[2];A[0]=G*C[0]+q*C[3]+$*C[6],A[1]=G*C[1]+q*C[4]+$*C[7],A[2]=G*C[2]+q*C[5]+$*C[8]}(k,k,x);const j=o.properties.get("color");return{u_matrix:d,u_lightpos:k,u_lightintensity:o.properties.get("intensity"),u_lightcolor:[j.r,j.g,j.b],u_vertical_gradient:+n,u_opacity:c}},_c=(d,e,n,c,o,y,k)=>r.e(kc(d,e,n,c),wc(y,e,k),{u_height_factor:-Math.pow(2,o.overscaledZ)/k.tileSize/8}),Hl=d=>({u_matrix:d}),ml=(d,e,n,c)=>r.e(Hl(d),wc(n,e,c)),a0=(d,e)=>({u_matrix:d,u_world:e}),n0=(d,e,n,c,o)=>r.e(ml(d,e,n,c),{u_world:o}),Eo=(d,e,n,c)=>{const o=d.transform;let y,k;if(c.paint.get("circle-pitch-alignment")==="map"){const x=xe(n,1,o.zoom);y=!0,k=[x,x]}else y=!1,k=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+(c.paint.get("circle-pitch-scale")==="map"),u_matrix:d.translatePosMatrix(e.posMatrix,n,c.paint.get("circle-translate"),c.paint.get("circle-translate-anchor")),u_pitch_with_map:+y,u_device_pixel_ratio:d.pixelRatio,u_extrude_scale:k}},l0=(d,e,n)=>({u_matrix:d,u_inv_matrix:e,u_camera_to_center_distance:n.cameraToCenterDistance,u_viewport_size:[n.width,n.height]}),En=(d,e,n=1)=>({u_matrix:d,u_color:e,u_overlay:0,u_overlay_scale:n}),Vl=d=>({u_matrix:d}),Ha=(d,e,n,c)=>({u_matrix:d,u_extrude_scale:xe(e,1,n),u_intensity:c});function Va(d,e){const n=Math.pow(2,e.canonical.z),c=e.canonical.y;return[new r.Z(0,c/n).toLngLat().lat,new r.Z(0,(c+1)/n).toLngLat().lat]}const Ol=(d,e,n,c)=>{const o=d.transform;return{u_matrix:Vo(d,e,n,c),u_ratio:1/xe(e,1,o.zoom),u_device_pixel_ratio:d.pixelRatio,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},xc=(d,e,n,c,o)=>r.e(Ol(d,e,n,o),{u_image:0,u_image_height:c}),qo=(d,e,n,c,o)=>{const y=d.transform,k=Yn(e,y);return{u_matrix:Vo(d,e,n,o),u_texsize:e.imageAtlasTexture.size,u_ratio:1/xe(e,1,y.zoom),u_device_pixel_ratio:d.pixelRatio,u_image:0,u_scale:[k,c.fromScale,c.toScale],u_fade:c.t,u_units_to_pixels:[1/y.pixelsToGLUnits[0],1/y.pixelsToGLUnits[1]]}},Ho=(d,e,n,c,o,y)=>{const k=d.lineAtlas,x=Yn(e,d.transform),j=n.layout.get("line-cap")==="round",A=k.getDash(c.from,j),F=k.getDash(c.to,j),C=A.width*o.fromScale,G=F.width*o.toScale;return r.e(Ol(d,e,n,y),{u_patternscale_a:[x/C,-A.height/2],u_patternscale_b:[x/G,-F.height/2],u_sdfgamma:k.width/(256*Math.min(C,G)*d.pixelRatio)/2,u_image:0,u_tex_y_a:A.y,u_tex_y_b:F.y,u_mix:o.t})};function Yn(d,e){return 1/xe(d,1,e.tileZoom)}function Vo(d,e,n,c){return d.translatePosMatrix(c?c.posMatrix:e.tileID.posMatrix,e,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}const c0=(d,e,n,c,o)=>{return{u_matrix:d,u_tl_parent:e,u_scale_parent:n,u_buffer_scale:1,u_fade_t:c.mix,u_opacity:c.opacity*o.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:o.paint.get("raster-brightness-min"),u_brightness_high:o.paint.get("raster-brightness-max"),u_saturation_factor:(k=o.paint.get("raster-saturation"),k>0?1-1/(1.001-k):-k),u_contrast_factor:(y=o.paint.get("raster-contrast"),y>0?1/(1-y):1+y),u_spin_weights:s0(o.paint.get("raster-hue-rotate"))};var y,k};function s0(d){d*=Math.PI/180;const e=Math.sin(d),n=Math.cos(d);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}const Oo=(d,e,n,c,o,y,k,x,j,A,F,C,G,q)=>{const $=k.transform;return{u_is_size_zoom_constant:+(d==="constant"||d==="source"),u_is_size_feature_constant:+(d==="constant"||d==="camera"),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:$.cameraToCenterDistance,u_pitch:$.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:$.width/$.height,u_fade_change:k.options.fadeDuration?k.symbolFadeChange:1,u_matrix:x,u_label_plane_matrix:j,u_coord_matrix:A,u_is_text:+C,u_pitch_with_map:+c,u_is_along_line:o,u_is_variable_anchor:y,u_texsize:G,u_texture:0,u_translation:F,u_pitched_scale:q}},$o=(d,e,n,c,o,y,k,x,j,A,F,C,G,q,$)=>{const X=k.transform;return r.e(Oo(d,e,n,c,o,y,k,x,j,A,F,C,G,$),{u_gamma_scale:c?Math.cos(X._pitch)*X.cameraToCenterDistance:1,u_device_pixel_ratio:k.pixelRatio,u_is_halo:+q})},o0=(d,e,n,c,o,y,k,x,j,A,F,C,G,q)=>r.e($o(d,e,n,c,o,y,k,x,j,A,F,!0,C,!0,q),{u_texsize_icon:G,u_texture_icon:1}),jc=(d,e,n)=>({u_matrix:d,u_opacity:e,u_color:n}),Is=(d,e,n,c,o,y)=>r.e(function(k,x,j,A){const F=j.imageManager.getPattern(k.from.toString()),C=j.imageManager.getPattern(k.to.toString()),{width:G,height:q}=j.imageManager.getPixelSize(),$=Math.pow(2,A.tileID.overscaledZ),X=A.tileSize*Math.pow(2,j.transform.tileZoom)/$,K=X*(A.tileID.canonical.x+A.tileID.wrap*$),Q=X*A.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:F.tl,u_pattern_br_a:F.br,u_pattern_tl_b:C.tl,u_pattern_br_b:C.br,u_texsize:[G,q],u_mix:x.t,u_pattern_size_a:F.displaySize,u_pattern_size_b:C.displaySize,u_scale_a:x.fromScale,u_scale_b:x.toScale,u_tile_units_to_pixels:1/xe(A,1,j.transform.tileZoom),u_pixel_coord_upper:[K>>16,Q>>16],u_pixel_coord_lower:[65535&K,65535&Q]}}(c,y,n,o),{u_matrix:d,u_opacity:e}),bc={fillExtrusion:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_lightpos:new r.aO(d,e.u_lightpos),u_lightintensity:new r.aJ(d,e.u_lightintensity),u_lightcolor:new r.aO(d,e.u_lightcolor),u_vertical_gradient:new r.aJ(d,e.u_vertical_gradient),u_opacity:new r.aJ(d,e.u_opacity)}),fillExtrusionPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_lightpos:new r.aO(d,e.u_lightpos),u_lightintensity:new r.aJ(d,e.u_lightintensity),u_lightcolor:new r.aO(d,e.u_lightcolor),u_vertical_gradient:new r.aJ(d,e.u_vertical_gradient),u_height_factor:new r.aJ(d,e.u_height_factor),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade),u_opacity:new r.aJ(d,e.u_opacity)}),fill:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix)}),fillPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),fillOutline:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world)}),fillOutlinePattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),circle:(d,e)=>({u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_scale_with_map:new r.aI(d,e.u_scale_with_map),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_extrude_scale:new r.aP(d,e.u_extrude_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_matrix:new r.aK(d,e.u_matrix)}),collisionBox:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_pixel_extrude_scale:new r.aP(d,e.u_pixel_extrude_scale)}),collisionCircle:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_inv_matrix:new r.aK(d,e.u_inv_matrix),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_viewport_size:new r.aP(d,e.u_viewport_size)}),debug:(d,e)=>({u_color:new r.aM(d,e.u_color),u_matrix:new r.aK(d,e.u_matrix),u_overlay:new r.aI(d,e.u_overlay),u_overlay_scale:new r.aJ(d,e.u_overlay_scale)}),clippingMask:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix)}),heatmap:(d,e)=>({u_extrude_scale:new r.aJ(d,e.u_extrude_scale),u_intensity:new r.aJ(d,e.u_intensity),u_matrix:new r.aK(d,e.u_matrix)}),heatmapTexture:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world),u_image:new r.aI(d,e.u_image),u_color_ramp:new r.aI(d,e.u_color_ramp),u_opacity:new r.aJ(d,e.u_opacity)}),hillshade:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_latrange:new r.aP(d,e.u_latrange),u_light:new r.aP(d,e.u_light),u_shadow:new r.aM(d,e.u_shadow),u_highlight:new r.aM(d,e.u_highlight),u_accent:new r.aM(d,e.u_accent)}),hillshadePrepare:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_dimension:new r.aP(d,e.u_dimension),u_zoom:new r.aJ(d,e.u_zoom),u_unpack:new r.aL(d,e.u_unpack)}),line:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels)}),lineGradient:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_image:new r.aI(d,e.u_image),u_image_height:new r.aJ(d,e.u_image_height)}),linePattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texsize:new r.aP(d,e.u_texsize),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_image:new r.aI(d,e.u_image),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),lineSDF:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_patternscale_a:new r.aP(d,e.u_patternscale_a),u_patternscale_b:new r.aP(d,e.u_patternscale_b),u_sdfgamma:new r.aJ(d,e.u_sdfgamma),u_image:new r.aI(d,e.u_image),u_tex_y_a:new r.aJ(d,e.u_tex_y_a),u_tex_y_b:new r.aJ(d,e.u_tex_y_b),u_mix:new r.aJ(d,e.u_mix)}),raster:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_tl_parent:new r.aP(d,e.u_tl_parent),u_scale_parent:new r.aJ(d,e.u_scale_parent),u_buffer_scale:new r.aJ(d,e.u_buffer_scale),u_fade_t:new r.aJ(d,e.u_fade_t),u_opacity:new r.aJ(d,e.u_opacity),u_image0:new r.aI(d,e.u_image0),u_image1:new r.aI(d,e.u_image1),u_brightness_low:new r.aJ(d,e.u_brightness_low),u_brightness_high:new r.aJ(d,e.u_brightness_high),u_saturation_factor:new r.aJ(d,e.u_saturation_factor),u_contrast_factor:new r.aJ(d,e.u_contrast_factor),u_spin_weights:new r.aO(d,e.u_spin_weights)}),symbolIcon:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texture:new r.aI(d,e.u_texture),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),symbolSDF:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texture:new r.aI(d,e.u_texture),u_gamma_scale:new r.aJ(d,e.u_gamma_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_is_halo:new r.aI(d,e.u_is_halo),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),symbolTextAndIcon:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texsize_icon:new r.aP(d,e.u_texsize_icon),u_texture:new r.aI(d,e.u_texture),u_texture_icon:new r.aI(d,e.u_texture_icon),u_gamma_scale:new r.aJ(d,e.u_gamma_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_is_halo:new r.aI(d,e.u_is_halo),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),background:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_opacity:new r.aJ(d,e.u_opacity),u_color:new r.aM(d,e.u_color)}),backgroundPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_opacity:new r.aJ(d,e.u_opacity),u_image:new r.aI(d,e.u_image),u_pattern_tl_a:new r.aP(d,e.u_pattern_tl_a),u_pattern_br_a:new r.aP(d,e.u_pattern_br_a),u_pattern_tl_b:new r.aP(d,e.u_pattern_tl_b),u_pattern_br_b:new r.aP(d,e.u_pattern_br_b),u_texsize:new r.aP(d,e.u_texsize),u_mix:new r.aJ(d,e.u_mix),u_pattern_size_a:new r.aP(d,e.u_pattern_size_a),u_pattern_size_b:new r.aP(d,e.u_pattern_size_b),u_scale_a:new r.aJ(d,e.u_scale_a),u_scale_b:new r.aJ(d,e.u_scale_b),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_tile_units_to_pixels:new r.aJ(d,e.u_tile_units_to_pixels)}),terrain:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texture:new r.aI(d,e.u_texture),u_ele_delta:new r.aJ(d,e.u_ele_delta),u_fog_matrix:new r.aK(d,e.u_fog_matrix),u_fog_color:new r.aM(d,e.u_fog_color),u_fog_ground_blend:new r.aJ(d,e.u_fog_ground_blend),u_fog_ground_blend_opacity:new r.aJ(d,e.u_fog_ground_blend_opacity),u_horizon_color:new r.aM(d,e.u_horizon_color),u_horizon_fog_blend:new r.aJ(d,e.u_horizon_fog_blend)}),terrainDepth:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ele_delta:new r.aJ(d,e.u_ele_delta)}),terrainCoords:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texture:new r.aI(d,e.u_texture),u_terrain_coords_id:new r.aJ(d,e.u_terrain_coords_id),u_ele_delta:new r.aJ(d,e.u_ele_delta)}),sky:(d,e)=>({u_sky_color:new r.aM(d,e.u_sky_color),u_horizon_color:new r.aM(d,e.u_horizon_color),u_horizon:new r.aJ(d,e.u_horizon),u_sky_horizon_blend:new r.aJ(d,e.u_sky_horizon_blend)})};class ws{constructor(e,n,c){this.context=e;const o=e.gl;this.buffer=o.createBuffer(),this.dynamicDraw=!!c,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete n.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){const n=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),n.bufferSubData(n.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const ks={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class In{constructor(e,n,c,o){this.length=n.length,this.attributes=c,this.itemSize=n.bytesPerElement,this.dynamicDraw=o,this.context=e;const y=e.gl;this.buffer=y.createBuffer(),e.bindVertexBuffer.set(this.buffer),y.bufferData(y.ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?y.DYNAMIC_DRAW:y.STATIC_DRAW),this.dynamicDraw||delete n.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);const n=this.context.gl;this.bind(),n.bufferSubData(n.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,n){for(let c=0;c0){const yi=r.H();r.aR(yi,Z.placementInvProjMatrix,d.transform.glCoordMatrix),r.aR(yi,yi,Z.placementViewportMatrix),j.push({circleArray:di,circleOffset:F,transform:ni.posMatrix,invTransform:yi,coord:ni}),A+=di.length/4,F=A}si&&x.draw(y,k.LINES,Te.disabled,xt.disabled,d.colorModeForRenderPass(),yt.disabled,{u_matrix:ni.posMatrix,u_pixel_extrude_scale:[1/(C=d.transform).width,1/C.height]},d.style.map.terrain&&d.style.map.terrain.getTerrainData(ni),n.id,si.layoutVertexBuffer,si.indexBuffer,si.segments,null,d.transform.zoom,null,null,si.collisionVertexBuffer)}var C;if(!o||!j.length)return;const G=d.useProgram("collisionCircle"),q=new r.aS;q.resize(4*A),q._trim();let $=0;for(const Q of j)for(let ni=0;ni=0&&(Q[Z.associatedIconIndex]={shiftedAnchor:he,angle:ht})}else le(Z.numGlyphs,X)}if(A){K.clear();const ni=d.icon.placedSymbolArray;for(let Z=0;Zd.style.map.terrain.getElevation(Ai,ro,Xt):null,Al=n.layout.get("text-rotation-alignment")==="map";H(Xi,Ai.posMatrix,d,o,sl,bl,Q,A,Al,X,Ai.toUnwrapped(),$.width,$.height,ol,bt)}const ca=Ai.posMatrix,un=o&&vi||oo,On=ni||un?Cs:sl,vl=Uc,ma=zi&&n.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let ha;ha=zi?Xi.iconsInText?o0(he.kind,Re,Z,Q,ni,un,d,ca,On,vl,ol,ua,va,$i):$o(he.kind,Re,Z,Q,ni,un,d,ca,On,vl,ol,o,ua,!0,$i):Oo(he.kind,Re,Z,Q,ni,un,d,ca,On,vl,ol,o,ua,$i);const ta={program:Ae,buffers:Ie,uniformValues:ha,atlasTexture:rn,atlasTextureIcon:da,atlasInterpolation:gt,atlasInterpolationIcon:Fa,isSDF:zi,hasHalo:ma};if(di&&Xi.canOverlap){yi=!0;const bt=Ie.segments.get();for(const Al of bt)Oi.push({segments:new r.a0([Al]),sortKey:Al.sortKey,state:ta,terrainData:ft})}else Oi.push({segments:Ie.segments,sortKey:0,state:ta,terrainData:ft})}yi&&Oi.sort((Ai,Bi)=>Ai.sortKey-Bi.sortKey);for(const Ai of Oi){const Bi=Ai.state;if(G.activeTexture.set(q.TEXTURE0),Bi.atlasTexture.bind(Bi.atlasInterpolation,q.CLAMP_TO_EDGE),Bi.atlasTextureIcon&&(G.activeTexture.set(q.TEXTURE1),Bi.atlasTextureIcon&&Bi.atlasTextureIcon.bind(Bi.atlasInterpolationIcon,q.CLAMP_TO_EDGE)),Bi.isSDF){const Xi=Bi.uniformValues;Bi.hasHalo&&(Xi.u_is_halo=1,il(Bi.buffers,Ai.segments,n,d,Bi.program,wi,F,C,Xi,Ai.terrainData)),Xi.u_is_halo=0}il(Bi.buffers,Ai.segments,n,d,Bi.program,wi,F,C,Bi.uniformValues,Ai.terrainData)}}function il(d,e,n,c,o,y,k,x,j,A){const F=c.context;o.draw(F,F.gl.TRIANGLES,y,k,x,yt.disabled,j,A,n.id,d.layoutVertexBuffer,d.indexBuffer,e,n.paint,c.transform.zoom,d.programConfigurations.get(n.id),d.dynamicLayoutVertexBuffer,d.opacityVertexBuffer)}function Oa(d,e,n,c,o){if(!n||!c||!c.imageAtlas)return;const y=c.imageAtlas.patternPositions;let k=y[n.to.toString()],x=y[n.from.toString()];if(!k&&x&&(k=x),!x&&k&&(x=k),!k||!x){const j=o.getPaintProperty(e);k=y[j],x=y[j]}k&&x&&d.setConstantPatternPositions(k,x)}function Ts(d,e,n,c,o,y,k){const x=d.context.gl,j="fill-pattern",A=n.paint.get(j),F=A&&A.constantOr(1),C=n.getCrossfadeParameters();let G,q,$,X,K;k?(q=F&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",G=x.LINES):(q=F?"fillPattern":"fill",G=x.TRIANGLES);const Q=A.constantOr(null);for(const ni of c){const Z=e.getTile(ni);if(F&&!Z.patternsLoaded())continue;const si=Z.getBucket(n);if(!si)continue;const di=si.programConfigurations.get(n.id),yi=d.useProgram(q,di),wi=d.style.map.terrain&&d.style.map.terrain.getTerrainData(ni);F&&(d.context.activeTexture.set(x.TEXTURE0),Z.imageAtlasTexture.bind(x.LINEAR,x.CLAMP_TO_EDGE),di.updatePaintBuffers(C)),Oa(di,j,Q,Z,n);const vi=wi?ni:null,Oi=d.translatePosMatrix(vi?vi.posMatrix:ni.posMatrix,Z,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(k){X=si.indexBuffer2,K=si.segments2;const $i=[x.drawingBufferWidth,x.drawingBufferHeight];$=q==="fillOutlinePattern"&&F?n0(Oi,d,C,Z,$i):a0(Oi,$i)}else X=si.indexBuffer,K=si.segments,$=F?ml(Oi,d,C,Z):Hl(Oi);yi.draw(d.context,G,o,d.stencilModeForClipping(ni),y,yt.disabled,$,wi,n.id,si.layoutVertexBuffer,X,K,n.paint,d.transform.zoom,di)}}function Tc(d,e,n,c,o,y,k){const x=d.context,j=x.gl,A="fill-extrusion-pattern",F=n.paint.get(A),C=F.constantOr(1),G=n.getCrossfadeParameters(),q=n.paint.get("fill-extrusion-opacity"),$=F.constantOr(null);for(const X of c){const K=e.getTile(X),Q=K.getBucket(n);if(!Q)continue;const ni=d.style.map.terrain&&d.style.map.terrain.getTerrainData(X),Z=Q.programConfigurations.get(n.id),si=d.useProgram(C?"fillExtrusionPattern":"fillExtrusion",Z);C&&(d.context.activeTexture.set(j.TEXTURE0),K.imageAtlasTexture.bind(j.LINEAR,j.CLAMP_TO_EDGE),Z.updatePaintBuffers(G)),Oa(Z,A,$,K,n);const di=d.translatePosMatrix(X.posMatrix,K,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),yi=n.paint.get("fill-extrusion-vertical-gradient"),wi=C?_c(di,d,yi,q,X,G,K):kc(di,d,yi,q);si.draw(x,x.gl.TRIANGLES,o,y,k,yt.backCCW,wi,ni,n.id,Q.layoutVertexBuffer,Q.indexBuffer,Q.segments,n.paint,d.transform.zoom,Z,d.style.map.terrain&&Q.centroidVertexBuffer)}}function Rs(d,e,n,c,o,y,k){const x=d.context,j=x.gl,A=n.fbo;if(!A)return;const F=d.useProgram("hillshade"),C=d.style.map.terrain&&d.style.map.terrain.getTerrainData(e);x.activeTexture.set(j.TEXTURE0),j.bindTexture(j.TEXTURE_2D,A.colorAttachment.get()),F.draw(x,j.TRIANGLES,o,y,k,yt.disabled,((G,q,$,X)=>{const K=$.paint.get("hillshade-shadow-color"),Q=$.paint.get("hillshade-highlight-color"),ni=$.paint.get("hillshade-accent-color");let Z=$.paint.get("hillshade-illumination-direction")*(Math.PI/180);$.paint.get("hillshade-illumination-anchor")==="viewport"&&(Z-=G.transform.angle);const si=!G.options.moving;return{u_matrix:X?X.posMatrix:G.transform.calculatePosMatrix(q.tileID.toUnwrapped(),si),u_image:0,u_latrange:Va(0,q.tileID),u_light:[$.paint.get("hillshade-exaggeration"),Z],u_shadow:K,u_highlight:Q,u_accent:ni}})(d,n,c,C?e:null),C,c.id,d.rasterBoundsBuffer,d.quadTriangleIndexBuffer,d.rasterBoundsSegments)}function el(d,e,n,c,o,y){const k=d.context,x=k.gl,j=e.dem;if(j&&j.data){const A=j.dim,F=j.stride,C=j.getPixels();if(k.activeTexture.set(x.TEXTURE1),k.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||d.getTileTexture(F),e.demTexture){const q=e.demTexture;q.update(C,{premultiply:!1}),q.bind(x.NEAREST,x.CLAMP_TO_EDGE)}else e.demTexture=new Yi(k,C,x.RGBA,{premultiply:!1}),e.demTexture.bind(x.NEAREST,x.CLAMP_TO_EDGE);k.activeTexture.set(x.TEXTURE0);let G=e.fbo;if(!G){const q=new Yi(k,{width:A,height:A,data:null},x.RGBA);q.bind(x.LINEAR,x.CLAMP_TO_EDGE),G=e.fbo=k.createFramebuffer(A,A,!0,!1),G.colorAttachment.set(q.texture)}k.bindFramebuffer.set(G.framebuffer),k.viewport.set([0,0,A,A]),d.useProgram("hillshadePrepare").draw(k,x.TRIANGLES,c,o,y,yt.disabled,((q,$)=>{const X=$.stride,K=r.H();return r.aQ(K,0,r.X,-r.X,0,0,1),r.J(K,K,[0,-r.X,0]),{u_matrix:K,u_image:1,u_dimension:[X,X],u_zoom:q.overscaledZ,u_unpack:$.getUnpackVector()}})(e.tileID,j),null,n.id,d.rasterBoundsBuffer,d.quadTriangleIndexBuffer,d.rasterBoundsSegments),e.needsHillshadePrepare=!1}}function Rc(d,e,n,c,o,y){const k=c.paint.get("raster-fade-duration");if(!y&&k>0){const x=V.now(),j=(x-d.timeAdded)/k,A=e?(x-e.timeAdded)/k:-1,F=n.getSource(),C=o.coveringZoomLevel({tileSize:F.tileSize,roundZoom:F.roundZoom}),G=!e||Math.abs(e.tileID.overscaledZ-C)>Math.abs(d.tileID.overscaledZ-C),q=G&&d.refreshedUponExpiration?1:r.ad(G?j:1-A,0,1);return d.refreshedUponExpiration&&j>=1&&(d.refreshedUponExpiration=!1),e?{opacity:1,mix:1-q}:{opacity:q,mix:0}}return{opacity:1,mix:0}}const Dc=new r.aN(1,0,0,1),Zl=new r.aN(0,1,0,1),Nc=new r.aN(0,0,1,1),cr=new r.aN(1,0,1,1),gl=new r.aN(0,1,1,1);function tl(d,e,n,c){Sl(d,0,e+n/2,d.transform.width,n,c)}function Ds(d,e,n,c){Sl(d,e-n/2,0,n,d.transform.height,c)}function Sl(d,e,n,c,o,y){const k=d.context,x=k.gl;x.enable(x.SCISSOR_TEST),x.scissor(e*d.pixelRatio,n*d.pixelRatio,c*d.pixelRatio,o*d.pixelRatio),k.clear({color:y}),x.disable(x.SCISSOR_TEST)}function Ue(d,e,n){const c=d.context,o=c.gl,y=n.posMatrix,k=d.useProgram("debug"),x=Te.disabled,j=xt.disabled,A=d.colorModeForRenderPass(),F="$debug",C=d.style.map.terrain&&d.style.map.terrain.getTerrainData(n);c.activeTexture.set(o.TEXTURE0);const G=e.getTileByID(n.key).latestRawTileData,q=Math.floor((G&&G.byteLength||0)/1024),$=e.getTile(n).tileSize,X=512/Math.min($,512)*(n.overscaledZ/d.transform.zoom)*.5;let K=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(K+=` => ${n.overscaledZ}`),function(Q,ni){Q.initDebugOverlayCanvas();const Z=Q.debugOverlayCanvas,si=Q.context.gl,di=Q.debugOverlayCanvas.getContext("2d");di.clearRect(0,0,Z.width,Z.height),di.shadowColor="white",di.shadowBlur=2,di.lineWidth=1.5,di.strokeStyle="white",di.textBaseline="top",di.font="bold 36px Open Sans, sans-serif",di.fillText(ni,5,5),di.strokeText(ni,5,5),Q.debugOverlayTexture.update(Z),Q.debugOverlayTexture.bind(si.LINEAR,si.CLAMP_TO_EDGE)}(d,`${K} ${q}kB`),k.draw(c,o.TRIANGLES,x,j,rt.alphaBlended,yt.disabled,En(y,r.aN.transparent,X),null,F,d.debugBuffer,d.quadTriangleIndexBuffer,d.debugSegments),k.draw(c,o.LINE_STRIP,x,j,A,yt.disabled,En(y,r.aN.red),C,F,d.debugBuffer,d.tileBorderIndexBuffer,d.debugSegments)}function Wl(d,e,n){const c=d.context,o=c.gl,y=d.colorModeForRenderPass(),k=new Te(o.LEQUAL,Te.ReadWrite,d.depthRangeFor3D),x=d.useProgram("terrain"),j=e.getTerrainMesh();c.bindFramebuffer.set(null),c.viewport.set([0,0,d.width,d.height]);for(const A of n){const F=d.renderToTexture.getTexture(A),C=e.getTerrainData(A.tileID);c.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,F.texture);const G=d.transform.calculatePosMatrix(A.tileID.toUnwrapped()),q=e.getMeshFrameDelta(d.transform.zoom),$=d.transform.calculateFogMatrix(A.tileID.toUnwrapped()),X=Ss(G,q,$,d.style.sky,d.transform.pitch);x.draw(c,o.TRIANGLES,k,xt.disabled,y,yt.backCCW,X,C,"terrain",j.vertexBuffer,j.indexBuffer,j.segments)}}class sr{constructor(e,n,c){this.vertexBuffer=e,this.indexBuffer=n,this.segments=c}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class or{constructor(e,n){this.context=new Ls(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:r.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=re.maxUnderzooming+re.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ya}resize(e,n,c){if(this.width=Math.floor(e*c),this.height=Math.floor(n*c),this.pixelRatio=c,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const o of this.style._order)this.style._layers[o].resize()}setup(){const e=this.context,n=new r.aX;n.emplaceBack(0,0),n.emplaceBack(r.X,0),n.emplaceBack(0,r.X),n.emplaceBack(r.X,r.X),this.tileExtentBuffer=e.createVertexBuffer(n,El.members),this.tileExtentSegments=r.a0.simpleSegment(0,0,4,2);const c=new r.aX;c.emplaceBack(0,0),c.emplaceBack(r.X,0),c.emplaceBack(0,r.X),c.emplaceBack(r.X,r.X),this.debugBuffer=e.createVertexBuffer(c,El.members),this.debugSegments=r.a0.simpleSegment(0,0,4,5);const o=new r.$;o.emplaceBack(0,0,0,0),o.emplaceBack(r.X,0,r.X,0),o.emplaceBack(0,r.X,0,r.X),o.emplaceBack(r.X,r.X,r.X,r.X),this.rasterBoundsBuffer=e.createVertexBuffer(o,me.members),this.rasterBoundsSegments=r.a0.simpleSegment(0,0,4,2);const y=new r.aX;y.emplaceBack(0,0),y.emplaceBack(1,0),y.emplaceBack(0,1),y.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(y,El.members),this.viewportSegments=r.a0.simpleSegment(0,0,4,2);const k=new r.aZ;k.emplaceBack(0),k.emplaceBack(1),k.emplaceBack(3),k.emplaceBack(2),k.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(k);const x=new r.aY;x.emplaceBack(0,1,2),x.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(x);const j=this.context.gl;this.stencilClearMode=new xt({func:j.ALWAYS,mask:0},0,255,j.ZERO,j.ZERO,j.ZERO)}clearStencil(){const e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const c=r.H();r.aQ(c,0,this.width,this.height,0,0,1),r.K(c,c,[n.drawingBufferWidth,n.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,n.TRIANGLES,Te.disabled,this.stencilClearMode,rt.disabled,yt.disabled,Vl(c),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,n){if(this.currentStencilSource===e.source||!e.isTileClipped()||!n||!n.length)return;this.currentStencilSource=e.source;const c=this.context,o=c.gl;this.nextStencilID+n.length>256&&this.clearStencil(),c.setColorMode(rt.disabled),c.setDepthMode(Te.disabled);const y=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const k of n){const x=this._tileClippingMaskIDs[k.key]=this.nextStencilID++,j=this.style.map.terrain&&this.style.map.terrain.getTerrainData(k);y.draw(c,o.TRIANGLES,Te.disabled,new xt({func:o.ALWAYS,mask:0},x,255,o.KEEP,o.KEEP,o.REPLACE),rt.disabled,yt.disabled,Vl(k.posMatrix),j,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,n=this.context.gl;return new xt({func:n.NOTEQUAL,mask:255},e,255,n.KEEP,n.KEEP,n.REPLACE)}stencilModeForClipping(e){const n=this.context.gl;return new xt({func:n.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,n.KEEP,n.KEEP,n.REPLACE)}stencilConfigForOverlap(e){const n=this.context.gl,c=e.sort((k,x)=>x.overscaledZ-k.overscaledZ),o=c[c.length-1].overscaledZ,y=c[0].overscaledZ-o+1;if(y>1){this.currentStencilSource=void 0,this.nextStencilID+y>256&&this.clearStencil();const k={};for(let x=0;x({u_sky_color:Q.properties.get("sky-color"),u_horizon_color:Q.properties.get("horizon-color"),u_horizon:(ni.height/2+ni.getHorizon())*Z,u_sky_horizon_blend:Q.properties.get("sky-horizon-blend")*ni.height/2*Z}))(A,j.style.map.transform,j.pixelRatio),q=new Te(C.LEQUAL,Te.ReadWrite,[0,1]),$=xt.disabled,X=j.colorModeForRenderPass(),K=j.useProgram("sky");if(!A.mesh){const Q=new r.aX;Q.emplaceBack(-1,-1),Q.emplaceBack(1,-1),Q.emplaceBack(1,1),Q.emplaceBack(-1,1);const ni=new r.aY;ni.emplaceBack(0,1,2),ni.emplaceBack(0,2,3),A.mesh=new sr(F.createVertexBuffer(Q,El.members),F.createIndexBuffer(ni),r.a0.simpleSegment(0,0,Q.length,ni.length))}K.draw(F,C.TRIANGLES,q,$,X,yt.disabled,G,void 0,"sky",A.mesh.vertexBuffer,A.mesh.indexBuffer,A.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=c.length-1;this.currentLayer>=0;this.currentLayer--){const j=this.style._layers[c[this.currentLayer]],A=o[j.source],F=y[j.source];this._renderTileClippingMasks(j,F),this.renderLayer(this,A,j,F)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerK.source&&!K.isHidden(F)?[A.sourceCaches[K.source]]:[]),q=G.filter(K=>K.getSource().type==="vector"),$=G.filter(K=>K.getSource().type!=="vector"),X=K=>{(!C||C.getSource().maxzoomX(K)),C||$.forEach(K=>X(K)),C}(this.style,this.transform.zoom);j&&function(A,F,C){for(let G=0;G0),o&&(r.b0(n,c),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(y,k){const x=y.context,j=x.gl,A=rt.unblended,F=new Te(j.LEQUAL,Te.ReadWrite,[0,1]),C=k.getTerrainMesh(),G=k.sourceCache.getRenderableTiles(),q=y.useProgram("terrainDepth");x.bindFramebuffer.set(k.getFramebuffer("depth").framebuffer),x.viewport.set([0,0,y.width/devicePixelRatio,y.height/devicePixelRatio]),x.clear({color:r.aN.transparent,depth:1});for(const $ of G){const X=k.getTerrainData($.tileID),K={u_matrix:y.transform.calculatePosMatrix($.tileID.toUnwrapped()),u_ele_delta:k.getMeshFrameDelta(y.transform.zoom)};q.draw(x,j.TRIANGLES,F,xt.disabled,A,yt.backCCW,K,X,"terrain",C.vertexBuffer,C.indexBuffer,C.segments)}x.bindFramebuffer.set(null),x.viewport.set([0,0,y.width,y.height])}(this,this.style.map.terrain),function(y,k){const x=y.context,j=x.gl,A=rt.unblended,F=new Te(j.LEQUAL,Te.ReadWrite,[0,1]),C=k.getTerrainMesh(),G=k.getCoordsTexture(),q=k.sourceCache.getRenderableTiles(),$=y.useProgram("terrainCoords");x.bindFramebuffer.set(k.getFramebuffer("coords").framebuffer),x.viewport.set([0,0,y.width/devicePixelRatio,y.height/devicePixelRatio]),x.clear({color:r.aN.transparent,depth:1}),k.coordsIndex=[];for(const X of q){const K=k.getTerrainData(X.tileID);x.activeTexture.set(j.TEXTURE0),j.bindTexture(j.TEXTURE_2D,G.texture);const Q={u_matrix:y.transform.calculatePosMatrix(X.tileID.toUnwrapped()),u_terrain_coords_id:(255-k.coordsIndex.length)/255,u_texture:0,u_ele_delta:k.getMeshFrameDelta(y.transform.zoom)};$.draw(x,j.TRIANGLES,F,xt.disabled,A,yt.backCCW,Q,K,"terrain",C.vertexBuffer,C.indexBuffer,C.segments),k.coordsIndex.push(X.tileID.key)}x.bindFramebuffer.set(null),x.viewport.set([0,0,y.width,y.height])}(this,this.style.map.terrain))}renderLayer(e,n,c,o){if(!c.isHidden(this.transform.zoom)&&(c.type==="background"||c.type==="custom"||(o||[]).length))switch(this.id=c.id,c.type){case"symbol":(function(y,k,x,j,A){if(y.renderPass!=="translucent")return;const F=xt.disabled,C=y.colorModeForRenderPass();(x._unevaluatedLayout.hasValue("text-variable-anchor")||x._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(G,q,$,X,K,Q,ni,Z,si){const di=q.transform,yi=fc(),wi=K==="map",vi=Q==="map";for(const Oi of G){const $i=X.getTile(Oi),Ai=$i.getBucket($);if(!Ai||!Ai.text||!Ai.text.segments.get().length)continue;const Bi=r.ah(Ai.textSizeData,di.zoom),Xi=xe($i,1,q.transform.zoom),Ie=Pn(Oi.posMatrix,vi,wi,q.transform,Xi),Ri=$.layout.get("icon-text-fit")!=="none"&&Ai.hasIconData();if(Bi){const zi=Math.pow(2,di.zoom-$i.tileID.overscaledZ),he=q.style.map.terrain?(Ae,Re)=>q.style.map.terrain.getElevation(Oi,Ae,Re):null,ht=yi.translatePosition(di,$i,ni,Z);Fc(Ai,wi,vi,si,di,Ie,Oi.posMatrix,zi,Bi,Ri,yi,ht,Oi.toUnwrapped(),he)}}}(j,y,x,k,x.layout.get("text-rotation-alignment"),x.layout.get("text-pitch-alignment"),x.paint.get("text-translate"),x.paint.get("text-translate-anchor"),A),x.paint.get("icon-opacity").constantOr(1)!==0&&qn(y,k,x,j,!1,x.paint.get("icon-translate"),x.paint.get("icon-translate-anchor"),x.layout.get("icon-rotation-alignment"),x.layout.get("icon-pitch-alignment"),x.layout.get("icon-keep-upright"),F,C),x.paint.get("text-opacity").constantOr(1)!==0&&qn(y,k,x,j,!0,x.paint.get("text-translate"),x.paint.get("text-translate-anchor"),x.layout.get("text-rotation-alignment"),x.layout.get("text-pitch-alignment"),x.layout.get("text-keep-upright"),F,C),k.map.showCollisionBoxes&&(lr(y,k,x,j,!0),lr(y,k,x,j,!1))})(e,n,c,o,this.style.placement.variableOffsets);break;case"circle":(function(y,k,x,j){if(y.renderPass!=="translucent")return;const A=x.paint.get("circle-opacity"),F=x.paint.get("circle-stroke-width"),C=x.paint.get("circle-stroke-opacity"),G=!x.layout.get("circle-sort-key").isConstant();if(A.constantOr(1)===0&&(F.constantOr(1)===0||C.constantOr(1)===0))return;const q=y.context,$=q.gl,X=y.depthModeForSublayer(0,Te.ReadOnly),K=xt.disabled,Q=y.colorModeForRenderPass(),ni=[];for(let Z=0;ZZ.sortKey-si.sortKey);for(const Z of ni){const{programConfiguration:si,program:di,layoutVertexBuffer:yi,indexBuffer:wi,uniformValues:vi,terrainData:Oi}=Z.state;di.draw(q,$.TRIANGLES,X,K,Q,yt.disabled,vi,Oi,x.id,yi,wi,Z.segments,x.paint,y.transform.zoom,si)}})(e,n,c,o);break;case"heatmap":(function(y,k,x,j){if(x.paint.get("heatmap-opacity")!==0)if(y.renderPass==="offscreen"){const A=y.context,F=A.gl,C=xt.disabled,G=new rt([F.ONE,F.ONE],r.aN.transparent,[!0,!0,!0,!0]);(function(q,$,X){const K=q.gl;q.activeTexture.set(K.TEXTURE1),q.viewport.set([0,0,$.width/4,$.height/4]);let Q=X.heatmapFbo;if(Q)K.bindTexture(K.TEXTURE_2D,Q.colorAttachment.get()),q.bindFramebuffer.set(Q.framebuffer);else{const ni=K.createTexture();K.bindTexture(K.TEXTURE_2D,ni),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.CLAMP_TO_EDGE),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.CLAMP_TO_EDGE),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),Q=X.heatmapFbo=q.createFramebuffer($.width/4,$.height/4,!1,!1),function(Z,si,di,yi){var wi,vi;const Oi=Z.gl,$i=(wi=Z.HALF_FLOAT)!==null&&wi!==void 0?wi:Oi.UNSIGNED_BYTE,Ai=(vi=Z.RGBA16F)!==null&&vi!==void 0?vi:Oi.RGBA;Oi.texImage2D(Oi.TEXTURE_2D,0,Ai,si.width/4,si.height/4,0,Oi.RGBA,$i,null),yi.colorAttachment.set(di)}(q,$,ni,Q)}})(A,y,x),A.clear({color:r.aN.transparent});for(let q=0;q{const Z=r.H();r.aQ(Z,0,X.width,X.height,0,0,1);const si=X.context.gl;return{u_matrix:Z,u_world:[si.drawingBufferWidth,si.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:K.paint.get("heatmap-opacity")}})(A,F),null,F.id,A.viewportBuffer,A.quadTriangleIndexBuffer,A.viewportSegments,F.paint,A.transform.zoom)}(y,x))})(e,n,c,o);break;case"line":(function(y,k,x,j){if(y.renderPass!=="translucent")return;const A=x.paint.get("line-opacity"),F=x.paint.get("line-width");if(A.constantOr(1)===0||F.constantOr(1)===0)return;const C=y.depthModeForSublayer(0,Te.ReadOnly),G=y.colorModeForRenderPass(),q=x.paint.get("line-dasharray"),$=x.paint.get("line-pattern"),X=$.constantOr(1),K=x.paint.get("line-gradient"),Q=x.getCrossfadeParameters(),ni=X?"linePattern":q?"lineSDF":K?"lineGradient":"line",Z=y.context,si=Z.gl;let di=!0;for(const yi of j){const wi=k.getTile(yi);if(X&&!wi.patternsLoaded())continue;const vi=wi.getBucket(x);if(!vi)continue;const Oi=vi.programConfigurations.get(x.id),$i=y.context.program.get(),Ai=y.useProgram(ni,Oi),Bi=di||Ai.program!==$i,Xi=y.style.map.terrain&&y.style.map.terrain.getTerrainData(yi),Ie=$.constantOr(null);if(Ie&&wi.imageAtlas){const he=wi.imageAtlas,ht=he.patternPositions[Ie.to.toString()],Ae=he.patternPositions[Ie.from.toString()];ht&&Ae&&Oi.setConstantPatternPositions(ht,Ae)}const Ri=Xi?yi:null,zi=X?qo(y,wi,x,Q,Ri):q?Ho(y,wi,x,q,Q,Ri):K?xc(y,wi,x,vi.lineClipsArray.length,Ri):Ol(y,wi,x,Ri);if(X)Z.activeTexture.set(si.TEXTURE0),wi.imageAtlasTexture.bind(si.LINEAR,si.CLAMP_TO_EDGE),Oi.updatePaintBuffers(Q);else if(q&&(Bi||y.lineAtlas.dirty))Z.activeTexture.set(si.TEXTURE0),y.lineAtlas.bind(Z);else if(K){const he=vi.gradients[x.id];let ht=he.texture;if(x.gradientVersion!==he.version){let Ae=256;if(x.stepInterpolant){const Re=k.getSource().maxzoom,ft=yi.canonical.z===Re?Math.ceil(1<0?n.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;const n=this.imageManager.getPattern(e.from.toString()),c=this.imageManager.getPattern(e.to.toString());return!n||!c}useProgram(e,n){this.cache=this.cache||{};const c=e+(n?n.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[c]||(this.cache[c]=new Ic(this.context,zn[e],n,bc[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[c]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new Yi(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:e,drawingBufferHeight:n}=this.context.gl;return this.width!==e||this.height!==n}}class al{constructor(e,n){this.points=e,this.planes=n}static fromInvProjectionMatrix(e,n,c){const o=Math.pow(2,c),y=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(x=>{const j=1/(x=r.ag([],x,e))[3]/n*o;return r.b1(x,x,[j,j,1/x[3],j])}),k=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(x=>{const j=function(G,q){var $=q[0],X=q[1],K=q[2],Q=$*$+X*X+K*K;return Q>0&&(Q=1/Math.sqrt(Q)),G[0]=q[0]*Q,G[1]=q[1]*Q,G[2]=q[2]*Q,G}([],function(G,q,$){var X=q[0],K=q[1],Q=q[2],ni=$[0],Z=$[1],si=$[2];return G[0]=K*si-Q*Z,G[1]=Q*ni-X*si,G[2]=X*Z-K*ni,G}([],ue([],y[x[0]],y[x[1]]),ue([],y[x[2]],y[x[1]]))),A=-((F=j)[0]*(C=y[x[1]])[0]+F[1]*C[1]+F[2]*C[2]);var F,C;return j.concat(A)});return new al(y,k)}}class Gc{constructor(e,n){this.min=e,this.max=n,this.center=function(c,o,y){return c[0]=.5*o[0],c[1]=.5*o[1],c[2]=.5*o[2],c}([],function(c,o,y){return c[0]=o[0]+y[0],c[1]=o[1]+y[1],c[2]=o[2]+y[2],c}([],this.min,this.max))}quadrant(e){const n=[e%2==0,e<2],c=Ki(this.min),o=Ki(this.max);for(let y=0;y=0&&k++;if(k===0)return 0;k!==n.length&&(c=!1)}if(c)return 2;for(let o=0;o<3;o++){let y=Number.MAX_VALUE,k=-Number.MAX_VALUE;for(let x=0;xthis.max[o]-this.min[o])return 0}return 1}}class Pc{constructor(e=0,n=0,c=0,o=0){if(isNaN(e)||e<0||isNaN(n)||n<0||isNaN(c)||c<0||isNaN(o)||o<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=n,this.left=c,this.right=o}interpolate(e,n,c){return n.top!=null&&e.top!=null&&(this.top=r.z.number(e.top,n.top,c)),n.bottom!=null&&e.bottom!=null&&(this.bottom=r.z.number(e.bottom,n.bottom,c)),n.left!=null&&e.left!=null&&(this.left=r.z.number(e.left,n.left,c)),n.right!=null&&e.right!=null&&(this.right=r.z.number(e.right,n.right,c)),this}getCenter(e,n){const c=r.ad((this.left+e-this.right)/2,0,e),o=r.ad((this.top+n-this.bottom)/2,0,n);return new r.P(c,o)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new Pc(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Ns=85.051129;class Gs{constructor(e,n,c,o,y){this.tileSize=512,this._renderWorldCopies=y===void 0||!!y,this._minZoom=e||0,this._maxZoom=n||22,this._minPitch=c??0,this._maxPitch=o??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new r.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Pc,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const e=new Gs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new r.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const n=-r.b3(e,-180,180)*Math.PI/180;this.angle!==n&&(this._unmodified=!1,this.angle=n,this._calcMatrices(),this.rotationMatrix=function(){var c=new r.A(4);return r.A!=Float32Array&&(c[1]=0,c[2]=0),c[0]=1,c[3]=1,c}(),function(c,o,y){var k=o[0],x=o[1],j=o[2],A=o[3],F=Math.sin(y),C=Math.cos(y);c[0]=k*C+j*F,c[1]=x*C+A*F,c[2]=k*-F+j*C,c[3]=x*-F+A*C}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const n=r.ad(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==n&&(this._unmodified=!1,this._pitch=n,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){const n=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this.tileZoom=Math.max(0,Math.floor(n)),this.scale=this.zoomScale(n),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,n,c){this._unmodified=!1,this._edgeInsets.interpolate(e,n,c),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){const n=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,n)}getVisibleUnwrappedCoordinates(e){const n=[new r.b4(0,e)];if(this._renderWorldCopies){const c=this.pointCoordinate(new r.P(0,0)),o=this.pointCoordinate(new r.P(this.width,0)),y=this.pointCoordinate(new r.P(this.width,this.height)),k=this.pointCoordinate(new r.P(0,this.height)),x=Math.floor(Math.min(c.x,o.x,y.x,k.x)),j=Math.floor(Math.max(c.x,o.x,y.x,k.x)),A=1;for(let F=x-A;F<=j+A;F++)F!==0&&n.push(new r.b4(F,e))}return n}coveringTiles(e){var n,c;let o=this.coveringZoomLevel(e);const y=o;if(e.minzoom!==void 0&&oe.maxzoom&&(o=e.maxzoom);const k=this.pointCoordinate(this.getCameraPoint()),x=r.Z.fromLngLat(this.center),j=Math.pow(2,o),A=[j*k.x,j*k.y,0],F=[j*x.x,j*x.y,0],C=al.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,o);let G=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(G=o);const q=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,$=Z=>({aabb:new Gc([Z*j,0,0],[(Z+1)*j,j,0]),zoom:0,x:0,y:0,wrap:Z,fullyVisible:!1}),X=[],K=[],Q=o,ni=e.reparseOverscaled?y:o;if(this._renderWorldCopies)for(let Z=1;Z<=3;Z++)X.push($(-Z)),X.push($(Z));for(X.push($(0));X.length>0;){const Z=X.pop(),si=Z.x,di=Z.y;let yi=Z.fullyVisible;if(!yi){const Ai=Z.aabb.intersects(C);if(Ai===0)continue;yi=Ai===2}const wi=e.terrain?A:F,vi=Z.aabb.distanceX(wi),Oi=Z.aabb.distanceY(wi),$i=Math.max(Math.abs(vi),Math.abs(Oi));if(Z.zoom===Q||$i>q+(1<=G){const Ai=Q-Z.zoom,Bi=A[0]-.5-(si<>1),Ie=Z.zoom+1;let Ri=Z.aabb.quadrant(Ai);if(e.terrain){const zi=new r.S(Ie,Z.wrap,Ie,Bi,Xi),he=e.terrain.getMinMaxElevation(zi),ht=(n=he.minElevation)!==null&&n!==void 0?n:this.elevation,Ae=(c=he.maxElevation)!==null&&c!==void 0?c:this.elevation;Ri=new Gc([Ri.min[0],Ri.min[1],ht],[Ri.max[0],Ri.max[1],Ae])}X.push({aabb:Ri,zoom:Ie,x:Bi,y:Xi,wrap:Z.wrap,fullyVisible:yi})}}return K.sort((Z,si)=>Z.distanceSq-si.distanceSq).map(Z=>Z.tileID)}resize(e,n){this.width=e,this.height=n,this.pixelsToGLUnits=[2/e,-2/n],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){const n=r.ad(e.lat,-85.051129,Ns);return new r.P(r.O(e.lng)*this.worldSize,r.Q(n)*this.worldSize)}unproject(e){return new r.Z(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){const n=this.elevation,c=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,o=this.pointLocation(this.centerPoint,e),y=e.getElevationForLngLatZoom(o,this.tileZoom);if(!(this.elevation-y))return;const k=c+n-y,x=Math.cos(this._pitch)*this.cameraToCenterDistance/k/r.b5(1,o.lat),j=this.scaleZoom(x/this.tileSize);this._elevation=y,this._center=o,this.zoom=j}setLocationAtPoint(e,n){const c=this.pointCoordinate(n),o=this.pointCoordinate(this.centerPoint),y=this.locationCoordinate(e),k=new r.Z(y.x-(c.x-o.x),y.y-(c.y-o.y));this.center=this.coordinateLocation(k),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,n){return n?this.coordinatePoint(this.locationCoordinate(e),n.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,n){return this.coordinateLocation(this.pointCoordinate(e,n))}locationCoordinate(e){return r.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,n){if(n){const G=n.pointCoordinate(e);if(G!=null)return G}const c=[e.x,e.y,0,1],o=[e.x,e.y,1,1];r.ag(c,c,this.pixelMatrixInverse),r.ag(o,o,this.pixelMatrixInverse);const y=c[3],k=o[3],x=c[1]/y,j=o[1]/k,A=c[2]/y,F=o[2]/k,C=A===F?0:(0-A)/(F-A);return new r.Z(r.z.number(c[0]/y,o[0]/k,C)/this.worldSize,r.z.number(x,j,C)/this.worldSize)}coordinatePoint(e,n=0,c=this.pixelMatrix){const o=[e.x*this.worldSize,e.y*this.worldSize,n,1];return r.ag(o,o,c),new r.P(o[0]/o[3],o[1]/o[3])}getBounds(){const e=Math.max(0,this.height/2-this.getHorizon());return new gi().extend(this.pointLocation(new r.P(0,e))).extend(this.pointLocation(new r.P(this.width,e))).extend(this.pointLocation(new r.P(this.width,this.height))).extend(this.pointLocation(new r.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new gi([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Ns])}calculateTileMatrix(e){const n=e.canonical,c=this.worldSize/this.zoomScale(n.z),o=n.x+Math.pow(2,n.z)*e.wrap,y=r.ao(new Float64Array(16));return r.J(y,y,[o*c,n.y*c,0]),r.K(y,y,[c/r.X,c/r.X,1]),y}calculatePosMatrix(e,n=!1){const c=e.key,o=n?this._alignedPosMatrixCache:this._posMatrixCache;if(o[c])return o[c];const y=this.calculateTileMatrix(e);return r.L(y,n?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,y),o[c]=new Float32Array(y),o[c]}calculateFogMatrix(e){const n=e.key,c=this._fogMatrixCache;if(c[n])return c[n];const o=this.calculateTileMatrix(e);return r.L(o,this.fogMatrix,o),c[n]=new Float32Array(o),c[n]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,n){n=r.ad(+n,this.minZoom,this.maxZoom);const c={center:new r.N(e.lng,e.lat),zoom:n};let o=this.lngRange;if(!this._renderWorldCopies&&o===null){const Z=179.9999999999;o=[-Z,Z]}const y=this.tileSize*this.zoomScale(c.zoom);let k=0,x=y,j=0,A=y,F=0,C=0;const{x:G,y:q}=this.size;if(this.latRange){const Z=this.latRange;k=r.Q(Z[1])*y,x=r.Q(Z[0])*y,x-kx&&(Q=x-Z)}if(o){const Z=(j+A)/2;let si=$;this._renderWorldCopies&&(si=r.b3($,Z-y/2,Z+y/2));const di=G/2;si-diA&&(K=A-di)}if(K!==void 0||Q!==void 0){const Z=new r.P(K??$,Q??X);c.center=this.unproject.call({worldSize:y},Z).wrap()}return c}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const e=this._unmodified,{center:n,zoom:c}=this.getConstrained(this.center,this.zoom);this.center=n,this.zoom=c,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,n=this.point.x,c=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=r.b5(1,this.center.lat)*this.worldSize;let o=r.ao(new Float64Array(16));r.K(o,o,[this.width/2,-this.height/2,1]),r.J(o,o,[1,-1,0]),this.labelPlaneMatrix=o,o=r.ao(new Float64Array(16)),r.K(o,o,[1,-1,1]),r.J(o,o,[-1,-1,0]),r.K(o,o,[2/this.width,2/this.height,1]),this.glCoordMatrix=o;const y=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),k=Math.min(this.elevation,this.minElevationForCurrentTile),x=y-k*this._pixelPerMeter/Math.cos(this._pitch),j=k<0?x:y,A=Math.PI/2+this._pitch,F=this._fov*(.5+e.y/this.height),C=Math.sin(F)*j/Math.sin(r.ad(Math.PI-A-F,.01,Math.PI-.01)),G=this.getHorizon(),q=2*Math.atan(G/this.cameraToCenterDistance)*(.5+e.y/(2*G)),$=Math.sin(q)*j/Math.sin(r.ad(Math.PI-A-q,.01,Math.PI-.01)),X=Math.min(C,$),K=1.01*(Math.cos(Math.PI/2-this._pitch)*X+j),Q=this.height/50;o=new Float64Array(16),r.b6(o,this._fov,this.width/this.height,Q,K),o[8]=2*-e.x/this.width,o[9]=2*e.y/this.height,r.K(o,o,[1,-1,1]),r.J(o,o,[0,0,-this.cameraToCenterDistance]),r.b7(o,o,this._pitch),r.ae(o,o,this.angle),r.J(o,o,[-n,-c,0]),this.mercatorMatrix=r.K([],o,[this.worldSize,this.worldSize,this.worldSize]),r.K(o,o,[1,1,this._pixelPerMeter]),this.pixelMatrix=r.L(new Float64Array(16),this.labelPlaneMatrix,o),r.J(o,o,[0,0,-this.elevation]),this.modelViewProjectionMatrix=o,this.invModelViewProjectionMatrix=r.at([],o),this.fogMatrix=new Float64Array(16),r.b6(this.fogMatrix,this._fov,this.width/this.height,y,K),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.y/this.height,r.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),r.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),r.b7(this.fogMatrix,this.fogMatrix,this._pitch),r.ae(this.fogMatrix,this.fogMatrix,this.angle),r.J(this.fogMatrix,this.fogMatrix,[-n,-c,0]),r.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),r.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=r.L(new Float64Array(16),this.labelPlaneMatrix,o);const ni=this.width%2/2,Z=this.height%2/2,si=Math.cos(this.angle),di=Math.sin(this.angle),yi=n-Math.round(n)+si*ni+di*Z,wi=c-Math.round(c)+si*Z+di*ni,vi=new Float64Array(o);if(r.J(vi,vi,[yi>.5?yi-1:yi,wi>.5?wi-1:wi,0]),this.alignedModelViewProjectionMatrix=vi,o=r.at(new Float64Array(16),this.pixelMatrix),!o)throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new r.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return r.ag(n,n,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new r.P(0,e))}getCameraQueryGeometry(e){const n=this.getCameraPoint();if(e.length===1)return[e[0],n];{let c=n.x,o=n.y,y=n.x,k=n.y;for(const x of e)c=Math.min(c,x.x),o=Math.min(o,x.y),y=Math.max(y,x.x),k=Math.max(k,x.y);return[new r.P(c,o),new r.P(y,o),new r.P(y,k),new r.P(c,k),new r.P(c,o)]}}lngLatToCameraDepth(e,n){const c=this.locationCoordinate(e),o=[c.x*this.worldSize,c.y*this.worldSize,n,1];return r.ag(o,o,this.modelViewProjectionMatrix),o[2]/o[3]}}function Mc(d,e){let n,c=!1,o=null,y=null;const k=()=>{o=null,c&&(d.apply(y,n),o=setTimeout(k,e),c=!1)};return(...x)=>(c=!0,y=this,n=x,o||k(),o)}class Xl{constructor(e){this._getCurrentHash=()=>{const n=window.location.hash.replace("#","");if(this._hashName){let c;return n.split("&").map(o=>o.split("=")).forEach(o=>{o[0]===this._hashName&&(c=o)}),(c&&c[1]||"").split("/")}return n.split("/")},this._onHashChange=()=>{const n=this._getCurrentHash();if(n.length>=3&&!n.some(c=>isNaN(c))){const c=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(n[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+n[2],+n[1]],zoom:+n[0],bearing:c,pitch:+(n[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const n=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,n)}catch{}},this._updateHash=Mc(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(e){const n=this._map.getCenter(),c=Math.round(100*this._map.getZoom())/100,o=Math.ceil((c*Math.LN2+Math.log(512/360/.5))/Math.LN10),y=Math.pow(10,o),k=Math.round(n.lng*y)/y,x=Math.round(n.lat*y)/y,j=this._map.getBearing(),A=this._map.getPitch();let F="";if(F+=e?`/${k}/${x}/${c}`:`${c}/${x}/${k}`,(j||A)&&(F+="/"+Math.round(10*j)/10),A&&(F+=`/${Math.round(A)}`),this._hashName){const C=this._hashName;let G=!1;const q=window.location.hash.slice(1).split("&").map($=>{const X=$.split("=")[0];return X===C?(G=!0,`${X}=${F}`):$}).filter($=>$);return G||q.push(`${C}=${F}`),`#${q.join("&")}`}return`#${F}`}}const nl={linearity:.3,easing:r.b8(0,0,.3,1)},Ps=r.e({deceleration:2500,maxSpeed:1400},nl),Ms=r.e({deceleration:20,maxSpeed:1400},nl),rr=r.e({deceleration:1e3,maxSpeed:360},nl),zc=r.e({deceleration:1e3,maxSpeed:90},nl);class Ec{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:V.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,n=V.now();for(;e.length>0&&n-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const n={zoom:0,bearing:0,pitch:0,pan:new r.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:y}of this._inertiaBuffer)n.zoom+=y.zoomDelta||0,n.bearing+=y.bearingDelta||0,n.pitch+=y.pitchDelta||0,y.panDelta&&n.pan._add(y.panDelta),y.around&&(n.around=y.around),y.pinchAround&&(n.pinchAround=y.pinchAround);const c=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,o={};if(n.pan.mag()){const y=qc(n.pan.mag(),c,r.e({},Ps,e||{}));o.offset=n.pan.mult(y.amount/n.pan.mag()),o.center=this._map.transform.center,Il(o,y)}if(n.zoom){const y=qc(n.zoom,c,Ms);o.zoom=this._map.transform.zoom+y.amount,Il(o,y)}if(n.bearing){const y=qc(n.bearing,c,rr);o.bearing=this._map.transform.bearing+r.ad(y.amount,-179,179),Il(o,y)}if(n.pitch){const y=qc(n.pitch,c,zc);o.pitch=this._map.transform.pitch+y.amount,Il(o,y)}if(o.zoom||o.bearing){const y=n.pinchAround===void 0?n.around:n.pinchAround;o.around=y?this._map.unproject(y):this._map.getCenter()}return this.clear(),r.e(o,{noMoveStart:!0})}}function Il(d,e){(!d.duration||d.durationn.unproject(j)),x=y.reduce((j,A,F,C)=>j.add(A.div(C.length)),new r.P(0,0));super(e,{points:y,point:x,lngLats:k,lngLat:n.unproject(x),originalEvent:c}),this._defaultPrevented=!1}}class zs extends r.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,c){super(e,{originalEvent:c}),this._defaultPrevented=!1}}class Hc{constructor(e,n){this._map=e,this._clickTolerance=n.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new zs(e.type,this._map,e))}mousedown(e,n){return this._mousedownPos=n,this._firePreventable(new ba(e.type,this._map,e))}mouseup(e){this._map.fire(new ba(e.type,this._map,e))}click(e,n){this._mousedownPos&&this._mousedownPos.dist(n)>=this._clickTolerance||this._map.fire(new ba(e.type,this._map,e))}dblclick(e){return this._firePreventable(new ba(e.type,this._map,e))}mouseover(e){this._map.fire(new ba(e.type,this._map,e))}mouseout(e){this._map.fire(new ba(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Yl(e.type,this._map,e))}touchmove(e){this._map.fire(new Yl(e.type,this._map,e))}touchend(e){this._map.fire(new Yl(e.type,this._map,e))}touchcancel(e){this._map.fire(new Yl(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Es{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new ba(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ba("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new ba(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class wl{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(r.P.convert(e),this._map.terrain)}}class qs{constructor(e,n){this._map=e,this._tr=new wl(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=n.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,n){this.isEnabled()&&e.shiftKey&&e.button===0&&(E.disableDrag(),this._startPos=this._lastPos=n,this._active=!0)}mousemoveWindow(e,n){if(!this._active)return;const c=n;if(this._lastPos.equals(c)||!this._box&&c.dist(this._startPos)y.fitScreenCoordinates(c,o,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(E.remove(this._box),this._box=null),E.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new r.k(e,{originalEvent:n}))}}function kl(d,e){if(d.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${d.length}, points ${e.length}`);const n={};for(let c=0;cthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),c.length===this.numTouches&&(this.centroid=function(o){const y=new r.P(0,0);for(const k of o)y._add(k);return y.div(o.length)}(n),this.touches=kl(c,n)))}touchmove(e,n,c){if(this.aborted||!this.centroid)return;const o=kl(c,n);for(const y in this.touches){const k=o[y];(!k||k.dist(this.touches[y])>30)&&(this.aborted=!0)}}touchend(e,n,c){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),c.length===0){const o=!this.aborted&&this.centroid;if(this.reset(),o)return o}}}class Vs{constructor(e){this.singleTap=new Hs(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,n,c){this.singleTap.touchstart(e,n,c)}touchmove(e,n,c){this.singleTap.touchmove(e,n,c)}touchend(e,n,c){const o=this.singleTap.touchend(e,n,c);if(o){const y=e.timeStamp-this.lastTime<500,k=!this.lastTap||this.lastTap.dist(o)<30;if(y&&k||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class pr{constructor(e){this._tr=new wl(e),this._zoomIn=new Vs({numTouches:1,numTaps:2}),this._zoomOut=new Vs({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,n,c){this._zoomIn.touchstart(e,n,c),this._zoomOut.touchstart(e,n,c)}touchmove(e,n,c){this._zoomIn.touchmove(e,n,c),this._zoomOut.touchmove(e,n,c)}touchend(e,n,c){const o=this._zoomIn.touchend(e,n,c),y=this._zoomOut.touchend(e,n,c),k=this._tr;return o?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:k.zoom+1,around:k.unproject(o)},{originalEvent:e})}):y?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:k.zoom-1,around:k.unproject(y)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class mt{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){const n=this._moveFunction(...e);if(n.bearingDelta||n.pitchDelta||n.around||n.panDelta)return this._active=!0,n}dragStart(e,n){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=n.length?n[0]:n,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,n){if(!this.isEnabled())return;const c=this._lastPoint;if(!c)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);const o=n.length?n[0]:n;return!this._moved&&o.dist(c){d.mousedown=d.dragStart,d.mousemoveWindow=d.dragMove,d.mouseup=d.dragEnd,d.contextmenu=e=>{e.preventDefault()}},Os=({enable:d,clickTolerance:e,bearingDegreesPerPixelMoved:n=.8})=>{const c=new Ca({checkCorrectEvent:o=>E.mouseButton(o)===0&&o.ctrlKey||E.mouseButton(o)===2});return new mt({clickTolerance:e,move:(o,y)=>({bearingDelta:(y.x-o.x)*n}),moveStateManager:c,enable:d,assignEvents:Ql})},cl=({enable:d,clickTolerance:e,pitchDegreesPerPixelMoved:n=-.5})=>{const c=new Ca({checkCorrectEvent:o=>E.mouseButton(o)===0&&o.ctrlKey||E.mouseButton(o)===2});return new mt({clickTolerance:e,move:(o,y)=>({pitchDelta:(y.y-o.y)*n}),moveStateManager:c,enable:d,assignEvents:Ql})};class ic{constructor(e,n){this._clickTolerance=e.clickTolerance||1,this._map=n,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new r.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(e,n,c){return this._calculateTransform(e,n,c)}touchmove(e,n,c){if(this._active&&!(c.length0&&(this._active=!0);const o=kl(c,n),y=new r.P(0,0),k=new r.P(0,0);let x=0;for(const A in o){const F=o[A],C=this._touches[A];C&&(y._add(F),k._add(F.sub(C)),x++,o[A]=F)}if(this._touches=o,xMath.abs(d.x)}class Zs extends ec{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,n,c){super.touchstart(e,n,c),this._currentTouchCount=c.length}_start(e){this._lastPoints=e,Cn(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,n,c){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const o=e[0].sub(this._lastPoints[0]),y=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(o,y,c.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(o.y+y.y)/2*-.5}):void 0}gestureBeginsVertically(e,n,c){if(this._valid!==void 0)return this._valid;const o=e.mag()>=2,y=n.mag()>=2;if(!o&&!y)return;if(!o||!y)return this._firstMove===void 0&&(this._firstMove=c),c-this._firstMove<100&&void 0;const k=e.y>0==n.y>0;return Cn(e)&&Cn(n)&&k}}const ur={panStep:100,bearingStep:15,pitchStep:10};class Ws{constructor(e){this._tr=new wl(e);const n=ur;this._panStep=n.panStep,this._bearingStep=n.bearingStep,this._pitchStep=n.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let n=0,c=0,o=0,y=0,k=0;switch(e.keyCode){case 61:case 107:case 171:case 187:n=1;break;case 189:case 109:case 173:n=-1;break;case 37:e.shiftKey?c=-1:(e.preventDefault(),y=-1);break;case 39:e.shiftKey?c=1:(e.preventDefault(),y=1);break;case 38:e.shiftKey?o=1:(e.preventDefault(),k=-1);break;case 40:e.shiftKey?o=-1:(e.preventDefault(),k=1);break;default:return}return this._rotationDisabled&&(c=0,o=0),{cameraAnimation:x=>{const j=this._tr;x.easeTo({duration:300,easeId:"keyboardHandler",easing:dr,zoom:n?Math.round(j.zoom)+n*(e.shiftKey?2:1):j.zoom,bearing:j.bearing+c*this._bearingStep,pitch:j.pitch+o*this._pitchStep,offset:[-y*this._panStep,-k*this._panStep],center:j.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function dr(d){return d*(2-d)}const Xs=4.000244140625;class Ys{constructor(e,n){this._onTimeout=c=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(c)},this._map=e,this._tr=new wl(e),this._triggerRenderFrame=n,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled()||this._map.cooperativeGestures.isEnabled()&&!e[this._map.cooperativeGestures._bypassKey])return;let n=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const c=V.now(),o=c-(this._lastWheelEventTime||0);this._lastWheelEventTime=c,n!==0&&n%Xs==0?this._type="wheel":n!==0&&Math.abs(n)<4?this._type="trackpad":o>400?(this._type=null,this._lastValue=n,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(o*n)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,n+=this._lastValue)),e.shiftKey&&n&&(n/=4),this._type&&(this._lastWheelEvent=e,this._delta-=n,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const n=E.mousePos(this._map.getCanvas(),e),c=this._tr;this._around=n.y>c.transform.height/2-c.transform.getHorizon()?r.N.convert(this._aroundCenter?c.center:c.unproject(n)):r.N.convert(c.center),this._aroundPoint=c.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const e=this._tr.transform;if(this._delta!==0){const x=this._type==="wheel"&&Math.abs(this._delta)>Xs?this._wheelZoomRate:this._defaultZoomRate;let j=2/(1+Math.exp(-Math.abs(this._delta*x)));this._delta<0&&j!==0&&(j=1/j);const A=typeof this._targetZoom=="number"?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(A*j))),this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const n=typeof this._targetZoom=="number"?this._targetZoom:e.zoom,c=this._startZoom,o=this._easing;let y,k=!1;if(this._type==="wheel"&&c&&o){const x=Math.min((V.now()-this._lastWheelEventTime)/200,1),j=o(x);y=r.z.number(c,n,j),x<1?this._frameId||(this._frameId=!0):k=!0}else y=n,k=!0;return this._active=!0,k&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!k,zoomDelta:y-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=r.b9;if(this._prevEase){const c=this._prevEase,o=(V.now()-c.start)/c.duration,y=c.easing(o+.01)-c.easing(o),k=.27/Math.sqrt(y*y+1e-4)*.01,x=Math.sqrt(.0729-k*k);n=r.b8(k,x,.25,1)}return this._prevEase={start:V.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Qs{constructor(e,n){this._clickZoom=e,this._tapZoom=n}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class ac{constructor(e){this._tr=new wl(e),this.reset()}reset(){this._active=!1}dblclick(e,n){return e.preventDefault(),{cameraAnimation:c=>{c.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(n)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class yr{constructor(){this._tap=new Vs({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,n,c){if(!this._swipePoint)if(this._tapTime){const o=n[0],y=e.timeStamp-this._tapTime<500,k=this._tapPoint.dist(o)<30;y&&k?c.length>0&&(this._swipePoint=o,this._swipeTouch=c[0].identifier):this.reset()}else this._tap.touchstart(e,n,c)}touchmove(e,n,c){if(this._tapTime){if(this._swipePoint){if(c[0].identifier!==this._swipeTouch)return;const o=n[0],y=o.y-this._swipePoint.y;return this._swipePoint=o,e.preventDefault(),this._active=!0,{zoomDelta:y/128}}}else this._tap.touchmove(e,n,c)}touchend(e,n,c){if(this._tapTime)this._swipePoint&&c.length===0&&this.reset();else{const o=this._tap.touchend(e,n,c);o&&(this._tapTime=e.timeStamp,this._tapPoint=o)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Qa{constructor(e,n,c){this._el=e,this._mousePan=n,this._touchPan=c}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class sn{constructor(e,n,c){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=n,this._mousePitch=c}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class io{constructor(e,n,c,o){this._el=e,this._touchZoom=n,this._touchRotate=c,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class on{constructor(e,n){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=e,this._options=n,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=E.create("div","maplibregl-cooperative-gesture-screen",e);let n=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(n=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const c=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),o=document.createElement("div");o.className="maplibregl-desktop-message",o.textContent=n,this._container.appendChild(o);const y=document.createElement("div");y.className="maplibregl-mobile-message",y.textContent=c,this._container.appendChild(y),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(E.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(e){this._onCooperativeGesture(e.touches.length===1)}wheel(e){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!e[this._bypassKey])}_onCooperativeGesture(e){this._enabled&&e&&(this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const Fn=d=>d.zoom||d.drag||d.pitch||d.rotate;class S0 extends r.k{}function eo(d){return d.panDelta&&d.panDelta.mag()||d.zoomDelta||d.bearingDelta||d.pitchDelta}class I0{constructor(e,n){this.handleWindowEvent=o=>{this.handleEvent(o,`${o.type}Window`)},this.handleEvent=(o,y)=>{if(o.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const k=o.type==="renderFrame"?void 0:o,x={needsRenderFrame:!1},j={},A={},F=o.touches,C=F?this._getMapTouches(F):void 0,G=C?E.touchPos(this._map.getCanvas(),C):E.mousePos(this._map.getCanvas(),o);for(const{handlerName:X,handler:K,allowed:Q}of this._handlers){if(!K.isEnabled())continue;let ni;this._blockedByActive(A,Q,X)?K.reset():K[y||o.type]&&(ni=K[y||o.type](o,G,C),this.mergeHandlerResult(x,j,ni,X,k),ni&&ni.needsRenderFrame&&this._triggerRenderFrame()),(ni||K.isActive())&&(A[X]=K)}const q={};for(const X in this._previousActiveHandlers)A[X]||(q[X]=k);this._previousActiveHandlers=A,(Object.keys(q).length||eo(x))&&(this._changes.push([x,j,q]),this._triggerRenderFrame()),(Object.keys(A).length||eo(x))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:$}=x;$&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],$(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ec(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);const c=this._el;this._listeners=[[c,"touchstart",{passive:!0}],[c,"touchmove",{passive:!1}],[c,"touchend",void 0],[c,"touchcancel",void 0],[c,"mousedown",void 0],[c,"mousemove",void 0],[c,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[c,"mouseover",void 0],[c,"mouseout",void 0],[c,"dblclick",void 0],[c,"click",void 0],[c,"keydown",{capture:!1}],[c,"keyup",void 0],[c,"wheel",{passive:!1}],[c,"contextmenu",void 0],[window,"blur",void 0]];for(const[o,y,k]of this._listeners)E.addEventListener(o,y,o===document?this.handleWindowEvent:this.handleEvent,k)}destroy(){for(const[e,n,c]of this._listeners)E.removeEventListener(e,n,e===document?this.handleWindowEvent:this.handleEvent,c)}_addDefaultHandlers(e){const n=this._map,c=n.getCanvasContainer();this._add("mapEvent",new Hc(n,e));const o=n.boxZoom=new qs(n,e);this._add("boxZoom",o),e.interactive&&e.boxZoom&&o.enable();const y=n.cooperativeGestures=new on(n,e.cooperativeGestures);this._add("cooperativeGestures",y),e.cooperativeGestures&&y.enable();const k=new pr(n),x=new ac(n);n.doubleClickZoom=new Qs(x,k),this._add("tapZoom",k),this._add("clickZoom",x),e.interactive&&e.doubleClickZoom&&n.doubleClickZoom.enable();const j=new yr;this._add("tapDragZoom",j);const A=n.touchPitch=new Zs(n);this._add("touchPitch",A),e.interactive&&e.touchPitch&&n.touchPitch.enable(e.touchPitch);const F=Os(e),C=cl(e);n.dragRotate=new sn(e,F,C),this._add("mouseRotate",F,["mousePitch"]),this._add("mousePitch",C,["mouseRotate"]),e.interactive&&e.dragRotate&&n.dragRotate.enable();const G=(({enable:ni,clickTolerance:Z})=>{const si=new Ca({checkCorrectEvent:di=>E.mouseButton(di)===0&&!di.ctrlKey});return new mt({clickTolerance:Z,move:(di,yi)=>({around:yi,panDelta:yi.sub(di)}),activateOnStart:!0,moveStateManager:si,enable:ni,assignEvents:Ql})})(e),q=new ic(e,n);n.dragPan=new Qa(c,G,q),this._add("mousePan",G),this._add("touchPan",q,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&n.dragPan.enable(e.dragPan);const $=new Js,X=new Us;n.touchZoomRotate=new io(c,X,$,j),this._add("touchRotate",$,["touchPan","touchZoom"]),this._add("touchZoom",X,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&n.touchZoomRotate.enable(e.touchZoomRotate);const K=n.scrollZoom=new Ys(n,()=>this._triggerRenderFrame());this._add("scrollZoom",K,["mousePan"]),e.interactive&&e.scrollZoom&&n.scrollZoom.enable(e.scrollZoom);const Q=n.keyboard=new Ws(n);this._add("keyboard",Q),e.interactive&&e.keyboard&&n.keyboard.enable(),this._add("blockableMapEvent",new Es(n))}_add(e,n,c){this._handlers.push({handlerName:e,handler:n,allowed:c}),this._handlersById[e]=n}stop(e){if(!this._updatingCamera){for(const{handler:n}of this._handlers)n.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Fn(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,n,c){for(const o in e)if(o!==c&&(!n||n.indexOf(o)<0))return!0;return!1}_getMapTouches(e){const n=[];for(const c of e)this._el.contains(c.target)&&n.push(c);return n}mergeHandlerResult(e,n,c,o,y){if(!c)return;r.e(e,c);const k={handlerName:o,originalEvent:c.originalEvent||y};c.zoomDelta!==void 0&&(n.zoom=k),c.panDelta!==void 0&&(n.drag=k),c.pitchDelta!==void 0&&(n.pitch=k),c.bearingDelta!==void 0&&(n.rotate=k)}_applyChanges(){const e={},n={},c={};for(const[o,y,k]of this._changes)o.panDelta&&(e.panDelta=(e.panDelta||new r.P(0,0))._add(o.panDelta)),o.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+o.zoomDelta),o.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+o.bearingDelta),o.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+o.pitchDelta),o.around!==void 0&&(e.around=o.around),o.pinchAround!==void 0&&(e.pinchAround=o.pinchAround),o.noInertia&&(e.noInertia=o.noInertia),r.e(n,y),r.e(c,k);this._updateMapTransform(e,n,c),this._changes=[]}_updateMapTransform(e,n,c){const o=this._map,y=o._getTransformForUpdate(),k=o.terrain;if(!(eo(e)||k&&this._terrainMovement))return this._fireEvents(n,c,!0);let{panDelta:x,zoomDelta:j,bearingDelta:A,pitchDelta:F,around:C,pinchAround:G}=e;G!==void 0&&(C=G),o._stop(!0),C=C||o.transform.centerPoint;const q=y.pointLocation(x?C.sub(x):C);A&&(y.bearing+=A),F&&(y.pitch+=F),j&&(y.zoom+=j),k?this._terrainMovement||!n.drag&&!n.zoom?n.drag&&this._terrainMovement?y.center=y.pointLocation(y.centerPoint.sub(x)):y.setLocationAtPoint(q,C):(this._terrainMovement=!0,this._map._elevationFreeze=!0,y.setLocationAtPoint(q,C)):y.setLocationAtPoint(q,C),o._applyUpdatedTransform(y),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(n,c,!0)}_fireEvents(e,n,c){const o=Fn(this._eventsInProgress),y=Fn(e),k={};for(const C in e){const{originalEvent:G}=e[C];this._eventsInProgress[C]||(k[`${C}start`]=G),this._eventsInProgress[C]=e[C]}!o&&y&&this._fireEvent("movestart",y.originalEvent);for(const C in k)this._fireEvent(C,k[C]);y&&this._fireEvent("move",y.originalEvent);for(const C in e){const{originalEvent:G}=e[C];this._fireEvent(C,G)}const x={};let j;for(const C in this._eventsInProgress){const{handlerName:G,originalEvent:q}=this._eventsInProgress[C];this._handlersById[G].isActive()||(delete this._eventsInProgress[C],j=n[G]||q,x[`${C}end`]=j)}for(const C in x)this._fireEvent(C,x[C]);const A=Fn(this._eventsInProgress),F=(o||y)&&!A;if(F&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),c&&F){this._updatingCamera=!0;const C=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),G=q=>q!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new S0("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class w0 extends r.E{constructor(e,n){super(),this._renderFrameCallback=()=>{const c=Math.min((V.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(c)),c<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=n.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new r.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,n){return this.jumpTo({center:e},n)}panBy(e,n,c){return e=r.P.convert(e).mult(-1),this.panTo(this.transform.center,r.e({offset:e},n),c)}panTo(e,n,c){return this.easeTo(r.e({center:e},n),c)}getZoom(){return this.transform.zoom}setZoom(e,n){return this.jumpTo({zoom:e},n),this}zoomTo(e,n,c){return this.easeTo(r.e({zoom:e},n),c)}zoomIn(e,n){return this.zoomTo(this.getZoom()+1,e,n),this}zoomOut(e,n){return this.zoomTo(this.getZoom()-1,e,n),this}getBearing(){return this.transform.bearing}setBearing(e,n){return this.jumpTo({bearing:e},n),this}getPadding(){return this.transform.padding}setPadding(e,n){return this.jumpTo({padding:e},n),this}rotateTo(e,n,c){return this.easeTo(r.e({bearing:e},n),c)}resetNorth(e,n){return this.rotateTo(0,r.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(r.e({bearing:0,pitch:0,duration:1e3},e),n),this}snapToNorth(e,n){return Math.abs(this.getBearing()){if(this._zooming&&(o.zoom=r.z.number(y,K,wi)),this._rotating&&(o.bearing=r.z.number(k,A,wi)),this._pitching&&(o.pitch=r.z.number(x,F,wi)),this._padding&&(o.interpolatePadding(j,C,wi),q=o.centerPoint.add(G)),this.terrain&&!e.freezeElevation&&this._updateElevation(wi),si)o.setLocationAtPoint(si,di);else{const vi=o.zoomScale(o.zoom-y),Oi=K>y?Math.min(2,Z):Math.max(.5,Z),$i=Math.pow(Oi,1-wi),Ai=o.unproject(Q.add(ni.mult(wi*$i)).mult(vi));o.setLocationAtPoint(o.renderWorldCopies?Ai.wrap():Ai,q)}this._applyUpdatedTransform(o),this._fireMoveEvents(n)},wi=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n,wi)},e),this}_prepareEase(e,n,c={}){this._moving=!0,n||c.moving||this.fire(new r.k("movestart",e)),this._zooming&&!c.zooming&&this.fire(new r.k("zoomstart",e)),this._rotating&&!c.rotating&&this.fire(new r.k("rotatestart",e)),this._pitching&&!c.pitching&&this.fire(new r.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){const c=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(c-(n-(c*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.elevation=r.z.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(e){if(!this.transformCameraUpdate)return;const n=e.clone(),{center:c,zoom:o,pitch:y,bearing:k,elevation:x}=this.transformCameraUpdate(n);c&&(n.center=c),o!==void 0&&(n.zoom=o),y!==void 0&&(n.pitch=y),k!==void 0&&(n.bearing=k),x!==void 0&&(n.elevation=x),this.transform.apply(n)}_fireMoveEvents(e){this.fire(new r.k("move",e)),this._zooming&&this.fire(new r.k("zoom",e)),this._rotating&&this.fire(new r.k("rotate",e)),this._pitching&&this.fire(new r.k("pitch",e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;const c=this._zooming,o=this._rotating,y=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,c&&this.fire(new r.k("zoomend",e)),o&&this.fire(new r.k("rotateend",e)),y&&this.fire(new r.k("pitchend",e)),this.fire(new r.k("moveend",e))}flyTo(e,n){var c;if(!e.essential&&V.prefersReducedMotion){const zi=r.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(zi,n)}this.stop(),e=r.e({offset:[0,0],speed:1.2,curve:1.42,easing:r.b9},e);const o=this._getTransformForUpdate(),y=this.getZoom(),k=this.getBearing(),x=this.getPitch(),j=this.getPadding(),A="bearing"in e?this._normalizeBearing(e.bearing,k):k,F="pitch"in e?+e.pitch:x,C="padding"in e?e.padding:o.padding,G=r.P.convert(e.offset);let q=o.centerPoint.add(G);const $=o.pointLocation(q),{center:X,zoom:K}=o.getConstrained(r.N.convert(e.center||$),(c=e.zoom)!==null&&c!==void 0?c:y);this._normalizeCenter(X);const Q=o.zoomScale(K-y),ni=o.project($),Z=o.project(X).sub(ni);let si=e.curve;const di=Math.max(o.width,o.height),yi=di/Q,wi=Z.mag();if("minZoom"in e){const zi=r.ad(Math.min(e.minZoom,y,K),o.minZoom,o.maxZoom),he=di/o.zoomScale(zi-y);si=Math.sqrt(he/wi*2)}const vi=si*si;function Oi(zi){const he=(yi*yi-di*di+(zi?-1:1)*vi*vi*wi*wi)/(2*(zi?yi:di)*vi*wi);return Math.log(Math.sqrt(he*he+1)-he)}function $i(zi){return(Math.exp(zi)-Math.exp(-zi))/2}function Ai(zi){return(Math.exp(zi)+Math.exp(-zi))/2}const Bi=Oi(!1);let Xi=function(zi){return Ai(Bi)/Ai(Bi+si*zi)},Ie=function(zi){return di*((Ai(Bi)*($i(he=Bi+si*zi)/Ai(he))-$i(Bi))/vi)/wi;var he},Ri=(Oi(!0)-Bi)/si;if(Math.abs(wi)<1e-6||!isFinite(Ri)){if(Math.abs(di-yi)<1e-6)return this.easeTo(e,n);const zi=yi0,Xi=he=>Math.exp(zi*si*he)}return e.duration="duration"in e?+e.duration:1e3*Ri/("screenSpeed"in e?+e.screenSpeed/si:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=k!==A,this._pitching=F!==x,this._padding=!o.isPaddingEqual(C),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(X),this._ease(zi=>{const he=zi*Ri,ht=1/Xi(he);o.zoom=zi===1?K:y+o.scaleZoom(ht),this._rotating&&(o.bearing=r.z.number(k,A,zi)),this._pitching&&(o.pitch=r.z.number(x,F,zi)),this._padding&&(o.interpolatePadding(j,C,zi),q=o.centerPoint.add(G)),this.terrain&&!e.freezeElevation&&this._updateElevation(zi);const Ae=zi===1?X:o.unproject(ni.add(Z.mult(Ie(he))).mult(ht));o.setLocationAtPoint(o.renderWorldCopies?Ae.wrap():Ae,q),this._applyUpdatedTransform(o),this._fireMoveEvents(n)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,n){var c;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const o=this._onEaseEnd;delete this._onEaseEnd,o.call(this,n)}return e||(c=this.handlers)===null||c===void 0||c.stop(!1),this}_ease(e,n,c){c.animate===!1||c.duration===0?(e(1),n()):(this._easeStart=V.now(),this._easeOptions=c,this._onEaseFrame=e,this._onEaseEnd=n,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){e=r.b3(e,-180,180);const c=Math.abs(e-n);return Math.abs(e-360-n)180?-360:c<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(r.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}const to={compact:!0,customAttribution:'MapLibre'};class _l{constructor(e=to){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=n=>{!n||n.sourceDataType!=="metadata"&&n.sourceDataType!=="visibility"&&n.dataType!=="style"&&n.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=E.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=E.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=E.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){E.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,n){const c=this._map._getUIString(`AttributionControl.${n}`);e.title=c,e.setAttribute("aria-label",c)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(o=>typeof o!="string"?"":o)):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){const o=this._map.style.stylesheet;this.styleOwner=o.owner,this.styleId=o.id}const n=this._map.style.sourceCaches;for(const o in n){const y=n[o];if(y.used||y.usedForTerrain){const k=y.getSource();k.attribution&&e.indexOf(k.attribution)<0&&e.push(k.attribution)}}e=e.filter(o=>String(o).trim()),e.sort((o,y)=>o.length-y.length),e=e.filter((o,y)=>{for(let k=y+1;k=0)return!1;return!0});const c=e.join(" | ");c!==this._attribHTML&&(this._attribHTML=c,e.length?(this._innerContainer.innerHTML=c,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class wn{constructor(e={}){this._updateCompact=()=>{const n=this._container.children;if(n.length){const c=n[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&c.classList.add("maplibregl-compact"):c.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=E.create("div","maplibregl-ctrl");const n=E.create("a","maplibregl-ctrl-logo");return n.target="_blank",n.rel="noopener nofollow",n.href="https://maplibre.org/",n.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),n.setAttribute("rel","noopener nofollow"),this._container.appendChild(n),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){E.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Zi{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const n=++this._id;return this._queue.push({callback:e,id:n,cancelled:!1}),n}remove(e){const n=this._currentlyRunning,c=n?this._queue.concat(n):this._queue;for(const o of c)if(o.id===e)return void(o.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const n=this._currentlyRunning=this._queue;this._queue=[];for(const c of n)if(!c.cancelled&&(c.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var mr=r.Y([{name:"a_pos3d",type:"Int16",components:3}]);class ao extends r.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];const c={};for(const o of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n}))c[o.key]=!0,this._renderableTilesKeys.push(o.key),this._tiles[o.key]||(o.posMatrix=new Float64Array(16),r.aQ(o.posMatrix,0,r.X,0,r.X,0,1),this._tiles[o.key]=new ln(o,this.tileSize));for(const o in this._tiles)c[o]||delete this._tiles[o]}freeRtt(e){for(const n in this._tiles){const c=this._tiles[n];(!e||c.tileID.equals(e)||c.tileID.isChildOf(e)||e.isChildOf(c.tileID))&&(c.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){const n={};for(const c of this._renderableTilesKeys){const o=this._tiles[c].tileID;if(o.canonical.equals(e.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16),r.aQ(y.posMatrix,0,r.X,0,r.X,0,1),n[c]=y}else if(o.canonical.isChildOf(e.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16);const k=o.canonical.z-e.canonical.z,x=o.canonical.x-(o.canonical.x>>k<>k<>k;r.aQ(y.posMatrix,0,A,0,A,0,1),r.J(y.posMatrix,y.posMatrix,[-x*A,-j*A,0]),n[c]=y}else if(e.canonical.isChildOf(o.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16);const k=e.canonical.z-o.canonical.z,x=e.canonical.x-(e.canonical.x>>k<>k<>k;r.aQ(y.posMatrix,0,r.X,0,r.X,0,1),r.J(y.posMatrix,y.posMatrix,[x*A,j*A,0]),r.K(y.posMatrix,y.posMatrix,[1/2**k,1/2**k,0]),n[c]=y}}return n}getSourceTile(e,n){const c=this.sourceCache._source;let o=e.overscaledZ-this.deltaZoom;if(o>c.maxzoom&&(o=c.maxzoom),o=c.minzoom&&(!y||!y.dem);)y=this.sourceCache.getTileByID(e.scaledTo(o--).key);return y}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(n=>n.timeAdded>=e)}}class hr{constructor(e,n,c){this.painter=e,this.sourceCache=new ao(n),this.options=c,this.exaggeration=typeof c.exaggeration=="number"?c.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,c,o=r.X){var y;if(!(n>=0&&n=0&&ce.canonical.z&&(e.canonical.z>=o?y=e.canonical.z-o:r.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const k=e.canonical.x-(e.canonical.x>>y<>y<>8<<4|y>>8,n[k+3]=0;const c=new r.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),o=new Yi(e,c,e.gl.RGBA,{premultiply:!1});return o.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=o,o}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);const n=new Uint8Array(4),c=this.painter.context,o=c.gl,y=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),k=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),x=Math.round(this.painter.height/devicePixelRatio);c.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),o.readPixels(y,x-k-1,1,1,o.RGBA,o.UNSIGNED_BYTE,n),c.bindFramebuffer.set(null);const j=n[0]+(n[2]>>4<<8),A=n[1]+((15&n[2])<<8),F=this.coordsIndex[255-n[3]],C=F&&this.sourceCache.getTileByID(F);if(!C)return null;const G=this._coordsTextureSize,q=(1<e.id!==n),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(const n of this._recentlyUsed)if(!this._objects[n].inUse)return this._objects[n];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(const e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse)===!1}}const kn={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class fr{constructor(e,n){this.painter=e,this.terrain=n,this.pool=new nc(e.context,30,n.sourceCache.tileSize*n.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,n){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(c=>!e._layers[c].isHidden(n)),this._coordsDescendingInv={};for(const c in e.sourceCaches){this._coordsDescendingInv[c]={};const o=e.sourceCaches[c].getVisibleCoordinates();for(const y of o){const k=this.terrain.sourceCache.getTerrainCoords(y);for(const x in k)this._coordsDescendingInv[c][x]||(this._coordsDescendingInv[c][x]=[]),this._coordsDescendingInv[c][x].push(k[x])}}this._coordsDescendingInvStr={};for(const c of e._order){const o=e._layers[c],y=o.source;if(kn[o.type]&&!this._coordsDescendingInvStr[y]){this._coordsDescendingInvStr[y]={};for(const k in this._coordsDescendingInv[y])this._coordsDescendingInvStr[y][k]=this._coordsDescendingInv[y][k].map(x=>x.key).sort().join()}}for(const c of this._renderableTiles)for(const o in this._coordsDescendingInvStr){const y=this._coordsDescendingInvStr[o][c.tileID.key];y&&y!==c.rttCoords[o]&&(c.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;const n=e.type,c=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(kn[n]&&(this._prevType&&kn[this._prevType]||this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(kn[this._prevType]||kn[n]&&o){this._prevType=n;const y=this._stacks.length-1,k=this._stacks[y]||[];for(const x of this._renderableTiles){if(this.pool.isFull()&&(Wl(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(x),x.rtt[y]){const A=this.pool.getObjectForId(x.rtt[y].id);if(A.stamp===x.rtt[y].stamp){this.pool.useObject(A);continue}}const j=this.pool.getOrCreateFreeObject();this.pool.useObject(j),this.pool.stampObject(j),x.rtt[y]={id:j.id,stamp:j.stamp},c.context.bindFramebuffer.set(j.fbo.framebuffer),c.context.clear({color:r.aN.transparent,stencil:0}),c.currentStencilSource=void 0;for(let A=0;A{d.touchstart=d.dragStart,d.touchmoveWindow=d.dragMove,d.touchend=d.dragEnd},lo={showCompass:!0,showZoom:!0,visualizePitch:!1};class Sr{constructor(e,n,c=!1){this.mousedown=k=>{this.startMouse(r.e({},k,{ctrlKey:!0,preventDefault:()=>k.preventDefault()}),E.mousePos(this.element,k)),E.addEventListener(window,"mousemove",this.mousemove),E.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=k=>{this.moveMouse(k,E.mousePos(this.element,k))},this.mouseup=k=>{this.mouseRotate.dragEnd(k),this.mousePitch&&this.mousePitch.dragEnd(k),this.offTemp()},this.touchstart=k=>{k.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=E.touchPos(this.element,k.targetTouches)[0],this.startTouch(k,this._startPos),E.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.addEventListener(window,"touchend",this.touchend))},this.touchmove=k=>{k.targetTouches.length!==1?this.reset():(this._lastPos=E.touchPos(this.element,k.targetTouches)[0],this.moveTouch(k,this._lastPos))},this.touchend=k=>{k.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const o=e.dragRotate._mouseRotate.getClickTolerance(),y=e.dragRotate._mousePitch.getClickTolerance();this.element=n,this.mouseRotate=Os({clickTolerance:o,enable:!0}),this.touchRotate=(({enable:k,clickTolerance:x,bearingDegreesPerPixelMoved:j=.8})=>{const A=new Vc;return new mt({clickTolerance:x,move:(F,C)=>({bearingDelta:(C.x-F.x)*j}),moveStateManager:A,enable:k,assignEvents:gr})})({clickTolerance:o,enable:!0}),this.map=e,c&&(this.mousePitch=cl({clickTolerance:y,enable:!0}),this.touchPitch=(({enable:k,clickTolerance:x,pitchDegreesPerPixelMoved:j=-.5})=>{const A=new Vc;return new mt({clickTolerance:x,move:(F,C)=>({pitchDelta:(C.y-F.y)*j}),moveStateManager:A,enable:k,assignEvents:gr})})({clickTolerance:y,enable:!0})),E.addEventListener(n,"mousedown",this.mousedown),E.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),E.addEventListener(n,"touchcancel",this.reset)}startMouse(e,n){this.mouseRotate.dragStart(e,n),this.mousePitch&&this.mousePitch.dragStart(e,n),E.disableDrag()}startTouch(e,n){this.touchRotate.dragStart(e,n),this.touchPitch&&this.touchPitch.dragStart(e,n),E.disableDrag()}moveMouse(e,n){const c=this.map,{bearingDelta:o}=this.mouseRotate.dragMove(e,n)||{};if(o&&c.setBearing(c.getBearing()+o),this.mousePitch){const{pitchDelta:y}=this.mousePitch.dragMove(e,n)||{};y&&c.setPitch(c.getPitch()+y)}}moveTouch(e,n){const c=this.map,{bearingDelta:o}=this.touchRotate.dragMove(e,n)||{};if(o&&c.setBearing(c.getBearing()+o),this.touchPitch){const{pitchDelta:y}=this.touchPitch.dragMove(e,n)||{};y&&c.setPitch(c.getPitch()+y)}}off(){const e=this.element;E.removeEventListener(e,"mousedown",this.mousedown),E.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),E.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.removeEventListener(window,"touchend",this.touchend),E.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){E.enableDrag(),E.removeEventListener(window,"mousemove",this.mousemove),E.removeEventListener(window,"mouseup",this.mouseup),E.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.removeEventListener(window,"touchend",this.touchend)}}let Hn;function Ir(d,e,n){const c=new r.N(d.lng,d.lat);if(d=new r.N(d.lng,d.lat),e){const o=new r.N(d.lng-360,d.lat),y=new r.N(d.lng+360,d.lat),k=n.locationPoint(d).distSqr(e);n.locationPoint(o).distSqr(e)180;){const o=n.locationPoint(d);if(o.x>=0&&o.y>=0&&o.x<=n.width&&o.y<=n.height)break;d.lng>n.center.lng?d.lng-=360:d.lng+=360}return d.lng!==c.lng&&n.locationPoint(d).y>n.height/2-n.getHorizon()?d:c}const co={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Vn(d,e,n){const c=d.classList;for(const o in co)c.remove(`maplibregl-${n}-anchor-${o}`);c.add(`maplibregl-${n}-anchor-${e}`)}class pt extends r.E{constructor(e){if(super(),this._onKeyPress=n=>{const c=n.code,o=n.charCode||n.keyCode;c!=="Space"&&c!=="Enter"&&o!==32&&o!==13||this.togglePopup()},this._onMapClick=n=>{const c=n.originalEvent.target,o=this._element;this._popup&&(c===o||o.contains(c))&&this.togglePopup()},this._update=n=>{var c;if(!this._map)return;const o=this._map.loaded()&&!this._map.isMoving();((n==null?void 0:n.type)==="terrain"||(n==null?void 0:n.type)==="render"&&!o)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ir(this._lngLat,this._flatPos,this._map.transform):(c=this._lngLat)===null||c===void 0?void 0:c.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let y="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?y=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(y=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let k="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?k="rotateX(0deg)":this._pitchAlignment==="map"&&(k=`rotateX(${this._map.getPitch()}deg)`),n&&n.type!=="moveend"||(this._pos=this._pos.round()),E.setTransform(this._element,`${co[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${k} ${y}`),V.frameAsync(new AbortController).then(()=>{this._updateOpacity(n&&n.type==="moveend")}).catch(()=>{})},this._onMove=n=>{if(!this._isDragging){const c=this._clickTolerance||this._map._clickTolerance;this._isDragging=n.point.dist(this._pointerdownPos)>=c}this._isDragging&&(this._pos=n.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new r.k("dragstart"))),this.fire(new r.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new r.k("dragend")),this._state="inactive"},this._addDragHandler=n=>{this._element.contains(n.originalEvent.target)&&(n.preventDefault(),this._positionDelta=n.point.sub(this._pos).add(this._offset),this._pointerdownPos=n.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e==null?void 0:e.opacity,e==null?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=r.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=E.create("div");const n=E.createNS("http://www.w3.org/2000/svg","svg"),c=41,o=27;n.setAttributeNS(null,"display","block"),n.setAttributeNS(null,"height",`${c}px`),n.setAttributeNS(null,"width",`${o}px`),n.setAttributeNS(null,"viewBox",`0 0 ${o} ${c}`);const y=E.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"stroke","none"),y.setAttributeNS(null,"stroke-width","1"),y.setAttributeNS(null,"fill","none"),y.setAttributeNS(null,"fill-rule","evenodd");const k=E.createNS("http://www.w3.org/2000/svg","g");k.setAttributeNS(null,"fill-rule","nonzero");const x=E.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(3.0, 29.0)"),x.setAttributeNS(null,"fill","#000000");const j=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const Q of j){const ni=E.createNS("http://www.w3.org/2000/svg","ellipse");ni.setAttributeNS(null,"opacity","0.04"),ni.setAttributeNS(null,"cx","10.5"),ni.setAttributeNS(null,"cy","5.80029008"),ni.setAttributeNS(null,"rx",Q.rx),ni.setAttributeNS(null,"ry",Q.ry),x.appendChild(ni)}const A=E.createNS("http://www.w3.org/2000/svg","g");A.setAttributeNS(null,"fill",this._color);const F=E.createNS("http://www.w3.org/2000/svg","path");F.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),A.appendChild(F);const C=E.createNS("http://www.w3.org/2000/svg","g");C.setAttributeNS(null,"opacity","0.25"),C.setAttributeNS(null,"fill","#000000");const G=E.createNS("http://www.w3.org/2000/svg","path");G.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),C.appendChild(G);const q=E.createNS("http://www.w3.org/2000/svg","g");q.setAttributeNS(null,"transform","translate(6.0, 7.0)"),q.setAttributeNS(null,"fill","#FFFFFF");const $=E.createNS("http://www.w3.org/2000/svg","g");$.setAttributeNS(null,"transform","translate(8.0, 8.0)");const X=E.createNS("http://www.w3.org/2000/svg","circle");X.setAttributeNS(null,"fill","#000000"),X.setAttributeNS(null,"opacity","0.25"),X.setAttributeNS(null,"cx","5.5"),X.setAttributeNS(null,"cy","5.5"),X.setAttributeNS(null,"r","5.4999962");const K=E.createNS("http://www.w3.org/2000/svg","circle");K.setAttributeNS(null,"fill","#FFFFFF"),K.setAttributeNS(null,"cx","5.5"),K.setAttributeNS(null,"cy","5.5"),K.setAttributeNS(null,"r","5.4999962"),$.appendChild(X),$.appendChild(K),k.appendChild(x),k.appendChild(A),k.appendChild(C),k.appendChild(q),k.appendChild($),n.appendChild(k),n.setAttributeNS(null,"height",c*this._scale+"px"),n.setAttributeNS(null,"width",o*this._scale+"px"),this._element.appendChild(n),this._offset=r.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",n=>{n.preventDefault()}),this._element.addEventListener("mousedown",n=>{n.preventDefault()}),Vn(this._element,this._anchor,"marker"),e&&e.className)for(const n of e.className.split(" "))this._element.classList.add(n);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),E.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=r.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const o=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[o,-1*(38.1-13.5+o)],"bottom-right":[-o,-1*(38.1-13.5+o)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var n,c;if(!(!((n=this._map)===null||n===void 0)&&n.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const o=this._map,y=o.terrain.depthAtPoint(this._pos),k=o.terrain.getElevationForLngLatZoom(this._lngLat,o.transform.tileZoom);if(o.transform.lngLatToCameraDepth(this._lngLat,k)-y<.006)return void(this._element.style.opacity=this._opacity);const x=-this._offset.y/o.transform._pixelPerMeter,j=Math.sin(o.getPitch()*Math.PI/180)*x,A=o.terrain.depthAtPoint(new r.P(this._pos.x,this._pos.y-this._offset.y)),F=o.transform.lngLatToCameraDepth(this._lngLat,k+j)-A>.006;!((c=this._popup)===null||c===void 0)&&c.isOpen()&&F&&this._popup.remove(),this._element.style.opacity=F?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=r.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,n){return e===void 0&&n===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=e),n!==void 0&&(this._opacityWhenCovered=n),this._map&&this._updateOpacity(!0),this}}const Oc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let xl=0,jl=!1;const wr={maxWidth:100,unit:"metric"};function so(d,e,n){const c=n&&n.maxWidth||100,o=d._container.clientHeight/2,y=d.unproject([0,o]),k=d.unproject([c,o]),x=y.distanceTo(k);if(n&&n.unit==="imperial"){const j=3.2808*x;j>5280?lc(e,c,j/5280,d._getUIString("ScaleControl.Miles")):lc(e,c,j,d._getUIString("ScaleControl.Feet"))}else n&&n.unit==="nautical"?lc(e,c,x/1852,d._getUIString("ScaleControl.NauticalMiles")):x>=1e3?lc(e,c,x/1e3,d._getUIString("ScaleControl.Kilometers")):lc(e,c,x,d._getUIString("ScaleControl.Meters"))}function lc(d,e,n,c){const o=function(y){const k=Math.pow(10,`${Math.floor(y)}`.length-1);let x=y/k;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:x>=1?1:function(j){const A=Math.pow(10,Math.ceil(-Math.log(j)/Math.LN10));return Math.round(j*A)/A}(x),k*x}(n);d.style.width=e*(o/n)+"px",d.innerHTML=`${o} ${c}`}const _n={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},$c=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ee(d){if(d){if(typeof d=="number"){const e=Math.round(Math.abs(d)/Math.SQRT2);return{center:new r.P(0,0),top:new r.P(0,d),"top-left":new r.P(e,e),"top-right":new r.P(-e,e),bottom:new r.P(0,-d),"bottom-left":new r.P(e,-e),"bottom-right":new r.P(-e,-e),left:new r.P(d,0),right:new r.P(-d,0)}}if(d instanceof r.P||Array.isArray(d)){const e=r.P.convert(d);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:r.P.convert(d.center||[0,0]),top:r.P.convert(d.top||[0,0]),"top-left":r.P.convert(d["top-left"]||[0,0]),"top-right":r.P.convert(d["top-right"]||[0,0]),bottom:r.P.convert(d.bottom||[0,0]),"bottom-left":r.P.convert(d["bottom-left"]||[0,0]),"bottom-right":r.P.convert(d["bottom-right"]||[0,0]),left:r.P.convert(d.left||[0,0]),right:r.P.convert(d.right||[0,0])}}return ee(new r.P(0,0))}const pe=P;w.AJAXError=r.bg,w.Evented=r.E,w.LngLat=r.N,w.MercatorCoordinate=r.Z,w.Point=r.P,w.addProtocol=r.bh,w.config=r.a,w.removeProtocol=r.bi,w.AttributionControl=_l,w.BoxZoomHandler=qs,w.CanvasSource=Zt,w.CooperativeGesturesHandler=on,w.DoubleClickZoomHandler=Qs,w.DragPanHandler=Qa,w.DragRotateHandler=sn,w.EdgeInsets=Pc,w.FullscreenControl=class extends r.E{constructor(d={}){super(),this._onFullscreenChange=()=>{var e;let n=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((e=n==null?void 0:n.shadowRoot)===null||e===void 0)&&e.fullscreenElement;)n=n.shadowRoot.fullscreenElement;n===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,d&&d.container&&(d.container instanceof HTMLElement?this._container=d.container:r.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(d){return this._map=d,this._container||(this._container=this._map.getContainer()),this._controlContainer=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){E.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const d=this._fullscreenButton=E.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);E.create("span","maplibregl-ctrl-icon",d).setAttribute("aria-hidden","true"),d.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const d=this._getTitle();this._fullscreenButton.setAttribute("aria-label",d),this._fullscreenButton.title=d}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new r.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new r.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},w.GeoJSONSource=Gn,w.GeolocateControl=class extends r.E{constructor(d){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new r.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new r.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{const n=new r.N(e.coords.longitude,e.coords.latitude),c=e.coords.accuracy,o=this._map.getBearing(),y=r.e({bearing:o},this.options.fitBoundsOptions),k=gi.fromLngLat(n,c);this._map.fitBounds(k,y,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const n=new r.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(e.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&jl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new r.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=e=>{if(this._map){if(this._container.addEventListener("contextmenu",n=>n.preventDefault()),this._geolocateButton=E.create("button","maplibregl-ctrl-geolocate",this._container),E.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",e===!1){r.w("Geolocation support is not available so the GeolocateControl will be disabled.");const n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}else{const n=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=E.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new pt({element:this._dotElement}),this._circleElement=E.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new pt({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",n=>{n.geolocateSource||this._watchState!=="ACTIVE_LOCK"||n.originalEvent&&n.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new r.k("trackuserlocationend")),this.fire(new r.k("userlocationlostfocus")))})}},this.options=r.e({},Oc,d)}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(){return r._(this,arguments,void 0,function*(e=!1){if(Hn!==void 0&&!e)return Hn;if(window.navigator.permissions===void 0)return Hn=!!window.navigator.geolocation,Hn;try{Hn=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{Hn=!!window.navigator.geolocation}return Hn})}().then(e=>this._setupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),E.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,xl=0,jl=!1}_isOutOfMapMaxBounds(d){const e=this._map.getMaxBounds(),n=d.coords;return e&&(n.longitudee.getEast()||n.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const d=this._map.getBounds(),e=d.getSouthEast(),n=d.getNorthEast(),c=e.distanceTo(n),o=Math.ceil(this._accuracy/(c/this._map._container.clientHeight)*2);this._circleElement.style.width=`${o}px`,this._circleElement.style.height=`${o}px`}trigger(){if(!this._setup)return r.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new r.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":xl--,jl=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new r.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new r.k("trackuserlocationstart")),this.fire(new r.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let d;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),xl++,xl>1?(d={maximumAge:6e5,timeout:0},jl=!0):(d=this.options.positionOptions,jl=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,d)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},w.Hash=Xl,w.ImageSource=Fe,w.KeyboardHandler=Ws,w.LngLatBounds=gi,w.LogoControl=wn,w.Map=class extends w0{constructor(d){r.be.mark(r.bf.create);const e=Object.assign(Object.assign({},k0),d);if(e.minZoom!=null&&e.maxZoom!=null&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(e.minPitch!=null&&e.maxPitch!=null&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(e.minPitch!=null&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(e.maxPitch!=null&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Gs(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Zi,this._controls=[],this._mapId=r.a4(),this._contextLost=n=>{n.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new r.k("webglcontextlost",{originalEvent:n}))},this._contextRestored=n=>{this._setupPainter(),this.resize(),this._update(),this.fire(new r.k("webglcontextrestored",{originalEvent:n}))},this._onMapScroll=n=>{if(n.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=e.preserveDrawingBuffer===!0,this._antialias=e.antialias===!0,this._trackResize=e.trackResize===!0,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles===!0,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions===!0,this._collectResourceTiming=e.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Hi),e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=e.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=Pi.addThrottleControl(()=>this.isMoving()),this._requestManager=new Ui(e.transformRequest),typeof e.container=="string"){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let n=!1;const c=Mc(o=>{this._trackResize&&!this._removed&&this.resize(o)._update()},50);this._resizeObserver=new ResizeObserver(o=>{n?c(o):n=!0}),this._resizeObserver.observe(this._container)}this.handlers=new I0(this,e),this._hash=e.hash&&new Xl(typeof e.hash=="string"&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,r.e({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new _l(typeof e.attributionControl=="boolean"?void 0:e.attributionControl)),e.maplibreLogo&&this.addControl(new wn,e.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",n=>{this._update(n.dataType==="style"),this.fire(new r.k(`${n.dataType}data`,n))}),this.on("dataloading",n=>{this.fire(new r.k(`${n.dataType}dataloading`,n))}),this.on("dataabort",n=>{this.fire(new r.k("sourcedataabort",n))})}_getMapId(){return this._mapId}addControl(d,e){if(e===void 0&&(e=d.getDefaultPosition?d.getDefaultPosition():"top-right"),!d||!d.onAdd)return this.fire(new r.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=d.onAdd(this);this._controls.push(d);const c=this._controlPositions[e];return e.indexOf("bottom")!==-1?c.insertBefore(n,c.firstChild):c.appendChild(n),this}removeControl(d){if(!d||!d.onRemove)return this.fire(new r.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const e=this._controls.indexOf(d);return e>-1&&this._controls.splice(e,1),d.onRemove(this),this}hasControl(d){return this._controls.indexOf(d)>-1}calculateCameraOptionsFromTo(d,e,n,c){return c==null&&this.terrain&&(c=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(d,e,n,c)}resize(d){var e;const n=this._containerDimensions(),c=n[0],o=n[1],y=this._getClampedPixelRatio(c,o);if(this._resizeCanvas(c,o,y),this.painter.resize(c,o,y),this.painter.overLimit()){const x=this.painter.context.gl;this._maxCanvasSize=[x.drawingBufferWidth,x.drawingBufferHeight];const j=this._getClampedPixelRatio(c,o);this._resizeCanvas(c,o,j),this.painter.resize(c,o,j)}this.transform.resize(c,o),(e=this._requestedCameraState)===null||e===void 0||e.resize(c,o);const k=!this._moving;return k&&(this.stop(),this.fire(new r.k("movestart",d)).fire(new r.k("move",d))),this.fire(new r.k("resize",d)),k&&this.fire(new r.k("moveend",d)),this}_getClampedPixelRatio(d,e){const{0:n,1:c}=this._maxCanvasSize,o=this.getPixelRatio(),y=d*o,k=e*o;return Math.min(y>n?n/y:1,k>c?c/k:1)*o}getPixelRatio(){var d;return(d=this._overridePixelRatio)!==null&&d!==void 0?d:devicePixelRatio}setPixelRatio(d){this._overridePixelRatio=d,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(d){return this.transform.setMaxBounds(gi.convert(d)),this._update()}setMinZoom(d){if((d=d??-2)>=-2&&d<=this.transform.maxZoom)return this.transform.minZoom=d,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=d,this._update(),this.getZoom()>d&&this.setZoom(d),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(d){if((d=d??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(d>=0&&d<=this.transform.maxPitch)return this.transform.minPitch=d,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(d>=this.transform.minPitch)return this.transform.maxPitch=d,this._update(),this.getPitch()>d&&this.setPitch(d),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(d){return this.transform.renderWorldCopies=d,this._update()}project(d){return this.transform.locationPoint(r.N.convert(d),this.style&&this.terrain)}unproject(d){return this.transform.pointLocation(r.P.convert(d),this.terrain)}isMoving(){var d;return this._moving||((d=this.handlers)===null||d===void 0?void 0:d.isMoving())}isZooming(){var d;return this._zooming||((d=this.handlers)===null||d===void 0?void 0:d.isZooming())}isRotating(){var d;return this._rotating||((d=this.handlers)===null||d===void 0?void 0:d.isRotating())}_createDelegatedListener(d,e,n){if(d==="mouseenter"||d==="mouseover"){let c=!1;return{layer:e,listener:n,delegates:{mousemove:y=>{const k=this.getLayer(e)?this.queryRenderedFeatures(y.point,{layers:[e]}):[];k.length?c||(c=!0,n.call(this,new ba(d,this,y.originalEvent,{features:k}))):c=!1},mouseout:()=>{c=!1}}}}if(d==="mouseleave"||d==="mouseout"){let c=!1;return{layer:e,listener:n,delegates:{mousemove:k=>{(this.getLayer(e)?this.queryRenderedFeatures(k.point,{layers:[e]}):[]).length?c=!0:c&&(c=!1,n.call(this,new ba(d,this,k.originalEvent)))},mouseout:k=>{c&&(c=!1,n.call(this,new ba(d,this,k.originalEvent)))}}}}{const c=o=>{const y=this.getLayer(e)?this.queryRenderedFeatures(o.point,{layers:[e]}):[];y.length&&(o.features=y,n.call(this,o),delete o.features)};return{layer:e,listener:n,delegates:{[d]:c}}}}on(d,e,n){if(n===void 0)return super.on(d,e);const c=this._createDelegatedListener(d,e,n);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[d]=this._delegatedListeners[d]||[],this._delegatedListeners[d].push(c);for(const o in c.delegates)this.on(o,c.delegates[o]);return this}once(d,e,n){if(n===void 0)return super.once(d,e);const c=this._createDelegatedListener(d,e,n);for(const o in c.delegates)this.once(o,c.delegates[o]);return this}off(d,e,n){return n===void 0?super.off(d,e):(this._delegatedListeners&&this._delegatedListeners[d]&&(c=>{const o=this._delegatedListeners[d];for(let y=0;ythis._updateStyle(d,e));const n=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!d)),d?(this.style=new gs(this,e||{}),this.style.setEventedParent(this,{style:this.style}),typeof d=="string"?this.style.loadURL(d,e,n):this.style.loadJSON(d,e,n),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new gs(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(d,e){if(typeof d=="string"){const n=this._requestManager.transformRequest(d,"Style");r.h(n,new AbortController).then(c=>{this._updateDiff(c.data,e)}).catch(c=>{c&&this.fire(new r.j(c))})}else typeof d=="object"&&this._updateDiff(d,e)}_updateDiff(d,e){try{this.style.setState(d,e)&&this._update(!0)}catch(n){r.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(d,e)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():r.w("There is no style added to the map.")}addSource(d,e){return this._lazyInitEmptyStyle(),this.style.addSource(d,e),this._update(!0)}isSourceLoaded(d){const e=this.style&&this.style.sourceCaches[d];if(e!==void 0)return e.loaded();this.fire(new r.j(new Error(`There is no source with ID '${d}'`)))}setTerrain(d){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),d){const e=this.style.sourceCaches[d.source];if(!e)throw new Error(`cannot load terrain, because there exists no source with ID: ${d.source}`);this.terrain===null&&e.reload();for(const n in this.style._layers){const c=this.style._layers[n];c.type==="hillshade"&&c.source===d.source&&r.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new hr(this.painter,e,d),this.painter.renderToTexture=new fr(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=n=>{n.dataType==="style"?this.terrain.sourceCache.freeRtt():n.dataType==="source"&&n.tile&&(n.sourceId!==d.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(n.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new r.k("terrain",{terrain:d})),this}getTerrain(){var d,e;return(e=(d=this.terrain)===null||d===void 0?void 0:d.options)!==null&&e!==void 0?e:null}areTilesLoaded(){const d=this.style&&this.style.sourceCaches;for(const e in d){const n=d[e]._tiles;for(const c in n){const o=n[c];if(o.state!=="loaded"&&o.state!=="errored")return!1}}return!0}removeSource(d){return this.style.removeSource(d),this._update(!0)}getSource(d){return this.style.getSource(d)}addImage(d,e,n={}){const{pixelRatio:c=1,sdf:o=!1,stretchX:y,stretchY:k,content:x,textFitWidth:j,textFitHeight:A}=n;if(this._lazyInitEmptyStyle(),!(e instanceof HTMLImageElement||r.b(e))){if(e.width===void 0||e.height===void 0)return this.fire(new r.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:F,height:C,data:G}=e,q=e;return this.style.addImage(d,{data:new r.R({width:F,height:C},new Uint8Array(G)),pixelRatio:c,stretchX:y,stretchY:k,content:x,textFitWidth:j,textFitHeight:A,sdf:o,version:0,userImage:q}),q.onAdd&&q.onAdd(this,d),this}}{const{width:F,height:C,data:G}=V.getImageData(e);this.style.addImage(d,{data:new r.R({width:F,height:C},G),pixelRatio:c,stretchX:y,stretchY:k,content:x,textFitWidth:j,textFitHeight:A,sdf:o,version:0})}}updateImage(d,e){const n=this.style.getImage(d);if(!n)return this.fire(new r.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const c=e instanceof HTMLImageElement||r.b(e)?V.getImageData(e):e,{width:o,height:y,data:k}=c;if(o===void 0||y===void 0)return this.fire(new r.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==n.data.width||y!==n.data.height)return this.fire(new r.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const x=!(e instanceof HTMLImageElement||r.b(e));return n.data.replace(k,x),this.style.updateImage(d,n),this}getImage(d){return this.style.getImage(d)}hasImage(d){return d?!!this.style.getImage(d):(this.fire(new r.j(new Error("Missing required image id"))),!1)}removeImage(d){this.style.removeImage(d)}loadImage(d){return Pi.getImage(this._requestManager.transformRequest(d,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(d,e){return this._lazyInitEmptyStyle(),this.style.addLayer(d,e),this._update(!0)}moveLayer(d,e){return this.style.moveLayer(d,e),this._update(!0)}removeLayer(d){return this.style.removeLayer(d),this._update(!0)}getLayer(d){return this.style.getLayer(d)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(d,e,n){return this.style.setLayerZoomRange(d,e,n),this._update(!0)}setFilter(d,e,n={}){return this.style.setFilter(d,e,n),this._update(!0)}getFilter(d){return this.style.getFilter(d)}setPaintProperty(d,e,n,c={}){return this.style.setPaintProperty(d,e,n,c),this._update(!0)}getPaintProperty(d,e){return this.style.getPaintProperty(d,e)}setLayoutProperty(d,e,n,c={}){return this.style.setLayoutProperty(d,e,n,c),this._update(!0)}getLayoutProperty(d,e){return this.style.getLayoutProperty(d,e)}setGlyphs(d,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(d,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(d,e,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(d,e,n,c=>{c||this._update(!0)}),this}removeSprite(d){return this._lazyInitEmptyStyle(),this.style.removeSprite(d),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(d,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(d,e,n=>{n||this._update(!0)}),this}setLight(d,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(d,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(d){return this._lazyInitEmptyStyle(),this.style.setSky(d),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(d,e){return this.style.setFeatureState(d,e),this._update()}removeFeatureState(d,e){return this.style.removeFeatureState(d,e),this._update()}getFeatureState(d){return this.style.getFeatureState(d)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let d=0,e=0;return this._container&&(d=this._container.clientWidth||400,e=this._container.clientHeight||300),[d,e]}_setupContainer(){const d=this._container;d.classList.add("maplibregl-map");const e=this._canvasContainer=E.create("div","maplibregl-canvas-container",d);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=E.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const n=this._containerDimensions(),c=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],c);const o=this._controlContainer=E.create("div","maplibregl-control-container",d),y=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(k=>{y[k]=E.create("div",`maplibregl-ctrl-${k} `,o)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(d,e,n){this._canvas.width=Math.floor(n*d),this._canvas.height=Math.floor(n*e),this._canvas.style.width=`${d}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const d={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",c=>{e={requestedAttributes:d},c&&(e.statusMessage=c.statusMessage,e.type=c.type)},{once:!0});const n=this._canvas.getContext("webgl2",d)||this._canvas.getContext("webgl",d);if(!n){const c="Failed to initialize WebGL";throw e?(e.message=c,new Error(JSON.stringify(e))):new Error(c)}this.painter=new or(n,this.transform),_i.testSupport(n)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(d){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||d,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(d){return this._update(),this._renderTaskQueue.add(d)}_cancelRenderFrame(d){this._renderTaskQueue.remove(d)}_render(d){const e=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(d),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const o=this.transform.zoom,y=V.now();this.style.zoomHistory.update(o,y);const k=new r.a9(o,{now:y,fadeDuration:e,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),x=k.crossFadingFactor();x===1&&x===this._crossFadingFactor||(n=!0,this._crossFadingFactor=x),this.style.update(k)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,e,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:e,showPadding:this.showPadding}),this.fire(new r.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,r.be.mark(r.bf.load),this.fire(new r.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const c=this._sourcesDirty||this._styleDirty||this._placementDirty;return c||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new r.k("idle")),!this._loaded||this._fullyLoaded||c||(this._fullyLoaded=!0,r.be.mark(r.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var d;this._hash&&this._hash.remove();for(const n of this._controls)n.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),Pi.removeThrottleControl(this._imageQueueHandle),(d=this._resizeObserver)===null||d===void 0||d.disconnect();const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e!=null&&e.loseContext&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),E.remove(this._canvasContainer),E.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),r.be.clearMetrics(),this._removed=!0,this.fire(new r.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,V.frameAsync(this._frameRequest).then(d=>{r.be.frame(d),this._frameRequest=null,this._render(d)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(d){this._showTileBoundaries!==d&&(this._showTileBoundaries=d,this._update())}get showPadding(){return!!this._showPadding}set showPadding(d){this._showPadding!==d&&(this._showPadding=d,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(d){this._showCollisionBoxes!==d&&(this._showCollisionBoxes=d,d?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(d){this._showOverdrawInspector!==d&&(this._showOverdrawInspector=d,this._update())}get repaint(){return!!this._repaint}set repaint(d){this._repaint!==d&&(this._repaint=d,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(d){this._vertices=d,this._update()}get version(){return no}getCameraTargetElevation(){return this.transform.elevation}},w.MapMouseEvent=ba,w.MapTouchEvent=Yl,w.MapWheelEvent=zs,w.Marker=pt,w.NavigationControl=class{constructor(d){this._updateZoomButtons=()=>{const e=this._map.getZoom(),n=e===this._map.getMaxZoom(),c=e===this._map.getMinZoom();this._zoomInButton.disabled=n,this._zoomOutButton.disabled=c,this._zoomInButton.setAttribute("aria-disabled",n.toString()),this._zoomOutButton.setAttribute("aria-disabled",c.toString())},this._rotateCompassArrow=()=>{const e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,n)=>{const c=this._map._getUIString(`NavigationControl.${n}`);e.title=c,e.setAttribute("aria-label",c)},this.options=r.e({},lo,d),this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),E.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),E.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=E.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(d){return this._map=d,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Sr(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){E.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(d,e){const n=E.create("button",d,this._container);return n.type="button",n.addEventListener("click",e),n}},w.Popup=class extends r.E{constructor(d){super(),this.remove=()=>(this._content&&E.remove(this._content),this._container&&(E.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new r.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var n;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=E.create("div","maplibregl-popup",this._map.getContainer()),this._tip=E.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const x of this.options.className.split(" "))this._container.classList.add(x);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ir(this._lngLat,this._flatPos,this._map.transform):(n=this._lngLat)===null||n===void 0?void 0:n.wrap(),this._trackPointer&&!e)return;const c=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let o=this.options.anchor;const y=ee(this.options.offset);if(!o){const x=this._container.offsetWidth,j=this._container.offsetHeight;let A;A=c.y+y.bottom.ythis._map.transform.height-j?["bottom"]:[],c.xthis._map.transform.width-x/2&&A.push("right"),o=A.length===0?"bottom":A.join("-")}let k=c.add(y[o]);this.options.subpixelPositioning||(k=k.round()),E.setTransform(this._container,`${co[o]} translate(${k.x}px,${k.y}px)`),Vn(this._container,o,"popup")},this._onClose=()=>{this.remove()},this.options=r.e(Object.create(_n),d)}addTo(d){return this._map&&this.remove(),this._map=d,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new r.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(d){return this._lngLat=r.N.convert(d),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(d){return this.setDOMContent(document.createTextNode(d))}setHTML(d){const e=document.createDocumentFragment(),n=document.createElement("body");let c;for(n.innerHTML=d;c=n.firstChild,c;)e.appendChild(c);return this.setDOMContent(e)}getMaxWidth(){var d;return(d=this._container)===null||d===void 0?void 0:d.style.maxWidth}setMaxWidth(d){return this.options.maxWidth=d,this._update(),this}setDOMContent(d){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=E.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(d),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(d){return this._container&&this._container.classList.add(d),this}removeClassName(d){return this._container&&this._container.classList.remove(d),this}setOffset(d){return this.options.offset=d,this._update(),this}toggleClassName(d){if(this._container)return this._container.classList.toggle(d)}setSubpixelPositioning(d){this.options.subpixelPositioning=d}_createCloseButton(){this.options.closeButton&&(this._closeButton=E.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const d=this._container.querySelector($c);d&&d.focus()}},w.RasterDEMTileSource=Xe,w.RasterTileSource=Ve,w.ScaleControl=class{constructor(d){this._onMove=()=>{so(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,so(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},wr),d)}getDefaultPosition(){return"bottom-left"}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-scale",d.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){E.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},w.ScrollZoomHandler=Ys,w.Style=gs,w.TerrainControl=class{constructor(d){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=d}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=E.create("button","maplibregl-ctrl-terrain",this._container),E.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){E.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},w.TwoFingersTouchPitchHandler=Zs,w.TwoFingersTouchRotateHandler=Js,w.TwoFingersTouchZoomHandler=Us,w.TwoFingersTouchZoomRotateHandler=io,w.VectorTileSource=Nn,w.VideoSource=Pa,w.addSourceType=(d,e)=>r._(void 0,void 0,void 0,function*(){if(ea(d))throw new Error(`A source type called "${d}" already exists.`);((n,c)=>{Xa[n]=c})(d,e)}),w.clearPrewarmedResources=function(){const d=qt;d&&(d.isPreloaded()&&d.numActive()===1?(d.release(kt),qt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},w.getMaxParallelImageRequests=function(){return r.a.MAX_PARALLEL_IMAGE_REQUESTS},w.getRTLTextPluginStatus=function(){return Ma().getRTLTextPluginStatus()},w.getVersion=function(){return pe},w.getWorkerCount=function(){return st.workerCount},w.getWorkerUrl=function(){return r.a.WORKER_URL},w.importScriptInWorkers=function(d){return ia().broadcast("IS",d)},w.prewarm=function(){an().acquire(kt)},w.setMaxParallelImageRequests=function(d){r.a.MAX_PARALLEL_IMAGE_REQUESTS=d},w.setRTLTextPlugin=function(d,e){return Ma().setRTLTextPlugin(d,e)},w.setWorkerCount=function(d){st.workerCount=d},w.setWorkerUrl=function(d){r.a.WORKER_URL=d}});var b=f;return b})})(gy);var Ng=gy.exports;const Gg=Th(Ng);function Pg(I){let p;return{c(){p=ce("div"),this.h()},l(f){p=se(f,"DIV",{class:!0}),Se(p).forEach(ji),this.h()},h(){Je(p,"class","inscription-map svelte-15t1yne"),hd(p,"hidden",!I[0])},m(f,h){oe(f,p,h),I[3](p)},p(f,[h]){h&1&&hd(p,"hidden",!f[0])},i:bn,o:bn,d(f){f&&ji(p),I[3](null)}}}function Mg(I,p){const f=document.createElement("div");return f.className="marker",f.style.width=I,f.style.height=I,f.style.lineHeight=I,p>1&&(f.innerHTML=p.toString()),f}function zg(I){let f=`

${I[0].place._}

`;const h=I.map(g=>`
  • ${g.title}
  • `).join("");return`${f}
      ${h}
    `}function Eg(I,p,f){const{Map:h,Marker:g,NavigationControl:b,Popup:w}=Gg;let{inscriptions:r}=p,{show:P=!0}=p,z,U=[],V;function E(){U.forEach(hi=>hi.remove()),U=[];const ti=r.filter(hi=>hi.geo).reduce((hi,pi)=>{const Li=pi.geo.join("_");return hi[Li]||(hi[Li]=[]),hi[Li].push(pi),hi},{});Object.entries(ti).forEach(([hi,pi])=>{const Li=pi.length;let Vi="8px";Li>15?Vi="48px":Li>10?Vi="32px":Li>1&&(Vi="16px");const Pi=Mg(Vi,Li),Ui=pi[0].geo,Ki=zg(pi),de=new g({element:Pi}).setLngLat([Ui[1],Ui[0]]).setPopup(new w().setHTML(Ki)).addTo(z);U.push(de)})}Qd(()=>{z=new h({container:V,style:"https://api.maptiler.com/maps/positron/style.json?key=brTBbnRxuiKp6PgjwFPr",center:[14.01535,37.59999],zoom:7}),z.addControl(new b({showCompass:!0,showZoom:!0}))}),wh(()=>{E()}),kh(()=>z==null?void 0:z.remove());function _i(ti){mc[ti?"unshift":"push"](()=>{V=ti,f(1,V)})}return I.$$set=ti=>{"inscriptions"in ti&&f(2,r=ti.inscriptions),"show"in ti&&f(0,P=ti.show)},[P,V,r,_i]}class qg extends zt{constructor(p){super(),Et(this,p,Eg,Pg,vt,{inscriptions:2,show:0})}}function Hg(I){return Object.keys(I).reduce((p,f)=>I[f]===void 0?p:p+`${f}:${I[f]};`,"")}Hg({position:"absolute",opacity:0,"pointer-events":"none",margin:0,transform:"translateX(-100%)"});function Bd(I){function p(f){return f(I),()=>{}}return{subscribe:p}}const Kr=I=>new Proxy(I,{get(p,f,h){return Reflect.get(p,f,h)},ownKeys(p){return Reflect.ownKeys(p).filter(f=>f!=="action")}}),Cd=I=>typeof I=="function";To("empty");function To(I,p){const{stores:f,action:h,returned:g}=p??{},b=(()=>{if(f&&g)return i0(f,r=>{const P=g(r);if(Cd(P)){const z=(...U)=>Kr({...P(...U),[`data-melt-${I}`]:"",action:h??rs});return z.action=h??rs,z}return Kr({...P,[`data-melt-${I}`]:"",action:h??rs})});{const r=g,P=r==null?void 0:r();if(Cd(P)){const z=(...U)=>Kr({...P(...U),[`data-melt-${I}`]:"",action:h??rs});return z.action=h??rs,Bd(z)}return Bd(Kr({...P,[`data-melt-${I}`]:"",action:h??rs}))}})(),w=h??(()=>{});return w.subscribe=b.subscribe,w}function Vg(I){const p=b=>b?`${I}-${b}`:I,f=b=>`data-melt-${I}${b?`-${b}`:""}`,h=b=>`[data-melt-${I}${b?`-${b}`:""}]`;return{name:p,attribute:f,selector:h,getEl:b=>document.querySelector(h(b))}}function us(I){return I instanceof HTMLElement}function yp(...I){return(...p)=>{for(const f of I)typeof f=="function"&&f(...p)}}function rs(){}function Iy(I,p,f,h){const g=Array.isArray(p)?p:[p];return g.forEach(b=>I.addEventListener(b,f,h)),()=>{g.forEach(b=>I.removeEventListener(b,f,h))}}function ps(I,p,f,h){const g=Array.isArray(p)?p:[p];if(typeof f=="function"){const b=$g(w=>f(w));return g.forEach(w=>I.addEventListener(w,b,h)),()=>{g.forEach(w=>I.removeEventListener(w,b,h))}}return()=>void 0}function Og(I){const p=I.currentTarget;if(!us(p))return null;const f=new CustomEvent(`m-${I.type}`,{detail:{originalEvent:I},cancelable:!0});return p.dispatchEvent(f),f}function $g(I){return p=>{const f=Og(p);if(!(f!=null&&f.defaultPrevented))return I(p)}}function wy(I,...p){const f={};for(const h of Object.keys(I))p.includes(h)||(f[h]=I[h]);return f}function zo(I){return{...I,get:()=>_h(I)}}zo.writable=function(I){const p=e0(I);let f=I;return{subscribe:p.subscribe,set(h){p.set(h),f=h},update(h){const g=h(f);p.set(g),f=g},get(){return f}}};zo.derived=function(I,p){const f=new Map,h=()=>{const b=Array.isArray(I)?I.map(w=>w.get()):I.get();return p(b)};return{get:h,subscribe:b=>{const w=[];return(Array.isArray(I)?I:[I]).forEach(P=>{w.push(P.subscribe(()=>{b(h())}))}),b(h()),f.set(b,w),()=>{const P=f.get(b);if(P)for(const z of P)z();f.delete(b)}}}};const Ug=(I,p)=>{const f=zo(I),h=(b,w)=>{f.update(r=>{const P=b(r);let z=P;return p&&(z=p({curr:r,next:P})),w==null||w(z),z})};return{...f,update:h,set:b=>{h(()=>b)}}},Ro={ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",A:"a",P:"p"};function Kg(I){const p={};return Object.keys(I).forEach(f=>{const h=f,g=I[h];p[h]=zo(e0(g))}),p}No(void 0,I=>{function p(h){I(h),I(void 0)}return Iy(document,"pointerup",p,{passive:!1,capture:!0})});No(void 0,I=>{function p(h){h&&h.key===Ro.ESCAPE&&I(h),I(void 0)}return Iy(document,"keydown",p,{passive:!1})});No(!1),No(!1),No(void 0);const Jg={isDateDisabled:void 0,isDateUnavailable:void 0,value:void 0,preventDeselect:!1,numberOfMonths:1,pagedNavigation:!1,weekStartsOn:0,fixedWeeks:!1,calendarLabel:"Event Date",locale:"en",minValue:void 0,maxValue:void 0,disabled:!1,readonly:!1,weekdayFormat:"narrow"};({...wy(Jg,"isDateDisabled","isDateUnavailable","value","locale","disabled","readonly","minValue","maxValue","weekdayFormat")});function Zg({page:I=1,totalPages:p,siblingCount:f=1}){const h=[],g=new Set([1,p]),b=3+f,w=p-2-f;if(b>w)for(let U=2;U<=p-1;U++)g.add(U);else if(Iw)for(let U=p-1;U>=Math.max(w,2);U--)g.add(U);else for(let U=Math.max(I-f,2);U<=Math.min(I+f,p);U++)g.add(U);const r=U=>{h.push({type:"page",value:U,key:`page-${U}`})},P=()=>{h.push({type:"ellipsis",key:`ellipsis-${h.length}`})};let z=0;for(const U of Array.from(g).sort((V,E)=>V-E))U-z>1&&P(),r(U),z=U;return h}const Wg={perPage:1,siblingCount:1,defaultPage:1},{name:Jr,selector:mp}=Vg("pagination");function Xg(I){const p={...Wg,...I},f=p.page??e0(p.defaultPage),h=Ug(f,p==null?void 0:p.onPageChange),g=Kg(wy(p,"page","onPageChange","defaultPage")),{perPage:b,siblingCount:w,count:r}=g,P=zo.derived([r,b],([pi,Li])=>Math.ceil(pi/Li)),z=i0([h,b,r],([pi,Li,Vi])=>{const Pi=(pi-1)*Li,Ui=Math.min(Pi+Li,Vi);return{start:Pi,end:Ui}}),U=To(Jr(),{returned:()=>({"data-scope":"pagination"})}),V=i0([h,P,w],([pi,Li,Vi])=>Zg({page:pi,totalPages:Li,siblingCount:Vi})),E=pi=>{const Li=pi.target;if(!us(Li))return;const Vi=Li.closest('[data-scope="pagination"]');if(!us(Vi))return;const Pi=Array.from(Vi.querySelectorAll(mp("page"))).filter(ue=>us(ue)),Ui=Vi.querySelector(mp("prev")),Ki=Vi.querySelector(mp("next"));us(Ui)&&Pi.unshift(Ui),us(Ki)&&Pi.push(Ki);const de=Pi.indexOf(Li);pi.key===Ro.ARROW_LEFT&&de!==0?(pi.preventDefault(),Pi[de-1].focus()):pi.key===Ro.ARROW_RIGHT&&de!==Pi.length-1?(pi.preventDefault(),Pi[de+1].focus()):pi.key===Ro.HOME?(pi.preventDefault(),Pi[0].focus()):pi.key===Ro.END&&(pi.preventDefault(),Pi[Pi.length-1].focus())},_i=To(Jr("page"),{stores:h,returned:pi=>Li=>({"aria-label":`Page ${Li.value}`,"data-value":Li.value,"data-selected":Li.value===pi?"":void 0}),action:pi=>({destroy:yp(ps(pi,"click",()=>{const Vi=pi.dataset.value;!Vi||Number.isNaN(+Vi)||h.set(Number(Vi))}),ps(pi,"keydown",E))})}),ti=To(Jr("prev"),{stores:h,returned:pi=>({"aria-label":"Previous",disabled:pi<=1}),action:pi=>({destroy:yp(ps(pi,"click",()=>{h.update(Vi=>Math.max(Vi-1,1))}),ps(pi,"keydown",E))})}),hi=To(Jr("next"),{stores:[h,P],returned:([pi,Li])=>({"aria-label":"Next",disabled:pi>=Li}),action:pi=>({destroy:yp(ps(pi,"click",()=>{const Vi=P.get();h.update(Pi=>Math.min(Pi+1,Vi))}),ps(pi,"keydown",E))})});return{elements:{root:U,pageTrigger:_i,prevButton:ti,nextButton:hi},states:{range:dp(z),page:h,pages:dp(V),totalPages:dp(P)},options:g}}function Yg(I,p){const f={};return p.forEach(h=>{f[h]={[`data-${I}-${h}`]:""}}),h=>f[h]}function Bp(){const I=xh();return p=>{const{originalEvent:f}=p.detail,{cancelable:h}=p,g=f.type;I(g,{originalEvent:f,currentTarget:f.currentTarget},{cancelable:h})||p.preventDefault()}}function Qg(I){const p={};for(const f in I){const h=I[f];h!==void 0&&(p[f]=h)}return p}function iS(I){return function(p,f){if(f===void 0)return;const h=I[p];h&&h.set(f)}}function eS(I,p){const f=[];return p.builders.forEach(h=>{const g=h.action(I);g&&f.push(g)}),{destroy:()=>{f.forEach(h=>{h.destroy&&h.destroy()})}}}function Fd(I){const p={};return I.forEach(f=>{Object.keys(f).forEach(h=>{h!=="action"&&(p[h]=f[h])})}),p}function tS(I){let p=I[1]?"a":"button",f,h,g=(I[1]?"a":"button")&&hp(I);return{c(){g&&g.c(),f=wt()},l(b){g&&g.l(b),f=wt()},m(b,w){g&&g.m(b,w),oe(b,f,w),h=!0},p(b,w){b[1],p?vt(p,b[1]?"a":"button")?(g.d(1),g=hp(b),p=b[1]?"a":"button",g.c(),g.m(f.parentNode,f)):g.p(b,w):(g=hp(b),p=b[1]?"a":"button",g.c(),g.m(f.parentNode,f))},i(b){h||(Fi(g,b),h=!0)},o(b){Di(g,b),h=!1},d(b){b&&ji(f),g&&g.d(b)}}}function aS(I){let p=I[1]?"a":"button",f,h,g=(I[1]?"a":"button")&&fp(I);return{c(){g&&g.c(),f=wt()},l(b){g&&g.l(b),f=wt()},m(b,w){g&&g.m(b,w),oe(b,f,w),h=!0},p(b,w){b[1],p?vt(p,b[1]?"a":"button")?(g.d(1),g=fp(b),p=b[1]?"a":"button",g.c(),g.m(f.parentNode,f)):g.p(b,w):(g=fp(b),p=b[1]?"a":"button",g.c(),g.m(f.parentNode,f))},i(b){h||(Fi(g,b),h=!0)},o(b){Di(g,b),h=!1},d(b){b&&ji(f),g&&g.d(b)}}}function hp(I){let p,f,h,g,b;const w=I[7].default,r=wa(w,I,I[6],null);let P=[{type:f=I[1]?void 0:I[2]},{href:I[1]},{tabindex:"0"},I[5],I[4]],z={};for(let U=0;U{w[U]=null}),Ja(),f=w[p],f?f.p(P,z):(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function lS(I,p,f){const h=["href","type","builders","el"];let g=vn(p,h),{$$slots:b={},$$scope:w}=p,{href:r=void 0}=p,{type:P=void 0}=p,{builders:z=[]}=p,{el:U=void 0}=p;const V={"data-button-root":""};function E(qi){Ut.call(this,I,qi)}function _i(qi){Ut.call(this,I,qi)}function ti(qi){Ut.call(this,I,qi)}function hi(qi){Ut.call(this,I,qi)}function pi(qi){Ut.call(this,I,qi)}function Li(qi){Ut.call(this,I,qi)}function Vi(qi){Ut.call(this,I,qi)}function Pi(qi){Ut.call(this,I,qi)}function Ui(qi){Ut.call(this,I,qi)}function Ki(qi){Ut.call(this,I,qi)}function de(qi){Ut.call(this,I,qi)}function ue(qi){Ut.call(this,I,qi)}function dt(qi){Ut.call(this,I,qi)}function Be(qi){Ut.call(this,I,qi)}function we(qi){Ut.call(this,I,qi)}function Yi(qi){Ut.call(this,I,qi)}function ke(qi){Ut.call(this,I,qi)}function qe(qi){Ut.call(this,I,qi)}function He(qi){Ut.call(this,I,qi)}function Le(qi){Ut.call(this,I,qi)}function Gt(qi){mc[qi?"unshift":"push"](()=>{U=qi,f(0,U)})}function We(qi){mc[qi?"unshift":"push"](()=>{U=qi,f(0,U)})}return I.$$set=qi=>{p=De(De({},p),Qt(qi)),f(5,g=vn(p,h)),"href"in qi&&f(1,r=qi.href),"type"in qi&&f(2,P=qi.type),"builders"in qi&&f(3,z=qi.builders),"el"in qi&&f(0,U=qi.el),"$$scope"in qi&&f(6,w=qi.$$scope)},[U,r,P,z,V,g,w,b,E,_i,ti,hi,pi,Li,Vi,Pi,Ui,Ki,de,ue,dt,Be,we,Yi,ke,qe,He,Le,Gt,We]}class Zr extends zt{constructor(p){super(),Et(this,p,lS,nS,vt,{href:1,type:2,builders:3,el:0})}}function ky(){return{NAME:"pagination",PARTS:["root","prev-button","next-button","page"]}}function cS(I){const{NAME:p,PARTS:f}=ky(),h=Yg(p,f),g={...Xg(Qg(I)),getAttrs:h};return bh(p,g),{...g,updateOption:iS(g.options)}}function Cp(){const{NAME:I}=ky();return vh(I)}const sS=I=>({builder:I&4,pages:I&8,range:I&16}),Td=I=>({builder:I[2],pages:I[3],range:I[4]}),oS=I=>({builder:I&4,pages:I&8,range:I&16}),Rd=I=>({builder:I[2],pages:I[3],range:I[4]});function rS(I){let p,f,h,g;const b=I[16].default,w=wa(b,I,I[15],Td);let r=[I[2],I[8]],P={};for(let z=0;z{w[U]=null}),Ja(),f=w[p],f?f.p(P,z):(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function dS(I,p,f){let h;const g=["count","page","onPageChange","perPage","siblingCount","asChild","el"];let b=vn(p,g),w,r,P,{$$slots:z={},$$scope:U}=p,{count:V}=p,{page:E=void 0}=p,{onPageChange:_i=void 0}=p,{perPage:ti=void 0}=p,{siblingCount:hi=void 0}=p,{asChild:pi=!1}=p,{el:Li=void 0}=p;const{elements:{root:Vi},states:{pages:Pi,range:Ui,page:Ki},getAttrs:de,updateOption:ue}=cS({count:V,perPage:ti,siblingCount:hi,defaultPage:E,onPageChange:({next:we})=>(E!==we&&(_i==null||_i(we),f(9,E=we)),we)});yl(I,Vi,we=>f(14,w=we)),yl(I,Pi,we=>f(3,r=we)),yl(I,Ui,we=>f(4,P=we));const dt=de("root");function Be(we){mc[we?"unshift":"push"](()=>{Li=we,f(0,Li)})}return I.$$set=we=>{p=De(De({},p),Qt(we)),f(8,b=vn(p,g)),"count"in we&&f(10,V=we.count),"page"in we&&f(9,E=we.page),"onPageChange"in we&&f(11,_i=we.onPageChange),"perPage"in we&&f(12,ti=we.perPage),"siblingCount"in we&&f(13,hi=we.siblingCount),"asChild"in we&&f(1,pi=we.asChild),"el"in we&&f(0,Li=we.el),"$$scope"in we&&f(15,U=we.$$scope)},I.$$.update=()=>{I.$$.dirty&512&&E!==void 0&&Ki.set(E),I.$$.dirty&16384&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,dt),I.$$.dirty&1024&&ue("count",V),I.$$.dirty&4096&&ue("perPage",ti),I.$$.dirty&8192&&ue("siblingCount",hi)},[Li,pi,h,r,P,Vi,Pi,Ui,b,E,V,_i,ti,hi,w,U,z,Be]}class yS extends zt{constructor(p){super(),Et(this,p,dS,uS,vt,{count:10,page:9,onPageChange:11,perPage:12,siblingCount:13,asChild:1,el:0})}}const mS=I=>({builder:I&4}),Dd=I=>({builder:I[2]}),hS=I=>({builder:I&4}),Nd=I=>({builder:I[2]});function fS(I){let p,f,h,g;const b=I[8].default,w=wa(b,I,I[7],Dd);let r=[I[2],{type:"button"},I[5]],P={};for(let z=0;z{w[U]=null}),Ja(),f=w[p],f?f.p(P,z):(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function IS(I,p,f){let h;const g=["asChild","el"];let b=vn(p,g),w,{$$slots:r={},$$scope:P}=p,{asChild:z=void 0}=p,{el:U=void 0}=p;const{elements:{prevButton:V},getAttrs:E}=Cp();yl(I,V,pi=>f(6,w=pi));const _i=E("prev-button"),ti=Bp();function hi(pi){mc[pi?"unshift":"push"](()=>{U=pi,f(0,U)})}return I.$$set=pi=>{p=De(De({},p),Qt(pi)),f(5,b=vn(p,g)),"asChild"in pi&&f(1,z=pi.asChild),"el"in pi&&f(0,U=pi.el),"$$scope"in pi&&f(7,P=pi.$$scope)},I.$$.update=()=>{I.$$.dirty&64&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,_i)},[U,z,h,V,ti,b,w,P,r,hi]}class wS extends zt{constructor(p){super(),Et(this,p,IS,SS,vt,{asChild:1,el:0})}}const kS=I=>({builder:I&4}),Gd=I=>({builder:I[2]}),_S=I=>({builder:I&4}),Pd=I=>({builder:I[2]});function xS(I){let p,f,h,g;const b=I[8].default,w=wa(b,I,I[7],Gd);let r=[I[2],{type:"button"},I[5]],P={};for(let z=0;z{w[U]=null}),Ja(),f=w[p],f?f.p(P,z):(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function vS(I,p,f){let h;const g=["asChild","el"];let b=vn(p,g),w,{$$slots:r={},$$scope:P}=p,{asChild:z=void 0}=p,{el:U=void 0}=p;const{elements:{nextButton:V},getAttrs:E}=Cp();yl(I,V,pi=>f(6,w=pi));const _i=E("next-button"),ti=Bp();function hi(pi){mc[pi?"unshift":"push"](()=>{U=pi,f(0,U)})}return I.$$set=pi=>{p=De(De({},p),Qt(pi)),f(5,b=vn(p,g)),"asChild"in pi&&f(1,z=pi.asChild),"el"in pi&&f(0,U=pi.el),"$$scope"in pi&&f(7,P=pi.$$scope)},I.$$.update=()=>{I.$$.dirty&64&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,_i)},[U,z,h,V,ti,b,w,P,r,hi]}class AS extends zt{constructor(p){super(),Et(this,p,vS,bS,vt,{asChild:1,el:0})}}const LS=I=>({builder:I&8}),Md=I=>({builder:I[3]}),BS=I=>({builder:I&8}),zd=I=>({builder:I[3]});function CS(I){let p,f,h,g;const b=I[9].default,w=wa(b,I,I[8],Md),r=w||TS(I);let P=[{type:"button"},I[3],I[6]],z={};for(let U=0;U{w[U]=null}),Ja(),f=w[p],f?f.p(P,z):(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function DS(I,p,f){let h;const g=["asChild","page","el"];let b=vn(p,g),w,{$$slots:r={},$$scope:P}=p,{asChild:z=void 0}=p,{page:U}=p,{el:V=void 0}=p;const{elements:{pageTrigger:E},getAttrs:_i}=Cp();yl(I,E,Li=>f(7,w=Li));const ti=_i("page"),hi=Bp();function pi(Li){mc[Li?"unshift":"push"](()=>{V=Li,f(0,V)})}return I.$$set=Li=>{p=De(De({},p),Qt(Li)),f(6,b=vn(p,g)),"asChild"in Li&&f(1,z=Li.asChild),"page"in Li&&f(2,U=Li.page),"el"in Li&&f(0,V=Li.el),"$$scope"in Li&&f(8,P=Li.$$scope)},I.$$.update=()=>{I.$$.dirty&132&&f(3,h=w(U)),I.$$.dirty&8&&Object.assign(h,ti)},[V,z,U,h,E,hi,b,w,P,r,pi]}class NS extends zt{constructor(p){super(),Et(this,p,DS,RS,vt,{asChild:1,page:2,el:0})}}/** +`),Z=x.createShader(x.FRAGMENT_SHADER);if(x.isContextLost())return void(this.failedToCreate=!0);if(x.shaderSource(Z,Q),x.compileShader(Z),!x.getShaderParameter(Z,x.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${x.getShaderInfoLog(Z)}`);x.attachShader(this.program,Z);const si=x.createShader(x.VERTEX_SHADER);if(x.isContextLost())return void(this.failedToCreate=!0);if(x.shaderSource(si,ni),x.compileShader(si),!x.getShaderParameter(si,x.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${x.getShaderInfoLog(si)}`);x.attachShader(this.program,si),this.attributes={};const di={};this.numAttributes=F.length;for(let yi=0;yi({u_depth:new r.aI(yi,wi.u_depth),u_terrain:new r.aI(yi,wi.u_terrain),u_terrain_dim:new r.aJ(yi,wi.u_terrain_dim),u_terrain_matrix:new r.aK(yi,wi.u_terrain_matrix),u_terrain_unpack:new r.aL(yi,wi.u_terrain_unpack),u_terrain_exaggeration:new r.aJ(yi,wi.u_terrain_exaggeration)}))(e,di),this.binderUniforms=c?c.getUniforms(e,di):[]}draw(e,n,c,o,y,k,x,b,A,F,C,P,q,$,X,K,Q,ni){const Z=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(c),e.setStencilMode(o),e.setColorMode(y),e.setCullFace(k),b){e.activeTexture.set(Z.TEXTURE2),Z.bindTexture(Z.TEXTURE_2D,b.depthTexture),e.activeTexture.set(Z.TEXTURE3),Z.bindTexture(Z.TEXTURE_2D,b.texture);for(const di in this.terrainUniforms)this.terrainUniforms[di].set(b[di])}for(const di in this.fixedUniforms)this.fixedUniforms[di].set(x[di]);X&&X.setUniforms(e,this.binderUniforms,q,{zoom:$});let si=0;switch(n){case Z.LINES:si=2;break;case Z.TRIANGLES:si=3;break;case Z.LINE_STRIP:si=1}for(const di of P.get()){const yi=di.vaos||(di.vaos={});(yi[A]||(yi[A]=new Sc)).bind(e,this,F,X?X.getPaintVertexBuffers():[],C,di.vertexOffset,K,Q,ni),Z.drawElements(n,di.primitiveLength*si,Z.UNSIGNED_SHORT,di.primitiveOffset*si*2)}}}function wc(d,e,n){const c=1/xe(n,1,e.transform.tileZoom),o=Math.pow(2,n.tileID.overscaledZ),y=n.tileSize*Math.pow(2,e.transform.tileZoom)/o,k=y*(n.tileID.canonical.x+n.tileID.wrap*o),x=y*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[c,d.fromScale,d.toScale],u_fade:d.t,u_pixel_coord_upper:[k>>16,x>>16],u_pixel_coord_lower:[65535&k,65535&x]}}const kc=(d,e,n,c)=>{const o=e.style.light,y=o.properties.get("position"),k=[y.x,y.y,y.z],x=function(){var A=new r.A(9);return r.A!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[5]=0,A[6]=0,A[7]=0),A[0]=1,A[4]=1,A[8]=1,A}();o.properties.get("anchor")==="viewport"&&function(A,F){var C=Math.sin(F),P=Math.cos(F);A[0]=P,A[1]=C,A[2]=0,A[3]=-C,A[4]=P,A[5]=0,A[6]=0,A[7]=0,A[8]=1}(x,-e.transform.angle),function(A,F,C){var P=F[0],q=F[1],$=F[2];A[0]=P*C[0]+q*C[3]+$*C[6],A[1]=P*C[1]+q*C[4]+$*C[7],A[2]=P*C[2]+q*C[5]+$*C[8]}(k,k,x);const b=o.properties.get("color");return{u_matrix:d,u_lightpos:k,u_lightintensity:o.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_vertical_gradient:+n,u_opacity:c}},_c=(d,e,n,c,o,y,k)=>r.e(kc(d,e,n,c),wc(y,e,k),{u_height_factor:-Math.pow(2,o.overscaledZ)/k.tileSize/8}),Vl=d=>({u_matrix:d}),ml=(d,e,n,c)=>r.e(Vl(d),wc(n,e,c)),a0=(d,e)=>({u_matrix:d,u_world:e}),n0=(d,e,n,c,o)=>r.e(ml(d,e,n,c),{u_world:o}),Eo=(d,e,n,c)=>{const o=d.transform;let y,k;if(c.paint.get("circle-pitch-alignment")==="map"){const x=xe(n,1,o.zoom);y=!0,k=[x,x]}else y=!1,k=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+(c.paint.get("circle-pitch-scale")==="map"),u_matrix:d.translatePosMatrix(e.posMatrix,n,c.paint.get("circle-translate"),c.paint.get("circle-translate-anchor")),u_pitch_with_map:+y,u_device_pixel_ratio:d.pixelRatio,u_extrude_scale:k}},l0=(d,e,n)=>({u_matrix:d,u_inv_matrix:e,u_camera_to_center_distance:n.cameraToCenterDistance,u_viewport_size:[n.width,n.height]}),En=(d,e,n=1)=>({u_matrix:d,u_color:e,u_overlay:0,u_overlay_scale:n}),Ol=d=>({u_matrix:d}),Oa=(d,e,n,c)=>({u_matrix:d,u_extrude_scale:xe(e,1,n),u_intensity:c});function $a(d,e){const n=Math.pow(2,e.canonical.z),c=e.canonical.y;return[new r.Z(0,c/n).toLngLat().lat,new r.Z(0,(c+1)/n).toLngLat().lat]}const $l=(d,e,n,c)=>{const o=d.transform;return{u_matrix:Vo(d,e,n,c),u_ratio:1/xe(e,1,o.zoom),u_device_pixel_ratio:d.pixelRatio,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},xc=(d,e,n,c,o)=>r.e($l(d,e,n,o),{u_image:0,u_image_height:c}),qo=(d,e,n,c,o)=>{const y=d.transform,k=Yn(e,y);return{u_matrix:Vo(d,e,n,o),u_texsize:e.imageAtlasTexture.size,u_ratio:1/xe(e,1,y.zoom),u_device_pixel_ratio:d.pixelRatio,u_image:0,u_scale:[k,c.fromScale,c.toScale],u_fade:c.t,u_units_to_pixels:[1/y.pixelsToGLUnits[0],1/y.pixelsToGLUnits[1]]}},Ho=(d,e,n,c,o,y)=>{const k=d.lineAtlas,x=Yn(e,d.transform),b=n.layout.get("line-cap")==="round",A=k.getDash(c.from,b),F=k.getDash(c.to,b),C=A.width*o.fromScale,P=F.width*o.toScale;return r.e($l(d,e,n,y),{u_patternscale_a:[x/C,-A.height/2],u_patternscale_b:[x/P,-F.height/2],u_sdfgamma:k.width/(256*Math.min(C,P)*d.pixelRatio)/2,u_image:0,u_tex_y_a:A.y,u_tex_y_b:F.y,u_mix:o.t})};function Yn(d,e){return 1/xe(d,1,e.tileZoom)}function Vo(d,e,n,c){return d.translatePosMatrix(c?c.posMatrix:e.tileID.posMatrix,e,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}const c0=(d,e,n,c,o)=>{return{u_matrix:d,u_tl_parent:e,u_scale_parent:n,u_buffer_scale:1,u_fade_t:c.mix,u_opacity:c.opacity*o.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:o.paint.get("raster-brightness-min"),u_brightness_high:o.paint.get("raster-brightness-max"),u_saturation_factor:(k=o.paint.get("raster-saturation"),k>0?1-1/(1.001-k):-k),u_contrast_factor:(y=o.paint.get("raster-contrast"),y>0?1/(1-y):1+y),u_spin_weights:s0(o.paint.get("raster-hue-rotate"))};var y,k};function s0(d){d*=Math.PI/180;const e=Math.sin(d),n=Math.cos(d);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}const Oo=(d,e,n,c,o,y,k,x,b,A,F,C,P,q)=>{const $=k.transform;return{u_is_size_zoom_constant:+(d==="constant"||d==="source"),u_is_size_feature_constant:+(d==="constant"||d==="camera"),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:$.cameraToCenterDistance,u_pitch:$.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:$.width/$.height,u_fade_change:k.options.fadeDuration?k.symbolFadeChange:1,u_matrix:x,u_label_plane_matrix:b,u_coord_matrix:A,u_is_text:+C,u_pitch_with_map:+c,u_is_along_line:o,u_is_variable_anchor:y,u_texsize:P,u_texture:0,u_translation:F,u_pitched_scale:q}},$o=(d,e,n,c,o,y,k,x,b,A,F,C,P,q,$)=>{const X=k.transform;return r.e(Oo(d,e,n,c,o,y,k,x,b,A,F,C,P,$),{u_gamma_scale:c?Math.cos(X._pitch)*X.cameraToCenterDistance:1,u_device_pixel_ratio:k.pixelRatio,u_is_halo:+q})},o0=(d,e,n,c,o,y,k,x,b,A,F,C,P,q)=>r.e($o(d,e,n,c,o,y,k,x,b,A,F,!0,C,!0,q),{u_texsize_icon:P,u_texture_icon:1}),jc=(d,e,n)=>({u_matrix:d,u_opacity:e,u_color:n}),Is=(d,e,n,c,o,y)=>r.e(function(k,x,b,A){const F=b.imageManager.getPattern(k.from.toString()),C=b.imageManager.getPattern(k.to.toString()),{width:P,height:q}=b.imageManager.getPixelSize(),$=Math.pow(2,A.tileID.overscaledZ),X=A.tileSize*Math.pow(2,b.transform.tileZoom)/$,K=X*(A.tileID.canonical.x+A.tileID.wrap*$),Q=X*A.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:F.tl,u_pattern_br_a:F.br,u_pattern_tl_b:C.tl,u_pattern_br_b:C.br,u_texsize:[P,q],u_mix:x.t,u_pattern_size_a:F.displaySize,u_pattern_size_b:C.displaySize,u_scale_a:x.fromScale,u_scale_b:x.toScale,u_tile_units_to_pixels:1/xe(A,1,b.transform.tileZoom),u_pixel_coord_upper:[K>>16,Q>>16],u_pixel_coord_lower:[65535&K,65535&Q]}}(c,y,n,o),{u_matrix:d,u_opacity:e}),bc={fillExtrusion:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_lightpos:new r.aO(d,e.u_lightpos),u_lightintensity:new r.aJ(d,e.u_lightintensity),u_lightcolor:new r.aO(d,e.u_lightcolor),u_vertical_gradient:new r.aJ(d,e.u_vertical_gradient),u_opacity:new r.aJ(d,e.u_opacity)}),fillExtrusionPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_lightpos:new r.aO(d,e.u_lightpos),u_lightintensity:new r.aJ(d,e.u_lightintensity),u_lightcolor:new r.aO(d,e.u_lightcolor),u_vertical_gradient:new r.aJ(d,e.u_vertical_gradient),u_height_factor:new r.aJ(d,e.u_height_factor),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade),u_opacity:new r.aJ(d,e.u_opacity)}),fill:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix)}),fillPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),fillOutline:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world)}),fillOutlinePattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world),u_image:new r.aI(d,e.u_image),u_texsize:new r.aP(d,e.u_texsize),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),circle:(d,e)=>({u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_scale_with_map:new r.aI(d,e.u_scale_with_map),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_extrude_scale:new r.aP(d,e.u_extrude_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_matrix:new r.aK(d,e.u_matrix)}),collisionBox:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_pixel_extrude_scale:new r.aP(d,e.u_pixel_extrude_scale)}),collisionCircle:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_inv_matrix:new r.aK(d,e.u_inv_matrix),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_viewport_size:new r.aP(d,e.u_viewport_size)}),debug:(d,e)=>({u_color:new r.aM(d,e.u_color),u_matrix:new r.aK(d,e.u_matrix),u_overlay:new r.aI(d,e.u_overlay),u_overlay_scale:new r.aJ(d,e.u_overlay_scale)}),clippingMask:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix)}),heatmap:(d,e)=>({u_extrude_scale:new r.aJ(d,e.u_extrude_scale),u_intensity:new r.aJ(d,e.u_intensity),u_matrix:new r.aK(d,e.u_matrix)}),heatmapTexture:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_world:new r.aP(d,e.u_world),u_image:new r.aI(d,e.u_image),u_color_ramp:new r.aI(d,e.u_color_ramp),u_opacity:new r.aJ(d,e.u_opacity)}),hillshade:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_latrange:new r.aP(d,e.u_latrange),u_light:new r.aP(d,e.u_light),u_shadow:new r.aM(d,e.u_shadow),u_highlight:new r.aM(d,e.u_highlight),u_accent:new r.aM(d,e.u_accent)}),hillshadePrepare:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_image:new r.aI(d,e.u_image),u_dimension:new r.aP(d,e.u_dimension),u_zoom:new r.aJ(d,e.u_zoom),u_unpack:new r.aL(d,e.u_unpack)}),line:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels)}),lineGradient:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_image:new r.aI(d,e.u_image),u_image_height:new r.aJ(d,e.u_image_height)}),linePattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texsize:new r.aP(d,e.u_texsize),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_image:new r.aI(d,e.u_image),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_scale:new r.aO(d,e.u_scale),u_fade:new r.aJ(d,e.u_fade)}),lineSDF:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ratio:new r.aJ(d,e.u_ratio),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_units_to_pixels:new r.aP(d,e.u_units_to_pixels),u_patternscale_a:new r.aP(d,e.u_patternscale_a),u_patternscale_b:new r.aP(d,e.u_patternscale_b),u_sdfgamma:new r.aJ(d,e.u_sdfgamma),u_image:new r.aI(d,e.u_image),u_tex_y_a:new r.aJ(d,e.u_tex_y_a),u_tex_y_b:new r.aJ(d,e.u_tex_y_b),u_mix:new r.aJ(d,e.u_mix)}),raster:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_tl_parent:new r.aP(d,e.u_tl_parent),u_scale_parent:new r.aJ(d,e.u_scale_parent),u_buffer_scale:new r.aJ(d,e.u_buffer_scale),u_fade_t:new r.aJ(d,e.u_fade_t),u_opacity:new r.aJ(d,e.u_opacity),u_image0:new r.aI(d,e.u_image0),u_image1:new r.aI(d,e.u_image1),u_brightness_low:new r.aJ(d,e.u_brightness_low),u_brightness_high:new r.aJ(d,e.u_brightness_high),u_saturation_factor:new r.aJ(d,e.u_saturation_factor),u_contrast_factor:new r.aJ(d,e.u_contrast_factor),u_spin_weights:new r.aO(d,e.u_spin_weights)}),symbolIcon:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texture:new r.aI(d,e.u_texture),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),symbolSDF:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texture:new r.aI(d,e.u_texture),u_gamma_scale:new r.aJ(d,e.u_gamma_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_is_halo:new r.aI(d,e.u_is_halo),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),symbolTextAndIcon:(d,e)=>({u_is_size_zoom_constant:new r.aI(d,e.u_is_size_zoom_constant),u_is_size_feature_constant:new r.aI(d,e.u_is_size_feature_constant),u_size_t:new r.aJ(d,e.u_size_t),u_size:new r.aJ(d,e.u_size),u_camera_to_center_distance:new r.aJ(d,e.u_camera_to_center_distance),u_pitch:new r.aJ(d,e.u_pitch),u_rotate_symbol:new r.aI(d,e.u_rotate_symbol),u_aspect_ratio:new r.aJ(d,e.u_aspect_ratio),u_fade_change:new r.aJ(d,e.u_fade_change),u_matrix:new r.aK(d,e.u_matrix),u_label_plane_matrix:new r.aK(d,e.u_label_plane_matrix),u_coord_matrix:new r.aK(d,e.u_coord_matrix),u_is_text:new r.aI(d,e.u_is_text),u_pitch_with_map:new r.aI(d,e.u_pitch_with_map),u_is_along_line:new r.aI(d,e.u_is_along_line),u_is_variable_anchor:new r.aI(d,e.u_is_variable_anchor),u_texsize:new r.aP(d,e.u_texsize),u_texsize_icon:new r.aP(d,e.u_texsize_icon),u_texture:new r.aI(d,e.u_texture),u_texture_icon:new r.aI(d,e.u_texture_icon),u_gamma_scale:new r.aJ(d,e.u_gamma_scale),u_device_pixel_ratio:new r.aJ(d,e.u_device_pixel_ratio),u_is_halo:new r.aI(d,e.u_is_halo),u_translation:new r.aP(d,e.u_translation),u_pitched_scale:new r.aJ(d,e.u_pitched_scale)}),background:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_opacity:new r.aJ(d,e.u_opacity),u_color:new r.aM(d,e.u_color)}),backgroundPattern:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_opacity:new r.aJ(d,e.u_opacity),u_image:new r.aI(d,e.u_image),u_pattern_tl_a:new r.aP(d,e.u_pattern_tl_a),u_pattern_br_a:new r.aP(d,e.u_pattern_br_a),u_pattern_tl_b:new r.aP(d,e.u_pattern_tl_b),u_pattern_br_b:new r.aP(d,e.u_pattern_br_b),u_texsize:new r.aP(d,e.u_texsize),u_mix:new r.aJ(d,e.u_mix),u_pattern_size_a:new r.aP(d,e.u_pattern_size_a),u_pattern_size_b:new r.aP(d,e.u_pattern_size_b),u_scale_a:new r.aJ(d,e.u_scale_a),u_scale_b:new r.aJ(d,e.u_scale_b),u_pixel_coord_upper:new r.aP(d,e.u_pixel_coord_upper),u_pixel_coord_lower:new r.aP(d,e.u_pixel_coord_lower),u_tile_units_to_pixels:new r.aJ(d,e.u_tile_units_to_pixels)}),terrain:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texture:new r.aI(d,e.u_texture),u_ele_delta:new r.aJ(d,e.u_ele_delta),u_fog_matrix:new r.aK(d,e.u_fog_matrix),u_fog_color:new r.aM(d,e.u_fog_color),u_fog_ground_blend:new r.aJ(d,e.u_fog_ground_blend),u_fog_ground_blend_opacity:new r.aJ(d,e.u_fog_ground_blend_opacity),u_horizon_color:new r.aM(d,e.u_horizon_color),u_horizon_fog_blend:new r.aJ(d,e.u_horizon_fog_blend)}),terrainDepth:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_ele_delta:new r.aJ(d,e.u_ele_delta)}),terrainCoords:(d,e)=>({u_matrix:new r.aK(d,e.u_matrix),u_texture:new r.aI(d,e.u_texture),u_terrain_coords_id:new r.aJ(d,e.u_terrain_coords_id),u_ele_delta:new r.aJ(d,e.u_ele_delta)}),sky:(d,e)=>({u_sky_color:new r.aM(d,e.u_sky_color),u_horizon_color:new r.aM(d,e.u_horizon_color),u_horizon:new r.aJ(d,e.u_horizon),u_sky_horizon_blend:new r.aJ(d,e.u_sky_horizon_blend)})};class ws{constructor(e,n,c){this.context=e;const o=e.gl;this.buffer=o.createBuffer(),this.dynamicDraw=!!c,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete n.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){const n=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),n.bufferSubData(n.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const ks={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class In{constructor(e,n,c,o){this.length=n.length,this.attributes=c,this.itemSize=n.bytesPerElement,this.dynamicDraw=o,this.context=e;const y=e.gl;this.buffer=y.createBuffer(),e.bindVertexBuffer.set(this.buffer),y.bufferData(y.ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?y.DYNAMIC_DRAW:y.STATIC_DRAW),this.dynamicDraw||delete n.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);const n=this.context.gl;this.bind(),n.bufferSubData(n.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,n){for(let c=0;c0){const yi=r.H();r.aR(yi,Z.placementInvProjMatrix,d.transform.glCoordMatrix),r.aR(yi,yi,Z.placementViewportMatrix),b.push({circleArray:di,circleOffset:F,transform:ni.posMatrix,invTransform:yi,coord:ni}),A+=di.length/4,F=A}si&&x.draw(y,k.LINES,Te.disabled,Ct.disabled,d.colorModeForRenderPass(),wt.disabled,{u_matrix:ni.posMatrix,u_pixel_extrude_scale:[1/(C=d.transform).width,1/C.height]},d.style.map.terrain&&d.style.map.terrain.getTerrainData(ni),n.id,si.layoutVertexBuffer,si.indexBuffer,si.segments,null,d.transform.zoom,null,null,si.collisionVertexBuffer)}var C;if(!o||!b.length)return;const P=d.useProgram("collisionCircle"),q=new r.aS;q.resize(4*A),q._trim();let $=0;for(const Q of b)for(let ni=0;ni=0&&(Q[Z.associatedIconIndex]={shiftedAnchor:fe,angle:_t})}else re(Z.numGlyphs,X)}if(A){K.clear();const ni=d.icon.placedSymbolArray;for(let Z=0;Zd.style.map.terrain.getElevation(Li,ro,Qt):null,Al=n.layout.get("text-rotation-alignment")==="map";H(Yi,Li.posMatrix,d,o,sl,bl,Q,A,Al,X,Li.toUnwrapped(),$.width,$.height,ol,Tt)}const sa=Li.posMatrix,un=o&&vi||oo,On=ni||un?Cs:sl,vl=Uc,ha=qi&&n.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let fa;fa=qi?Yi.iconsInText?o0(fe.kind,Re,Z,Q,ni,un,d,sa,On,vl,ol,da,La,Ui):$o(fe.kind,Re,Z,Q,ni,un,d,sa,On,vl,ol,o,da,!0,Ui):Oo(fe.kind,Re,Z,Q,ni,un,d,sa,On,vl,ol,o,da,Ui);const na={program:Ae,buffers:Se,uniformValues:fa,atlasTexture:rn,atlasTextureIcon:ya,atlasInterpolation:jt,atlasInterpolationIcon:Ra,isSDF:qi,hasHalo:ha};if(di&&Yi.canOverlap){yi=!0;const Tt=Se.segments.get();for(const Al of Tt)Oi.push({segments:new r.a0([Al]),sortKey:Al.sortKey,state:na,terrainData:xt})}else Oi.push({segments:Se.segments,sortKey:0,state:na,terrainData:xt})}yi&&Oi.sort((Li,Ci)=>Li.sortKey-Ci.sortKey);for(const Li of Oi){const Ci=Li.state;if(P.activeTexture.set(q.TEXTURE0),Ci.atlasTexture.bind(Ci.atlasInterpolation,q.CLAMP_TO_EDGE),Ci.atlasTextureIcon&&(P.activeTexture.set(q.TEXTURE1),Ci.atlasTextureIcon&&Ci.atlasTextureIcon.bind(Ci.atlasInterpolationIcon,q.CLAMP_TO_EDGE)),Ci.isSDF){const Yi=Ci.uniformValues;Ci.hasHalo&&(Yi.u_is_halo=1,il(Ci.buffers,Li.segments,n,d,Ci.program,wi,F,C,Yi,Li.terrainData)),Yi.u_is_halo=0}il(Ci.buffers,Li.segments,n,d,Ci.program,wi,F,C,Ci.uniformValues,Li.terrainData)}}function il(d,e,n,c,o,y,k,x,b,A){const F=c.context;o.draw(F,F.gl.TRIANGLES,y,k,x,wt.disabled,b,A,n.id,d.layoutVertexBuffer,d.indexBuffer,e,n.paint,c.transform.zoom,d.programConfigurations.get(n.id),d.dynamicLayoutVertexBuffer,d.opacityVertexBuffer)}function Ua(d,e,n,c,o){if(!n||!c||!c.imageAtlas)return;const y=c.imageAtlas.patternPositions;let k=y[n.to.toString()],x=y[n.from.toString()];if(!k&&x&&(k=x),!x&&k&&(x=k),!k||!x){const b=o.getPaintProperty(e);k=y[b],x=y[b]}k&&x&&d.setConstantPatternPositions(k,x)}function Ts(d,e,n,c,o,y,k){const x=d.context.gl,b="fill-pattern",A=n.paint.get(b),F=A&&A.constantOr(1),C=n.getCrossfadeParameters();let P,q,$,X,K;k?(q=F&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",P=x.LINES):(q=F?"fillPattern":"fill",P=x.TRIANGLES);const Q=A.constantOr(null);for(const ni of c){const Z=e.getTile(ni);if(F&&!Z.patternsLoaded())continue;const si=Z.getBucket(n);if(!si)continue;const di=si.programConfigurations.get(n.id),yi=d.useProgram(q,di),wi=d.style.map.terrain&&d.style.map.terrain.getTerrainData(ni);F&&(d.context.activeTexture.set(x.TEXTURE0),Z.imageAtlasTexture.bind(x.LINEAR,x.CLAMP_TO_EDGE),di.updatePaintBuffers(C)),Ua(di,b,Q,Z,n);const vi=wi?ni:null,Oi=d.translatePosMatrix(vi?vi.posMatrix:ni.posMatrix,Z,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(k){X=si.indexBuffer2,K=si.segments2;const Ui=[x.drawingBufferWidth,x.drawingBufferHeight];$=q==="fillOutlinePattern"&&F?n0(Oi,d,C,Z,Ui):a0(Oi,Ui)}else X=si.indexBuffer,K=si.segments,$=F?ml(Oi,d,C,Z):Vl(Oi);yi.draw(d.context,P,o,d.stencilModeForClipping(ni),y,wt.disabled,$,wi,n.id,si.layoutVertexBuffer,X,K,n.paint,d.transform.zoom,di)}}function Tc(d,e,n,c,o,y,k){const x=d.context,b=x.gl,A="fill-extrusion-pattern",F=n.paint.get(A),C=F.constantOr(1),P=n.getCrossfadeParameters(),q=n.paint.get("fill-extrusion-opacity"),$=F.constantOr(null);for(const X of c){const K=e.getTile(X),Q=K.getBucket(n);if(!Q)continue;const ni=d.style.map.terrain&&d.style.map.terrain.getTerrainData(X),Z=Q.programConfigurations.get(n.id),si=d.useProgram(C?"fillExtrusionPattern":"fillExtrusion",Z);C&&(d.context.activeTexture.set(b.TEXTURE0),K.imageAtlasTexture.bind(b.LINEAR,b.CLAMP_TO_EDGE),Z.updatePaintBuffers(P)),Ua(Z,A,$,K,n);const di=d.translatePosMatrix(X.posMatrix,K,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),yi=n.paint.get("fill-extrusion-vertical-gradient"),wi=C?_c(di,d,yi,q,X,P,K):kc(di,d,yi,q);si.draw(x,x.gl.TRIANGLES,o,y,k,wt.backCCW,wi,ni,n.id,Q.layoutVertexBuffer,Q.indexBuffer,Q.segments,n.paint,d.transform.zoom,Z,d.style.map.terrain&&Q.centroidVertexBuffer)}}function Rs(d,e,n,c,o,y,k){const x=d.context,b=x.gl,A=n.fbo;if(!A)return;const F=d.useProgram("hillshade"),C=d.style.map.terrain&&d.style.map.terrain.getTerrainData(e);x.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,A.colorAttachment.get()),F.draw(x,b.TRIANGLES,o,y,k,wt.disabled,((P,q,$,X)=>{const K=$.paint.get("hillshade-shadow-color"),Q=$.paint.get("hillshade-highlight-color"),ni=$.paint.get("hillshade-accent-color");let Z=$.paint.get("hillshade-illumination-direction")*(Math.PI/180);$.paint.get("hillshade-illumination-anchor")==="viewport"&&(Z-=P.transform.angle);const si=!P.options.moving;return{u_matrix:X?X.posMatrix:P.transform.calculatePosMatrix(q.tileID.toUnwrapped(),si),u_image:0,u_latrange:$a(0,q.tileID),u_light:[$.paint.get("hillshade-exaggeration"),Z],u_shadow:K,u_highlight:Q,u_accent:ni}})(d,n,c,C?e:null),C,c.id,d.rasterBoundsBuffer,d.quadTriangleIndexBuffer,d.rasterBoundsSegments)}function el(d,e,n,c,o,y){const k=d.context,x=k.gl,b=e.dem;if(b&&b.data){const A=b.dim,F=b.stride,C=b.getPixels();if(k.activeTexture.set(x.TEXTURE1),k.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||d.getTileTexture(F),e.demTexture){const q=e.demTexture;q.update(C,{premultiply:!1}),q.bind(x.NEAREST,x.CLAMP_TO_EDGE)}else e.demTexture=new we(k,C,x.RGBA,{premultiply:!1}),e.demTexture.bind(x.NEAREST,x.CLAMP_TO_EDGE);k.activeTexture.set(x.TEXTURE0);let P=e.fbo;if(!P){const q=new we(k,{width:A,height:A,data:null},x.RGBA);q.bind(x.LINEAR,x.CLAMP_TO_EDGE),P=e.fbo=k.createFramebuffer(A,A,!0,!1),P.colorAttachment.set(q.texture)}k.bindFramebuffer.set(P.framebuffer),k.viewport.set([0,0,A,A]),d.useProgram("hillshadePrepare").draw(k,x.TRIANGLES,c,o,y,wt.disabled,((q,$)=>{const X=$.stride,K=r.H();return r.aQ(K,0,r.X,-r.X,0,0,1),r.J(K,K,[0,-r.X,0]),{u_matrix:K,u_image:1,u_dimension:[X,X],u_zoom:q.overscaledZ,u_unpack:$.getUnpackVector()}})(e.tileID,b),null,n.id,d.rasterBoundsBuffer,d.quadTriangleIndexBuffer,d.rasterBoundsSegments),e.needsHillshadePrepare=!1}}function Rc(d,e,n,c,o,y){const k=c.paint.get("raster-fade-duration");if(!y&&k>0){const x=V.now(),b=(x-d.timeAdded)/k,A=e?(x-e.timeAdded)/k:-1,F=n.getSource(),C=o.coveringZoomLevel({tileSize:F.tileSize,roundZoom:F.roundZoom}),P=!e||Math.abs(e.tileID.overscaledZ-C)>Math.abs(d.tileID.overscaledZ-C),q=P&&d.refreshedUponExpiration?1:r.ad(P?b:1-A,0,1);return d.refreshedUponExpiration&&b>=1&&(d.refreshedUponExpiration=!1),e?{opacity:1,mix:1-q}:{opacity:q,mix:0}}return{opacity:1,mix:0}}const Dc=new r.aN(1,0,0,1),Wl=new r.aN(0,1,0,1),Nc=new r.aN(0,0,1,1),cr=new r.aN(1,0,1,1),gl=new r.aN(0,1,1,1);function tl(d,e,n,c){Sl(d,0,e+n/2,d.transform.width,n,c)}function Ds(d,e,n,c){Sl(d,e-n/2,0,n,d.transform.height,c)}function Sl(d,e,n,c,o,y){const k=d.context,x=k.gl;x.enable(x.SCISSOR_TEST),x.scissor(e*d.pixelRatio,n*d.pixelRatio,c*d.pixelRatio,o*d.pixelRatio),k.clear({color:y}),x.disable(x.SCISSOR_TEST)}function Ke(d,e,n){const c=d.context,o=c.gl,y=n.posMatrix,k=d.useProgram("debug"),x=Te.disabled,b=Ct.disabled,A=d.colorModeForRenderPass(),F="$debug",C=d.style.map.terrain&&d.style.map.terrain.getTerrainData(n);c.activeTexture.set(o.TEXTURE0);const P=e.getTileByID(n.key).latestRawTileData,q=Math.floor((P&&P.byteLength||0)/1024),$=e.getTile(n).tileSize,X=512/Math.min($,512)*(n.overscaledZ/d.transform.zoom)*.5;let K=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(K+=` => ${n.overscaledZ}`),function(Q,ni){Q.initDebugOverlayCanvas();const Z=Q.debugOverlayCanvas,si=Q.context.gl,di=Q.debugOverlayCanvas.getContext("2d");di.clearRect(0,0,Z.width,Z.height),di.shadowColor="white",di.shadowBlur=2,di.lineWidth=1.5,di.strokeStyle="white",di.textBaseline="top",di.font="bold 36px Open Sans, sans-serif",di.fillText(ni,5,5),di.strokeText(ni,5,5),Q.debugOverlayTexture.update(Z),Q.debugOverlayTexture.bind(si.LINEAR,si.CLAMP_TO_EDGE)}(d,`${K} ${q}kB`),k.draw(c,o.TRIANGLES,x,b,ht.alphaBlended,wt.disabled,En(y,r.aN.transparent,X),null,F,d.debugBuffer,d.quadTriangleIndexBuffer,d.debugSegments),k.draw(c,o.LINE_STRIP,x,b,A,wt.disabled,En(y,r.aN.red),C,F,d.debugBuffer,d.tileBorderIndexBuffer,d.debugSegments)}function Xl(d,e,n){const c=d.context,o=c.gl,y=d.colorModeForRenderPass(),k=new Te(o.LEQUAL,Te.ReadWrite,d.depthRangeFor3D),x=d.useProgram("terrain"),b=e.getTerrainMesh();c.bindFramebuffer.set(null),c.viewport.set([0,0,d.width,d.height]);for(const A of n){const F=d.renderToTexture.getTexture(A),C=e.getTerrainData(A.tileID);c.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,F.texture);const P=d.transform.calculatePosMatrix(A.tileID.toUnwrapped()),q=e.getMeshFrameDelta(d.transform.zoom),$=d.transform.calculateFogMatrix(A.tileID.toUnwrapped()),X=Ss(P,q,$,d.style.sky,d.transform.pitch);x.draw(c,o.TRIANGLES,k,Ct.disabled,y,wt.backCCW,X,C,"terrain",b.vertexBuffer,b.indexBuffer,b.segments)}}class sr{constructor(e,n,c){this.vertexBuffer=e,this.indexBuffer=n,this.segments=c}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class or{constructor(e,n){this.context=new Ls(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:r.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ue.maxUnderzooming+ue.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Qa}resize(e,n,c){if(this.width=Math.floor(e*c),this.height=Math.floor(n*c),this.pixelRatio=c,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const o of this.style._order)this.style._layers[o].resize()}setup(){const e=this.context,n=new r.aX;n.emplaceBack(0,0),n.emplaceBack(r.X,0),n.emplaceBack(0,r.X),n.emplaceBack(r.X,r.X),this.tileExtentBuffer=e.createVertexBuffer(n,ql.members),this.tileExtentSegments=r.a0.simpleSegment(0,0,4,2);const c=new r.aX;c.emplaceBack(0,0),c.emplaceBack(r.X,0),c.emplaceBack(0,r.X),c.emplaceBack(r.X,r.X),this.debugBuffer=e.createVertexBuffer(c,ql.members),this.debugSegments=r.a0.simpleSegment(0,0,4,5);const o=new r.$;o.emplaceBack(0,0,0,0),o.emplaceBack(r.X,0,r.X,0),o.emplaceBack(0,r.X,0,r.X),o.emplaceBack(r.X,r.X,r.X,r.X),this.rasterBoundsBuffer=e.createVertexBuffer(o,he.members),this.rasterBoundsSegments=r.a0.simpleSegment(0,0,4,2);const y=new r.aX;y.emplaceBack(0,0),y.emplaceBack(1,0),y.emplaceBack(0,1),y.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(y,ql.members),this.viewportSegments=r.a0.simpleSegment(0,0,4,2);const k=new r.aZ;k.emplaceBack(0),k.emplaceBack(1),k.emplaceBack(3),k.emplaceBack(2),k.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(k);const x=new r.aY;x.emplaceBack(0,1,2),x.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(x);const b=this.context.gl;this.stencilClearMode=new Ct({func:b.ALWAYS,mask:0},0,255,b.ZERO,b.ZERO,b.ZERO)}clearStencil(){const e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const c=r.H();r.aQ(c,0,this.width,this.height,0,0,1),r.K(c,c,[n.drawingBufferWidth,n.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,n.TRIANGLES,Te.disabled,this.stencilClearMode,ht.disabled,wt.disabled,Ol(c),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,n){if(this.currentStencilSource===e.source||!e.isTileClipped()||!n||!n.length)return;this.currentStencilSource=e.source;const c=this.context,o=c.gl;this.nextStencilID+n.length>256&&this.clearStencil(),c.setColorMode(ht.disabled),c.setDepthMode(Te.disabled);const y=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const k of n){const x=this._tileClippingMaskIDs[k.key]=this.nextStencilID++,b=this.style.map.terrain&&this.style.map.terrain.getTerrainData(k);y.draw(c,o.TRIANGLES,Te.disabled,new Ct({func:o.ALWAYS,mask:0},x,255,o.KEEP,o.KEEP,o.REPLACE),ht.disabled,wt.disabled,Ol(k.posMatrix),b,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,n=this.context.gl;return new Ct({func:n.NOTEQUAL,mask:255},e,255,n.KEEP,n.KEEP,n.REPLACE)}stencilModeForClipping(e){const n=this.context.gl;return new Ct({func:n.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,n.KEEP,n.KEEP,n.REPLACE)}stencilConfigForOverlap(e){const n=this.context.gl,c=e.sort((k,x)=>x.overscaledZ-k.overscaledZ),o=c[c.length-1].overscaledZ,y=c[0].overscaledZ-o+1;if(y>1){this.currentStencilSource=void 0,this.nextStencilID+y>256&&this.clearStencil();const k={};for(let x=0;x({u_sky_color:Q.properties.get("sky-color"),u_horizon_color:Q.properties.get("horizon-color"),u_horizon:(ni.height/2+ni.getHorizon())*Z,u_sky_horizon_blend:Q.properties.get("sky-horizon-blend")*ni.height/2*Z}))(A,b.style.map.transform,b.pixelRatio),q=new Te(C.LEQUAL,Te.ReadWrite,[0,1]),$=Ct.disabled,X=b.colorModeForRenderPass(),K=b.useProgram("sky");if(!A.mesh){const Q=new r.aX;Q.emplaceBack(-1,-1),Q.emplaceBack(1,-1),Q.emplaceBack(1,1),Q.emplaceBack(-1,1);const ni=new r.aY;ni.emplaceBack(0,1,2),ni.emplaceBack(0,2,3),A.mesh=new sr(F.createVertexBuffer(Q,ql.members),F.createIndexBuffer(ni),r.a0.simpleSegment(0,0,Q.length,ni.length))}K.draw(F,C.TRIANGLES,q,$,X,wt.disabled,P,void 0,"sky",A.mesh.vertexBuffer,A.mesh.indexBuffer,A.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=c.length-1;this.currentLayer>=0;this.currentLayer--){const b=this.style._layers[c[this.currentLayer]],A=o[b.source],F=y[b.source];this._renderTileClippingMasks(b,F),this.renderLayer(this,A,b,F)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerK.source&&!K.isHidden(F)?[A.sourceCaches[K.source]]:[]),q=P.filter(K=>K.getSource().type==="vector"),$=P.filter(K=>K.getSource().type!=="vector"),X=K=>{(!C||C.getSource().maxzoomX(K)),C||$.forEach(K=>X(K)),C}(this.style,this.transform.zoom);b&&function(A,F,C){for(let P=0;P0),o&&(r.b0(n,c),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(y,k){const x=y.context,b=x.gl,A=ht.unblended,F=new Te(b.LEQUAL,Te.ReadWrite,[0,1]),C=k.getTerrainMesh(),P=k.sourceCache.getRenderableTiles(),q=y.useProgram("terrainDepth");x.bindFramebuffer.set(k.getFramebuffer("depth").framebuffer),x.viewport.set([0,0,y.width/devicePixelRatio,y.height/devicePixelRatio]),x.clear({color:r.aN.transparent,depth:1});for(const $ of P){const X=k.getTerrainData($.tileID),K={u_matrix:y.transform.calculatePosMatrix($.tileID.toUnwrapped()),u_ele_delta:k.getMeshFrameDelta(y.transform.zoom)};q.draw(x,b.TRIANGLES,F,Ct.disabled,A,wt.backCCW,K,X,"terrain",C.vertexBuffer,C.indexBuffer,C.segments)}x.bindFramebuffer.set(null),x.viewport.set([0,0,y.width,y.height])}(this,this.style.map.terrain),function(y,k){const x=y.context,b=x.gl,A=ht.unblended,F=new Te(b.LEQUAL,Te.ReadWrite,[0,1]),C=k.getTerrainMesh(),P=k.getCoordsTexture(),q=k.sourceCache.getRenderableTiles(),$=y.useProgram("terrainCoords");x.bindFramebuffer.set(k.getFramebuffer("coords").framebuffer),x.viewport.set([0,0,y.width/devicePixelRatio,y.height/devicePixelRatio]),x.clear({color:r.aN.transparent,depth:1}),k.coordsIndex=[];for(const X of q){const K=k.getTerrainData(X.tileID);x.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,P.texture);const Q={u_matrix:y.transform.calculatePosMatrix(X.tileID.toUnwrapped()),u_terrain_coords_id:(255-k.coordsIndex.length)/255,u_texture:0,u_ele_delta:k.getMeshFrameDelta(y.transform.zoom)};$.draw(x,b.TRIANGLES,F,Ct.disabled,A,wt.backCCW,Q,K,"terrain",C.vertexBuffer,C.indexBuffer,C.segments),k.coordsIndex.push(X.tileID.key)}x.bindFramebuffer.set(null),x.viewport.set([0,0,y.width,y.height])}(this,this.style.map.terrain))}renderLayer(e,n,c,o){if(!c.isHidden(this.transform.zoom)&&(c.type==="background"||c.type==="custom"||(o||[]).length))switch(this.id=c.id,c.type){case"symbol":(function(y,k,x,b,A){if(y.renderPass!=="translucent")return;const F=Ct.disabled,C=y.colorModeForRenderPass();(x._unevaluatedLayout.hasValue("text-variable-anchor")||x._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(P,q,$,X,K,Q,ni,Z,si){const di=q.transform,yi=fc(),wi=K==="map",vi=Q==="map";for(const Oi of P){const Ui=X.getTile(Oi),Li=Ui.getBucket($);if(!Li||!Li.text||!Li.text.segments.get().length)continue;const Ci=r.ah(Li.textSizeData,di.zoom),Yi=xe(Ui,1,q.transform.zoom),Se=Pn(Oi.posMatrix,vi,wi,q.transform,Yi),Ni=$.layout.get("icon-text-fit")!=="none"&&Li.hasIconData();if(Ci){const qi=Math.pow(2,di.zoom-Ui.tileID.overscaledZ),fe=q.style.map.terrain?(Ae,Re)=>q.style.map.terrain.getElevation(Oi,Ae,Re):null,_t=yi.translatePosition(di,Ui,ni,Z);Fc(Li,wi,vi,si,di,Se,Oi.posMatrix,qi,Ci,Ni,yi,_t,Oi.toUnwrapped(),fe)}}}(b,y,x,k,x.layout.get("text-rotation-alignment"),x.layout.get("text-pitch-alignment"),x.paint.get("text-translate"),x.paint.get("text-translate-anchor"),A),x.paint.get("icon-opacity").constantOr(1)!==0&&qn(y,k,x,b,!1,x.paint.get("icon-translate"),x.paint.get("icon-translate-anchor"),x.layout.get("icon-rotation-alignment"),x.layout.get("icon-pitch-alignment"),x.layout.get("icon-keep-upright"),F,C),x.paint.get("text-opacity").constantOr(1)!==0&&qn(y,k,x,b,!0,x.paint.get("text-translate"),x.paint.get("text-translate-anchor"),x.layout.get("text-rotation-alignment"),x.layout.get("text-pitch-alignment"),x.layout.get("text-keep-upright"),F,C),k.map.showCollisionBoxes&&(lr(y,k,x,b,!0),lr(y,k,x,b,!1))})(e,n,c,o,this.style.placement.variableOffsets);break;case"circle":(function(y,k,x,b){if(y.renderPass!=="translucent")return;const A=x.paint.get("circle-opacity"),F=x.paint.get("circle-stroke-width"),C=x.paint.get("circle-stroke-opacity"),P=!x.layout.get("circle-sort-key").isConstant();if(A.constantOr(1)===0&&(F.constantOr(1)===0||C.constantOr(1)===0))return;const q=y.context,$=q.gl,X=y.depthModeForSublayer(0,Te.ReadOnly),K=Ct.disabled,Q=y.colorModeForRenderPass(),ni=[];for(let Z=0;ZZ.sortKey-si.sortKey);for(const Z of ni){const{programConfiguration:si,program:di,layoutVertexBuffer:yi,indexBuffer:wi,uniformValues:vi,terrainData:Oi}=Z.state;di.draw(q,$.TRIANGLES,X,K,Q,wt.disabled,vi,Oi,x.id,yi,wi,Z.segments,x.paint,y.transform.zoom,si)}})(e,n,c,o);break;case"heatmap":(function(y,k,x,b){if(x.paint.get("heatmap-opacity")!==0)if(y.renderPass==="offscreen"){const A=y.context,F=A.gl,C=Ct.disabled,P=new ht([F.ONE,F.ONE],r.aN.transparent,[!0,!0,!0,!0]);(function(q,$,X){const K=q.gl;q.activeTexture.set(K.TEXTURE1),q.viewport.set([0,0,$.width/4,$.height/4]);let Q=X.heatmapFbo;if(Q)K.bindTexture(K.TEXTURE_2D,Q.colorAttachment.get()),q.bindFramebuffer.set(Q.framebuffer);else{const ni=K.createTexture();K.bindTexture(K.TEXTURE_2D,ni),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.CLAMP_TO_EDGE),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.CLAMP_TO_EDGE),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),Q=X.heatmapFbo=q.createFramebuffer($.width/4,$.height/4,!1,!1),function(Z,si,di,yi){var wi,vi;const Oi=Z.gl,Ui=(wi=Z.HALF_FLOAT)!==null&&wi!==void 0?wi:Oi.UNSIGNED_BYTE,Li=(vi=Z.RGBA16F)!==null&&vi!==void 0?vi:Oi.RGBA;Oi.texImage2D(Oi.TEXTURE_2D,0,Li,si.width/4,si.height/4,0,Oi.RGBA,Ui,null),yi.colorAttachment.set(di)}(q,$,ni,Q)}})(A,y,x),A.clear({color:r.aN.transparent});for(let q=0;q{const Z=r.H();r.aQ(Z,0,X.width,X.height,0,0,1);const si=X.context.gl;return{u_matrix:Z,u_world:[si.drawingBufferWidth,si.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:K.paint.get("heatmap-opacity")}})(A,F),null,F.id,A.viewportBuffer,A.quadTriangleIndexBuffer,A.viewportSegments,F.paint,A.transform.zoom)}(y,x))})(e,n,c,o);break;case"line":(function(y,k,x,b){if(y.renderPass!=="translucent")return;const A=x.paint.get("line-opacity"),F=x.paint.get("line-width");if(A.constantOr(1)===0||F.constantOr(1)===0)return;const C=y.depthModeForSublayer(0,Te.ReadOnly),P=y.colorModeForRenderPass(),q=x.paint.get("line-dasharray"),$=x.paint.get("line-pattern"),X=$.constantOr(1),K=x.paint.get("line-gradient"),Q=x.getCrossfadeParameters(),ni=X?"linePattern":q?"lineSDF":K?"lineGradient":"line",Z=y.context,si=Z.gl;let di=!0;for(const yi of b){const wi=k.getTile(yi);if(X&&!wi.patternsLoaded())continue;const vi=wi.getBucket(x);if(!vi)continue;const Oi=vi.programConfigurations.get(x.id),Ui=y.context.program.get(),Li=y.useProgram(ni,Oi),Ci=di||Li.program!==Ui,Yi=y.style.map.terrain&&y.style.map.terrain.getTerrainData(yi),Se=$.constantOr(null);if(Se&&wi.imageAtlas){const fe=wi.imageAtlas,_t=fe.patternPositions[Se.to.toString()],Ae=fe.patternPositions[Se.from.toString()];_t&&Ae&&Oi.setConstantPatternPositions(_t,Ae)}const Ni=Yi?yi:null,qi=X?qo(y,wi,x,Q,Ni):q?Ho(y,wi,x,q,Q,Ni):K?xc(y,wi,x,vi.lineClipsArray.length,Ni):$l(y,wi,x,Ni);if(X)Z.activeTexture.set(si.TEXTURE0),wi.imageAtlasTexture.bind(si.LINEAR,si.CLAMP_TO_EDGE),Oi.updatePaintBuffers(Q);else if(q&&(Ci||y.lineAtlas.dirty))Z.activeTexture.set(si.TEXTURE0),y.lineAtlas.bind(Z);else if(K){const fe=vi.gradients[x.id];let _t=fe.texture;if(x.gradientVersion!==fe.version){let Ae=256;if(x.stepInterpolant){const Re=k.getSource().maxzoom,xt=yi.canonical.z===Re?Math.ceil(1<0?n.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;const n=this.imageManager.getPattern(e.from.toString()),c=this.imageManager.getPattern(e.to.toString());return!n||!c}useProgram(e,n){this.cache=this.cache||{};const c=e+(n?n.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[c]||(this.cache[c]=new Ic(this.context,zn[e],n,bc[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[c]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new we(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:e,drawingBufferHeight:n}=this.context.gl;return this.width!==e||this.height!==n}}class al{constructor(e,n){this.points=e,this.planes=n}static fromInvProjectionMatrix(e,n,c){const o=Math.pow(2,c),y=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(x=>{const b=1/(x=r.ag([],x,e))[3]/n*o;return r.b1(x,x,[b,b,1/x[3],b])}),k=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(x=>{const b=function(P,q){var $=q[0],X=q[1],K=q[2],Q=$*$+X*X+K*K;return Q>0&&(Q=1/Math.sqrt(Q)),P[0]=q[0]*Q,P[1]=q[1]*Q,P[2]=q[2]*Q,P}([],function(P,q,$){var X=q[0],K=q[1],Q=q[2],ni=$[0],Z=$[1],si=$[2];return P[0]=K*si-Q*Z,P[1]=Q*ni-X*si,P[2]=X*Z-K*ni,P}([],pe([],y[x[0]],y[x[1]]),pe([],y[x[2]],y[x[1]]))),A=-((F=b)[0]*(C=y[x[1]])[0]+F[1]*C[1]+F[2]*C[2]);var F,C;return b.concat(A)});return new al(y,k)}}class Gc{constructor(e,n){this.min=e,this.max=n,this.center=function(c,o,y){return c[0]=.5*o[0],c[1]=.5*o[1],c[2]=.5*o[2],c}([],function(c,o,y){return c[0]=o[0]+y[0],c[1]=o[1]+y[1],c[2]=o[2]+y[2],c}([],this.min,this.max))}quadrant(e){const n=[e%2==0,e<2],c=Ji(this.min),o=Ji(this.max);for(let y=0;y=0&&k++;if(k===0)return 0;k!==n.length&&(c=!1)}if(c)return 2;for(let o=0;o<3;o++){let y=Number.MAX_VALUE,k=-Number.MAX_VALUE;for(let x=0;xthis.max[o]-this.min[o])return 0}return 1}}class Pc{constructor(e=0,n=0,c=0,o=0){if(isNaN(e)||e<0||isNaN(n)||n<0||isNaN(c)||c<0||isNaN(o)||o<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=n,this.left=c,this.right=o}interpolate(e,n,c){return n.top!=null&&e.top!=null&&(this.top=r.z.number(e.top,n.top,c)),n.bottom!=null&&e.bottom!=null&&(this.bottom=r.z.number(e.bottom,n.bottom,c)),n.left!=null&&e.left!=null&&(this.left=r.z.number(e.left,n.left,c)),n.right!=null&&e.right!=null&&(this.right=r.z.number(e.right,n.right,c)),this}getCenter(e,n){const c=r.ad((this.left+e-this.right)/2,0,e),o=r.ad((this.top+n-this.bottom)/2,0,n);return new r.P(c,o)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new Pc(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Ns=85.051129;class Gs{constructor(e,n,c,o,y){this.tileSize=512,this._renderWorldCopies=y===void 0||!!y,this._minZoom=e||0,this._maxZoom=n||22,this._minPitch=c??0,this._maxPitch=o??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new r.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Pc,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const e=new Gs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new r.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const n=-r.b3(e,-180,180)*Math.PI/180;this.angle!==n&&(this._unmodified=!1,this.angle=n,this._calcMatrices(),this.rotationMatrix=function(){var c=new r.A(4);return r.A!=Float32Array&&(c[1]=0,c[2]=0),c[0]=1,c[3]=1,c}(),function(c,o,y){var k=o[0],x=o[1],b=o[2],A=o[3],F=Math.sin(y),C=Math.cos(y);c[0]=k*C+b*F,c[1]=x*C+A*F,c[2]=k*-F+b*C,c[3]=x*-F+A*C}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const n=r.ad(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==n&&(this._unmodified=!1,this._pitch=n,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){const n=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this.tileZoom=Math.max(0,Math.floor(n)),this.scale=this.zoomScale(n),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,n,c){this._unmodified=!1,this._edgeInsets.interpolate(e,n,c),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){const n=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,n)}getVisibleUnwrappedCoordinates(e){const n=[new r.b4(0,e)];if(this._renderWorldCopies){const c=this.pointCoordinate(new r.P(0,0)),o=this.pointCoordinate(new r.P(this.width,0)),y=this.pointCoordinate(new r.P(this.width,this.height)),k=this.pointCoordinate(new r.P(0,this.height)),x=Math.floor(Math.min(c.x,o.x,y.x,k.x)),b=Math.floor(Math.max(c.x,o.x,y.x,k.x)),A=1;for(let F=x-A;F<=b+A;F++)F!==0&&n.push(new r.b4(F,e))}return n}coveringTiles(e){var n,c;let o=this.coveringZoomLevel(e);const y=o;if(e.minzoom!==void 0&&oe.maxzoom&&(o=e.maxzoom);const k=this.pointCoordinate(this.getCameraPoint()),x=r.Z.fromLngLat(this.center),b=Math.pow(2,o),A=[b*k.x,b*k.y,0],F=[b*x.x,b*x.y,0],C=al.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,o);let P=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(P=o);const q=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,$=Z=>({aabb:new Gc([Z*b,0,0],[(Z+1)*b,b,0]),zoom:0,x:0,y:0,wrap:Z,fullyVisible:!1}),X=[],K=[],Q=o,ni=e.reparseOverscaled?y:o;if(this._renderWorldCopies)for(let Z=1;Z<=3;Z++)X.push($(-Z)),X.push($(Z));for(X.push($(0));X.length>0;){const Z=X.pop(),si=Z.x,di=Z.y;let yi=Z.fullyVisible;if(!yi){const Li=Z.aabb.intersects(C);if(Li===0)continue;yi=Li===2}const wi=e.terrain?A:F,vi=Z.aabb.distanceX(wi),Oi=Z.aabb.distanceY(wi),Ui=Math.max(Math.abs(vi),Math.abs(Oi));if(Z.zoom===Q||Ui>q+(1<=P){const Li=Q-Z.zoom,Ci=A[0]-.5-(si<>1),Se=Z.zoom+1;let Ni=Z.aabb.quadrant(Li);if(e.terrain){const qi=new r.S(Se,Z.wrap,Se,Ci,Yi),fe=e.terrain.getMinMaxElevation(qi),_t=(n=fe.minElevation)!==null&&n!==void 0?n:this.elevation,Ae=(c=fe.maxElevation)!==null&&c!==void 0?c:this.elevation;Ni=new Gc([Ni.min[0],Ni.min[1],_t],[Ni.max[0],Ni.max[1],Ae])}X.push({aabb:Ni,zoom:Se,x:Ci,y:Yi,wrap:Z.wrap,fullyVisible:yi})}}return K.sort((Z,si)=>Z.distanceSq-si.distanceSq).map(Z=>Z.tileID)}resize(e,n){this.width=e,this.height=n,this.pixelsToGLUnits=[2/e,-2/n],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){const n=r.ad(e.lat,-85.051129,Ns);return new r.P(r.O(e.lng)*this.worldSize,r.Q(n)*this.worldSize)}unproject(e){return new r.Z(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){const n=this.elevation,c=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,o=this.pointLocation(this.centerPoint,e),y=e.getElevationForLngLatZoom(o,this.tileZoom);if(!(this.elevation-y))return;const k=c+n-y,x=Math.cos(this._pitch)*this.cameraToCenterDistance/k/r.b5(1,o.lat),b=this.scaleZoom(x/this.tileSize);this._elevation=y,this._center=o,this.zoom=b}setLocationAtPoint(e,n){const c=this.pointCoordinate(n),o=this.pointCoordinate(this.centerPoint),y=this.locationCoordinate(e),k=new r.Z(y.x-(c.x-o.x),y.y-(c.y-o.y));this.center=this.coordinateLocation(k),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,n){return n?this.coordinatePoint(this.locationCoordinate(e),n.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,n){return this.coordinateLocation(this.pointCoordinate(e,n))}locationCoordinate(e){return r.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,n){if(n){const P=n.pointCoordinate(e);if(P!=null)return P}const c=[e.x,e.y,0,1],o=[e.x,e.y,1,1];r.ag(c,c,this.pixelMatrixInverse),r.ag(o,o,this.pixelMatrixInverse);const y=c[3],k=o[3],x=c[1]/y,b=o[1]/k,A=c[2]/y,F=o[2]/k,C=A===F?0:(0-A)/(F-A);return new r.Z(r.z.number(c[0]/y,o[0]/k,C)/this.worldSize,r.z.number(x,b,C)/this.worldSize)}coordinatePoint(e,n=0,c=this.pixelMatrix){const o=[e.x*this.worldSize,e.y*this.worldSize,n,1];return r.ag(o,o,c),new r.P(o[0]/o[3],o[1]/o[3])}getBounds(){const e=Math.max(0,this.height/2-this.getHorizon());return new gi().extend(this.pointLocation(new r.P(0,e))).extend(this.pointLocation(new r.P(this.width,e))).extend(this.pointLocation(new r.P(this.width,this.height))).extend(this.pointLocation(new r.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new gi([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Ns])}calculateTileMatrix(e){const n=e.canonical,c=this.worldSize/this.zoomScale(n.z),o=n.x+Math.pow(2,n.z)*e.wrap,y=r.ao(new Float64Array(16));return r.J(y,y,[o*c,n.y*c,0]),r.K(y,y,[c/r.X,c/r.X,1]),y}calculatePosMatrix(e,n=!1){const c=e.key,o=n?this._alignedPosMatrixCache:this._posMatrixCache;if(o[c])return o[c];const y=this.calculateTileMatrix(e);return r.L(y,n?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,y),o[c]=new Float32Array(y),o[c]}calculateFogMatrix(e){const n=e.key,c=this._fogMatrixCache;if(c[n])return c[n];const o=this.calculateTileMatrix(e);return r.L(o,this.fogMatrix,o),c[n]=new Float32Array(o),c[n]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,n){n=r.ad(+n,this.minZoom,this.maxZoom);const c={center:new r.N(e.lng,e.lat),zoom:n};let o=this.lngRange;if(!this._renderWorldCopies&&o===null){const Z=179.9999999999;o=[-Z,Z]}const y=this.tileSize*this.zoomScale(c.zoom);let k=0,x=y,b=0,A=y,F=0,C=0;const{x:P,y:q}=this.size;if(this.latRange){const Z=this.latRange;k=r.Q(Z[1])*y,x=r.Q(Z[0])*y,x-kx&&(Q=x-Z)}if(o){const Z=(b+A)/2;let si=$;this._renderWorldCopies&&(si=r.b3($,Z-y/2,Z+y/2));const di=P/2;si-diA&&(K=A-di)}if(K!==void 0||Q!==void 0){const Z=new r.P(K??$,Q??X);c.center=this.unproject.call({worldSize:y},Z).wrap()}return c}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const e=this._unmodified,{center:n,zoom:c}=this.getConstrained(this.center,this.zoom);this.center=n,this.zoom=c,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,n=this.point.x,c=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=r.b5(1,this.center.lat)*this.worldSize;let o=r.ao(new Float64Array(16));r.K(o,o,[this.width/2,-this.height/2,1]),r.J(o,o,[1,-1,0]),this.labelPlaneMatrix=o,o=r.ao(new Float64Array(16)),r.K(o,o,[1,-1,1]),r.J(o,o,[-1,-1,0]),r.K(o,o,[2/this.width,2/this.height,1]),this.glCoordMatrix=o;const y=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),k=Math.min(this.elevation,this.minElevationForCurrentTile),x=y-k*this._pixelPerMeter/Math.cos(this._pitch),b=k<0?x:y,A=Math.PI/2+this._pitch,F=this._fov*(.5+e.y/this.height),C=Math.sin(F)*b/Math.sin(r.ad(Math.PI-A-F,.01,Math.PI-.01)),P=this.getHorizon(),q=2*Math.atan(P/this.cameraToCenterDistance)*(.5+e.y/(2*P)),$=Math.sin(q)*b/Math.sin(r.ad(Math.PI-A-q,.01,Math.PI-.01)),X=Math.min(C,$),K=1.01*(Math.cos(Math.PI/2-this._pitch)*X+b),Q=this.height/50;o=new Float64Array(16),r.b6(o,this._fov,this.width/this.height,Q,K),o[8]=2*-e.x/this.width,o[9]=2*e.y/this.height,r.K(o,o,[1,-1,1]),r.J(o,o,[0,0,-this.cameraToCenterDistance]),r.b7(o,o,this._pitch),r.ae(o,o,this.angle),r.J(o,o,[-n,-c,0]),this.mercatorMatrix=r.K([],o,[this.worldSize,this.worldSize,this.worldSize]),r.K(o,o,[1,1,this._pixelPerMeter]),this.pixelMatrix=r.L(new Float64Array(16),this.labelPlaneMatrix,o),r.J(o,o,[0,0,-this.elevation]),this.modelViewProjectionMatrix=o,this.invModelViewProjectionMatrix=r.at([],o),this.fogMatrix=new Float64Array(16),r.b6(this.fogMatrix,this._fov,this.width/this.height,y,K),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.y/this.height,r.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),r.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),r.b7(this.fogMatrix,this.fogMatrix,this._pitch),r.ae(this.fogMatrix,this.fogMatrix,this.angle),r.J(this.fogMatrix,this.fogMatrix,[-n,-c,0]),r.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),r.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=r.L(new Float64Array(16),this.labelPlaneMatrix,o);const ni=this.width%2/2,Z=this.height%2/2,si=Math.cos(this.angle),di=Math.sin(this.angle),yi=n-Math.round(n)+si*ni+di*Z,wi=c-Math.round(c)+si*Z+di*ni,vi=new Float64Array(o);if(r.J(vi,vi,[yi>.5?yi-1:yi,wi>.5?wi-1:wi,0]),this.alignedModelViewProjectionMatrix=vi,o=r.at(new Float64Array(16),this.pixelMatrix),!o)throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new r.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return r.ag(n,n,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new r.P(0,e))}getCameraQueryGeometry(e){const n=this.getCameraPoint();if(e.length===1)return[e[0],n];{let c=n.x,o=n.y,y=n.x,k=n.y;for(const x of e)c=Math.min(c,x.x),o=Math.min(o,x.y),y=Math.max(y,x.x),k=Math.max(k,x.y);return[new r.P(c,o),new r.P(y,o),new r.P(y,k),new r.P(c,k),new r.P(c,o)]}}lngLatToCameraDepth(e,n){const c=this.locationCoordinate(e),o=[c.x*this.worldSize,c.y*this.worldSize,n,1];return r.ag(o,o,this.modelViewProjectionMatrix),o[2]/o[3]}}function Mc(d,e){let n,c=!1,o=null,y=null;const k=()=>{o=null,c&&(d.apply(y,n),o=setTimeout(k,e),c=!1)};return(...x)=>(c=!0,y=this,n=x,o||k(),o)}class Yl{constructor(e){this._getCurrentHash=()=>{const n=window.location.hash.replace("#","");if(this._hashName){let c;return n.split("&").map(o=>o.split("=")).forEach(o=>{o[0]===this._hashName&&(c=o)}),(c&&c[1]||"").split("/")}return n.split("/")},this._onHashChange=()=>{const n=this._getCurrentHash();if(n.length>=3&&!n.some(c=>isNaN(c))){const c=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(n[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+n[2],+n[1]],zoom:+n[0],bearing:c,pitch:+(n[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const n=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,n)}catch{}},this._updateHash=Mc(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(e){const n=this._map.getCenter(),c=Math.round(100*this._map.getZoom())/100,o=Math.ceil((c*Math.LN2+Math.log(512/360/.5))/Math.LN10),y=Math.pow(10,o),k=Math.round(n.lng*y)/y,x=Math.round(n.lat*y)/y,b=this._map.getBearing(),A=this._map.getPitch();let F="";if(F+=e?`/${k}/${x}/${c}`:`${c}/${x}/${k}`,(b||A)&&(F+="/"+Math.round(10*b)/10),A&&(F+=`/${Math.round(A)}`),this._hashName){const C=this._hashName;let P=!1;const q=window.location.hash.slice(1).split("&").map($=>{const X=$.split("=")[0];return X===C?(P=!0,`${X}=${F}`):$}).filter($=>$);return P||q.push(`${C}=${F}`),`#${q.join("&")}`}return`#${F}`}}const nl={linearity:.3,easing:r.b8(0,0,.3,1)},Ps=r.e({deceleration:2500,maxSpeed:1400},nl),Ms=r.e({deceleration:20,maxSpeed:1400},nl),rr=r.e({deceleration:1e3,maxSpeed:360},nl),zc=r.e({deceleration:1e3,maxSpeed:90},nl);class Ec{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:V.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,n=V.now();for(;e.length>0&&n-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const n={zoom:0,bearing:0,pitch:0,pan:new r.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:y}of this._inertiaBuffer)n.zoom+=y.zoomDelta||0,n.bearing+=y.bearingDelta||0,n.pitch+=y.pitchDelta||0,y.panDelta&&n.pan._add(y.panDelta),y.around&&(n.around=y.around),y.pinchAround&&(n.pinchAround=y.pinchAround);const c=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,o={};if(n.pan.mag()){const y=qc(n.pan.mag(),c,r.e({},Ps,e||{}));o.offset=n.pan.mult(y.amount/n.pan.mag()),o.center=this._map.transform.center,Il(o,y)}if(n.zoom){const y=qc(n.zoom,c,Ms);o.zoom=this._map.transform.zoom+y.amount,Il(o,y)}if(n.bearing){const y=qc(n.bearing,c,rr);o.bearing=this._map.transform.bearing+r.ad(y.amount,-179,179),Il(o,y)}if(n.pitch){const y=qc(n.pitch,c,zc);o.pitch=this._map.transform.pitch+y.amount,Il(o,y)}if(o.zoom||o.bearing){const y=n.pinchAround===void 0?n.around:n.pinchAround;o.around=y?this._map.unproject(y):this._map.getCenter()}return this.clear(),r.e(o,{noMoveStart:!0})}}function Il(d,e){(!d.duration||d.durationn.unproject(b)),x=y.reduce((b,A,F,C)=>b.add(A.div(C.length)),new r.P(0,0));super(e,{points:y,point:x,lngLats:k,lngLat:n.unproject(x),originalEvent:c}),this._defaultPrevented=!1}}class zs extends r.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,c){super(e,{originalEvent:c}),this._defaultPrevented=!1}}class Hc{constructor(e,n){this._map=e,this._clickTolerance=n.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new zs(e.type,this._map,e))}mousedown(e,n){return this._mousedownPos=n,this._firePreventable(new Aa(e.type,this._map,e))}mouseup(e){this._map.fire(new Aa(e.type,this._map,e))}click(e,n){this._mousedownPos&&this._mousedownPos.dist(n)>=this._clickTolerance||this._map.fire(new Aa(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Aa(e.type,this._map,e))}mouseover(e){this._map.fire(new Aa(e.type,this._map,e))}mouseout(e){this._map.fire(new Aa(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Ql(e.type,this._map,e))}touchmove(e){this._map.fire(new Ql(e.type,this._map,e))}touchend(e){this._map.fire(new Ql(e.type,this._map,e))}touchcancel(e){this._map.fire(new Ql(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Es{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Aa(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Aa("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Aa(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class wl{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(r.P.convert(e),this._map.terrain)}}class qs{constructor(e,n){this._map=e,this._tr=new wl(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=n.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,n){this.isEnabled()&&e.shiftKey&&e.button===0&&(E.disableDrag(),this._startPos=this._lastPos=n,this._active=!0)}mousemoveWindow(e,n){if(!this._active)return;const c=n;if(this._lastPos.equals(c)||!this._box&&c.dist(this._startPos)y.fitScreenCoordinates(c,o,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(E.remove(this._box),this._box=null),E.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new r.k(e,{originalEvent:n}))}}function kl(d,e){if(d.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${d.length}, points ${e.length}`);const n={};for(let c=0;cthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),c.length===this.numTouches&&(this.centroid=function(o){const y=new r.P(0,0);for(const k of o)y._add(k);return y.div(o.length)}(n),this.touches=kl(c,n)))}touchmove(e,n,c){if(this.aborted||!this.centroid)return;const o=kl(c,n);for(const y in this.touches){const k=o[y];(!k||k.dist(this.touches[y])>30)&&(this.aborted=!0)}}touchend(e,n,c){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),c.length===0){const o=!this.aborted&&this.centroid;if(this.reset(),o)return o}}}class Vs{constructor(e){this.singleTap=new Hs(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,n,c){this.singleTap.touchstart(e,n,c)}touchmove(e,n,c){this.singleTap.touchmove(e,n,c)}touchend(e,n,c){const o=this.singleTap.touchend(e,n,c);if(o){const y=e.timeStamp-this.lastTime<500,k=!this.lastTap||this.lastTap.dist(o)<30;if(y&&k||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class pr{constructor(e){this._tr=new wl(e),this._zoomIn=new Vs({numTouches:1,numTaps:2}),this._zoomOut=new Vs({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,n,c){this._zoomIn.touchstart(e,n,c),this._zoomOut.touchstart(e,n,c)}touchmove(e,n,c){this._zoomIn.touchmove(e,n,c),this._zoomOut.touchmove(e,n,c)}touchend(e,n,c){const o=this._zoomIn.touchend(e,n,c),y=this._zoomOut.touchend(e,n,c),k=this._tr;return o?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:k.zoom+1,around:k.unproject(o)},{originalEvent:e})}):y?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:k.zoom-1,around:k.unproject(y)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class kt{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){const n=this._moveFunction(...e);if(n.bearingDelta||n.pitchDelta||n.around||n.panDelta)return this._active=!0,n}dragStart(e,n){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=n.length?n[0]:n,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,n){if(!this.isEnabled())return;const c=this._lastPoint;if(!c)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);const o=n.length?n[0]:n;return!this._moved&&o.dist(c){d.mousedown=d.dragStart,d.mousemoveWindow=d.dragMove,d.mouseup=d.dragEnd,d.contextmenu=e=>{e.preventDefault()}},Os=({enable:d,clickTolerance:e,bearingDegreesPerPixelMoved:n=.8})=>{const c=new Ta({checkCorrectEvent:o=>E.mouseButton(o)===0&&o.ctrlKey||E.mouseButton(o)===2});return new kt({clickTolerance:e,move:(o,y)=>({bearingDelta:(y.x-o.x)*n}),moveStateManager:c,enable:d,assignEvents:ic})},cl=({enable:d,clickTolerance:e,pitchDegreesPerPixelMoved:n=-.5})=>{const c=new Ta({checkCorrectEvent:o=>E.mouseButton(o)===0&&o.ctrlKey||E.mouseButton(o)===2});return new kt({clickTolerance:e,move:(o,y)=>({pitchDelta:(y.y-o.y)*n}),moveStateManager:c,enable:d,assignEvents:ic})};class ec{constructor(e,n){this._clickTolerance=e.clickTolerance||1,this._map=n,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new r.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(e,n,c){return this._calculateTransform(e,n,c)}touchmove(e,n,c){if(this._active&&!(c.length0&&(this._active=!0);const o=kl(c,n),y=new r.P(0,0),k=new r.P(0,0);let x=0;for(const A in o){const F=o[A],C=this._touches[A];C&&(y._add(F),k._add(F.sub(C)),x++,o[A]=F)}if(this._touches=o,xMath.abs(d.x)}class Zs extends tc{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,n,c){super.touchstart(e,n,c),this._currentTouchCount=c.length}_start(e){this._lastPoints=e,Cn(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,n,c){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const o=e[0].sub(this._lastPoints[0]),y=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(o,y,c.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(o.y+y.y)/2*-.5}):void 0}gestureBeginsVertically(e,n,c){if(this._valid!==void 0)return this._valid;const o=e.mag()>=2,y=n.mag()>=2;if(!o&&!y)return;if(!o||!y)return this._firstMove===void 0&&(this._firstMove=c),c-this._firstMove<100&&void 0;const k=e.y>0==n.y>0;return Cn(e)&&Cn(n)&&k}}const ur={panStep:100,bearingStep:15,pitchStep:10};class Ws{constructor(e){this._tr=new wl(e);const n=ur;this._panStep=n.panStep,this._bearingStep=n.bearingStep,this._pitchStep=n.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let n=0,c=0,o=0,y=0,k=0;switch(e.keyCode){case 61:case 107:case 171:case 187:n=1;break;case 189:case 109:case 173:n=-1;break;case 37:e.shiftKey?c=-1:(e.preventDefault(),y=-1);break;case 39:e.shiftKey?c=1:(e.preventDefault(),y=1);break;case 38:e.shiftKey?o=1:(e.preventDefault(),k=-1);break;case 40:e.shiftKey?o=-1:(e.preventDefault(),k=1);break;default:return}return this._rotationDisabled&&(c=0,o=0),{cameraAnimation:x=>{const b=this._tr;x.easeTo({duration:300,easeId:"keyboardHandler",easing:dr,zoom:n?Math.round(b.zoom)+n*(e.shiftKey?2:1):b.zoom,bearing:b.bearing+c*this._bearingStep,pitch:b.pitch+o*this._pitchStep,offset:[-y*this._panStep,-k*this._panStep],center:b.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function dr(d){return d*(2-d)}const Xs=4.000244140625;class Ys{constructor(e,n){this._onTimeout=c=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(c)},this._map=e,this._tr=new wl(e),this._triggerRenderFrame=n,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled()||this._map.cooperativeGestures.isEnabled()&&!e[this._map.cooperativeGestures._bypassKey])return;let n=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const c=V.now(),o=c-(this._lastWheelEventTime||0);this._lastWheelEventTime=c,n!==0&&n%Xs==0?this._type="wheel":n!==0&&Math.abs(n)<4?this._type="trackpad":o>400?(this._type=null,this._lastValue=n,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(o*n)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,n+=this._lastValue)),e.shiftKey&&n&&(n/=4),this._type&&(this._lastWheelEvent=e,this._delta-=n,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const n=E.mousePos(this._map.getCanvas(),e),c=this._tr;this._around=n.y>c.transform.height/2-c.transform.getHorizon()?r.N.convert(this._aroundCenter?c.center:c.unproject(n)):r.N.convert(c.center),this._aroundPoint=c.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const e=this._tr.transform;if(this._delta!==0){const x=this._type==="wheel"&&Math.abs(this._delta)>Xs?this._wheelZoomRate:this._defaultZoomRate;let b=2/(1+Math.exp(-Math.abs(this._delta*x)));this._delta<0&&b!==0&&(b=1/b);const A=typeof this._targetZoom=="number"?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(A*b))),this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const n=typeof this._targetZoom=="number"?this._targetZoom:e.zoom,c=this._startZoom,o=this._easing;let y,k=!1;if(this._type==="wheel"&&c&&o){const x=Math.min((V.now()-this._lastWheelEventTime)/200,1),b=o(x);y=r.z.number(c,n,b),x<1?this._frameId||(this._frameId=!0):k=!0}else y=n,k=!0;return this._active=!0,k&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!k,zoomDelta:y-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=r.b9;if(this._prevEase){const c=this._prevEase,o=(V.now()-c.start)/c.duration,y=c.easing(o+.01)-c.easing(o),k=.27/Math.sqrt(y*y+1e-4)*.01,x=Math.sqrt(.0729-k*k);n=r.b8(k,x,.25,1)}return this._prevEase={start:V.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Qs{constructor(e,n){this._clickZoom=e,this._tapZoom=n}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class nc{constructor(e){this._tr=new wl(e),this.reset()}reset(){this._active=!1}dblclick(e,n){return e.preventDefault(),{cameraAnimation:c=>{c.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(n)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class yr{constructor(){this._tap=new Vs({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,n,c){if(!this._swipePoint)if(this._tapTime){const o=n[0],y=e.timeStamp-this._tapTime<500,k=this._tapPoint.dist(o)<30;y&&k?c.length>0&&(this._swipePoint=o,this._swipeTouch=c[0].identifier):this.reset()}else this._tap.touchstart(e,n,c)}touchmove(e,n,c){if(this._tapTime){if(this._swipePoint){if(c[0].identifier!==this._swipeTouch)return;const o=n[0],y=o.y-this._swipePoint.y;return this._swipePoint=o,e.preventDefault(),this._active=!0,{zoomDelta:y/128}}}else this._tap.touchmove(e,n,c)}touchend(e,n,c){if(this._tapTime)this._swipePoint&&c.length===0&&this.reset();else{const o=this._tap.touchend(e,n,c);o&&(this._tapTime=e.timeStamp,this._tapPoint=o)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class en{constructor(e,n,c){this._el=e,this._mousePan=n,this._touchPan=c}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class sn{constructor(e,n,c){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=n,this._mousePitch=c}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class io{constructor(e,n,c,o){this._el=e,this._touchZoom=n,this._touchRotate=c,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class on{constructor(e,n){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=e,this._options=n,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=E.create("div","maplibregl-cooperative-gesture-screen",e);let n=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(n=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const c=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),o=document.createElement("div");o.className="maplibregl-desktop-message",o.textContent=n,this._container.appendChild(o);const y=document.createElement("div");y.className="maplibregl-mobile-message",y.textContent=c,this._container.appendChild(y),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(E.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(e){this._onCooperativeGesture(e.touches.length===1)}wheel(e){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!e[this._bypassKey])}_onCooperativeGesture(e){this._enabled&&e&&(this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const Fn=d=>d.zoom||d.drag||d.pitch||d.rotate;class S0 extends r.k{}function eo(d){return d.panDelta&&d.panDelta.mag()||d.zoomDelta||d.bearingDelta||d.pitchDelta}class I0{constructor(e,n){this.handleWindowEvent=o=>{this.handleEvent(o,`${o.type}Window`)},this.handleEvent=(o,y)=>{if(o.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const k=o.type==="renderFrame"?void 0:o,x={needsRenderFrame:!1},b={},A={},F=o.touches,C=F?this._getMapTouches(F):void 0,P=C?E.touchPos(this._map.getCanvas(),C):E.mousePos(this._map.getCanvas(),o);for(const{handlerName:X,handler:K,allowed:Q}of this._handlers){if(!K.isEnabled())continue;let ni;this._blockedByActive(A,Q,X)?K.reset():K[y||o.type]&&(ni=K[y||o.type](o,P,C),this.mergeHandlerResult(x,b,ni,X,k),ni&&ni.needsRenderFrame&&this._triggerRenderFrame()),(ni||K.isActive())&&(A[X]=K)}const q={};for(const X in this._previousActiveHandlers)A[X]||(q[X]=k);this._previousActiveHandlers=A,(Object.keys(q).length||eo(x))&&(this._changes.push([x,b,q]),this._triggerRenderFrame()),(Object.keys(A).length||eo(x))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:$}=x;$&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],$(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ec(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);const c=this._el;this._listeners=[[c,"touchstart",{passive:!0}],[c,"touchmove",{passive:!1}],[c,"touchend",void 0],[c,"touchcancel",void 0],[c,"mousedown",void 0],[c,"mousemove",void 0],[c,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[c,"mouseover",void 0],[c,"mouseout",void 0],[c,"dblclick",void 0],[c,"click",void 0],[c,"keydown",{capture:!1}],[c,"keyup",void 0],[c,"wheel",{passive:!1}],[c,"contextmenu",void 0],[window,"blur",void 0]];for(const[o,y,k]of this._listeners)E.addEventListener(o,y,o===document?this.handleWindowEvent:this.handleEvent,k)}destroy(){for(const[e,n,c]of this._listeners)E.removeEventListener(e,n,e===document?this.handleWindowEvent:this.handleEvent,c)}_addDefaultHandlers(e){const n=this._map,c=n.getCanvasContainer();this._add("mapEvent",new Hc(n,e));const o=n.boxZoom=new qs(n,e);this._add("boxZoom",o),e.interactive&&e.boxZoom&&o.enable();const y=n.cooperativeGestures=new on(n,e.cooperativeGestures);this._add("cooperativeGestures",y),e.cooperativeGestures&&y.enable();const k=new pr(n),x=new nc(n);n.doubleClickZoom=new Qs(x,k),this._add("tapZoom",k),this._add("clickZoom",x),e.interactive&&e.doubleClickZoom&&n.doubleClickZoom.enable();const b=new yr;this._add("tapDragZoom",b);const A=n.touchPitch=new Zs(n);this._add("touchPitch",A),e.interactive&&e.touchPitch&&n.touchPitch.enable(e.touchPitch);const F=Os(e),C=cl(e);n.dragRotate=new sn(e,F,C),this._add("mouseRotate",F,["mousePitch"]),this._add("mousePitch",C,["mouseRotate"]),e.interactive&&e.dragRotate&&n.dragRotate.enable();const P=(({enable:ni,clickTolerance:Z})=>{const si=new Ta({checkCorrectEvent:di=>E.mouseButton(di)===0&&!di.ctrlKey});return new kt({clickTolerance:Z,move:(di,yi)=>({around:yi,panDelta:yi.sub(di)}),activateOnStart:!0,moveStateManager:si,enable:ni,assignEvents:ic})})(e),q=new ec(e,n);n.dragPan=new en(c,P,q),this._add("mousePan",P),this._add("touchPan",q,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&n.dragPan.enable(e.dragPan);const $=new Js,X=new Us;n.touchZoomRotate=new io(c,X,$,b),this._add("touchRotate",$,["touchPan","touchZoom"]),this._add("touchZoom",X,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&n.touchZoomRotate.enable(e.touchZoomRotate);const K=n.scrollZoom=new Ys(n,()=>this._triggerRenderFrame());this._add("scrollZoom",K,["mousePan"]),e.interactive&&e.scrollZoom&&n.scrollZoom.enable(e.scrollZoom);const Q=n.keyboard=new Ws(n);this._add("keyboard",Q),e.interactive&&e.keyboard&&n.keyboard.enable(),this._add("blockableMapEvent",new Es(n))}_add(e,n,c){this._handlers.push({handlerName:e,handler:n,allowed:c}),this._handlersById[e]=n}stop(e){if(!this._updatingCamera){for(const{handler:n}of this._handlers)n.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Fn(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,n,c){for(const o in e)if(o!==c&&(!n||n.indexOf(o)<0))return!0;return!1}_getMapTouches(e){const n=[];for(const c of e)this._el.contains(c.target)&&n.push(c);return n}mergeHandlerResult(e,n,c,o,y){if(!c)return;r.e(e,c);const k={handlerName:o,originalEvent:c.originalEvent||y};c.zoomDelta!==void 0&&(n.zoom=k),c.panDelta!==void 0&&(n.drag=k),c.pitchDelta!==void 0&&(n.pitch=k),c.bearingDelta!==void 0&&(n.rotate=k)}_applyChanges(){const e={},n={},c={};for(const[o,y,k]of this._changes)o.panDelta&&(e.panDelta=(e.panDelta||new r.P(0,0))._add(o.panDelta)),o.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+o.zoomDelta),o.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+o.bearingDelta),o.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+o.pitchDelta),o.around!==void 0&&(e.around=o.around),o.pinchAround!==void 0&&(e.pinchAround=o.pinchAround),o.noInertia&&(e.noInertia=o.noInertia),r.e(n,y),r.e(c,k);this._updateMapTransform(e,n,c),this._changes=[]}_updateMapTransform(e,n,c){const o=this._map,y=o._getTransformForUpdate(),k=o.terrain;if(!(eo(e)||k&&this._terrainMovement))return this._fireEvents(n,c,!0);let{panDelta:x,zoomDelta:b,bearingDelta:A,pitchDelta:F,around:C,pinchAround:P}=e;P!==void 0&&(C=P),o._stop(!0),C=C||o.transform.centerPoint;const q=y.pointLocation(x?C.sub(x):C);A&&(y.bearing+=A),F&&(y.pitch+=F),b&&(y.zoom+=b),k?this._terrainMovement||!n.drag&&!n.zoom?n.drag&&this._terrainMovement?y.center=y.pointLocation(y.centerPoint.sub(x)):y.setLocationAtPoint(q,C):(this._terrainMovement=!0,this._map._elevationFreeze=!0,y.setLocationAtPoint(q,C)):y.setLocationAtPoint(q,C),o._applyUpdatedTransform(y),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(n,c,!0)}_fireEvents(e,n,c){const o=Fn(this._eventsInProgress),y=Fn(e),k={};for(const C in e){const{originalEvent:P}=e[C];this._eventsInProgress[C]||(k[`${C}start`]=P),this._eventsInProgress[C]=e[C]}!o&&y&&this._fireEvent("movestart",y.originalEvent);for(const C in k)this._fireEvent(C,k[C]);y&&this._fireEvent("move",y.originalEvent);for(const C in e){const{originalEvent:P}=e[C];this._fireEvent(C,P)}const x={};let b;for(const C in this._eventsInProgress){const{handlerName:P,originalEvent:q}=this._eventsInProgress[C];this._handlersById[P].isActive()||(delete this._eventsInProgress[C],b=n[P]||q,x[`${C}end`]=b)}for(const C in x)this._fireEvent(C,x[C]);const A=Fn(this._eventsInProgress),F=(o||y)&&!A;if(F&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),c&&F){this._updatingCamera=!0;const C=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),P=q=>q!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new S0("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class w0 extends r.E{constructor(e,n){super(),this._renderFrameCallback=()=>{const c=Math.min((V.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(c)),c<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=n.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new r.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,n){return this.jumpTo({center:e},n)}panBy(e,n,c){return e=r.P.convert(e).mult(-1),this.panTo(this.transform.center,r.e({offset:e},n),c)}panTo(e,n,c){return this.easeTo(r.e({center:e},n),c)}getZoom(){return this.transform.zoom}setZoom(e,n){return this.jumpTo({zoom:e},n),this}zoomTo(e,n,c){return this.easeTo(r.e({zoom:e},n),c)}zoomIn(e,n){return this.zoomTo(this.getZoom()+1,e,n),this}zoomOut(e,n){return this.zoomTo(this.getZoom()-1,e,n),this}getBearing(){return this.transform.bearing}setBearing(e,n){return this.jumpTo({bearing:e},n),this}getPadding(){return this.transform.padding}setPadding(e,n){return this.jumpTo({padding:e},n),this}rotateTo(e,n,c){return this.easeTo(r.e({bearing:e},n),c)}resetNorth(e,n){return this.rotateTo(0,r.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(r.e({bearing:0,pitch:0,duration:1e3},e),n),this}snapToNorth(e,n){return Math.abs(this.getBearing()){if(this._zooming&&(o.zoom=r.z.number(y,K,wi)),this._rotating&&(o.bearing=r.z.number(k,A,wi)),this._pitching&&(o.pitch=r.z.number(x,F,wi)),this._padding&&(o.interpolatePadding(b,C,wi),q=o.centerPoint.add(P)),this.terrain&&!e.freezeElevation&&this._updateElevation(wi),si)o.setLocationAtPoint(si,di);else{const vi=o.zoomScale(o.zoom-y),Oi=K>y?Math.min(2,Z):Math.max(.5,Z),Ui=Math.pow(Oi,1-wi),Li=o.unproject(Q.add(ni.mult(wi*Ui)).mult(vi));o.setLocationAtPoint(o.renderWorldCopies?Li.wrap():Li,q)}this._applyUpdatedTransform(o),this._fireMoveEvents(n)},wi=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n,wi)},e),this}_prepareEase(e,n,c={}){this._moving=!0,n||c.moving||this.fire(new r.k("movestart",e)),this._zooming&&!c.zooming&&this.fire(new r.k("zoomstart",e)),this._rotating&&!c.rotating&&this.fire(new r.k("rotatestart",e)),this._pitching&&!c.pitching&&this.fire(new r.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){const c=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(c-(n-(c*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.elevation=r.z.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(e){if(!this.transformCameraUpdate)return;const n=e.clone(),{center:c,zoom:o,pitch:y,bearing:k,elevation:x}=this.transformCameraUpdate(n);c&&(n.center=c),o!==void 0&&(n.zoom=o),y!==void 0&&(n.pitch=y),k!==void 0&&(n.bearing=k),x!==void 0&&(n.elevation=x),this.transform.apply(n)}_fireMoveEvents(e){this.fire(new r.k("move",e)),this._zooming&&this.fire(new r.k("zoom",e)),this._rotating&&this.fire(new r.k("rotate",e)),this._pitching&&this.fire(new r.k("pitch",e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;const c=this._zooming,o=this._rotating,y=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,c&&this.fire(new r.k("zoomend",e)),o&&this.fire(new r.k("rotateend",e)),y&&this.fire(new r.k("pitchend",e)),this.fire(new r.k("moveend",e))}flyTo(e,n){var c;if(!e.essential&&V.prefersReducedMotion){const qi=r.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(qi,n)}this.stop(),e=r.e({offset:[0,0],speed:1.2,curve:1.42,easing:r.b9},e);const o=this._getTransformForUpdate(),y=this.getZoom(),k=this.getBearing(),x=this.getPitch(),b=this.getPadding(),A="bearing"in e?this._normalizeBearing(e.bearing,k):k,F="pitch"in e?+e.pitch:x,C="padding"in e?e.padding:o.padding,P=r.P.convert(e.offset);let q=o.centerPoint.add(P);const $=o.pointLocation(q),{center:X,zoom:K}=o.getConstrained(r.N.convert(e.center||$),(c=e.zoom)!==null&&c!==void 0?c:y);this._normalizeCenter(X);const Q=o.zoomScale(K-y),ni=o.project($),Z=o.project(X).sub(ni);let si=e.curve;const di=Math.max(o.width,o.height),yi=di/Q,wi=Z.mag();if("minZoom"in e){const qi=r.ad(Math.min(e.minZoom,y,K),o.minZoom,o.maxZoom),fe=di/o.zoomScale(qi-y);si=Math.sqrt(fe/wi*2)}const vi=si*si;function Oi(qi){const fe=(yi*yi-di*di+(qi?-1:1)*vi*vi*wi*wi)/(2*(qi?yi:di)*vi*wi);return Math.log(Math.sqrt(fe*fe+1)-fe)}function Ui(qi){return(Math.exp(qi)-Math.exp(-qi))/2}function Li(qi){return(Math.exp(qi)+Math.exp(-qi))/2}const Ci=Oi(!1);let Yi=function(qi){return Li(Ci)/Li(Ci+si*qi)},Se=function(qi){return di*((Li(Ci)*(Ui(fe=Ci+si*qi)/Li(fe))-Ui(Ci))/vi)/wi;var fe},Ni=(Oi(!0)-Ci)/si;if(Math.abs(wi)<1e-6||!isFinite(Ni)){if(Math.abs(di-yi)<1e-6)return this.easeTo(e,n);const qi=yi0,Yi=fe=>Math.exp(qi*si*fe)}return e.duration="duration"in e?+e.duration:1e3*Ni/("screenSpeed"in e?+e.screenSpeed/si:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=k!==A,this._pitching=F!==x,this._padding=!o.isPaddingEqual(C),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(X),this._ease(qi=>{const fe=qi*Ni,_t=1/Yi(fe);o.zoom=qi===1?K:y+o.scaleZoom(_t),this._rotating&&(o.bearing=r.z.number(k,A,qi)),this._pitching&&(o.pitch=r.z.number(x,F,qi)),this._padding&&(o.interpolatePadding(b,C,qi),q=o.centerPoint.add(P)),this.terrain&&!e.freezeElevation&&this._updateElevation(qi);const Ae=qi===1?X:o.unproject(ni.add(Z.mult(Se(fe))).mult(_t));o.setLocationAtPoint(o.renderWorldCopies?Ae.wrap():Ae,q),this._applyUpdatedTransform(o),this._fireMoveEvents(n)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,n){var c;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const o=this._onEaseEnd;delete this._onEaseEnd,o.call(this,n)}return e||(c=this.handlers)===null||c===void 0||c.stop(!1),this}_ease(e,n,c){c.animate===!1||c.duration===0?(e(1),n()):(this._easeStart=V.now(),this._easeOptions=c,this._onEaseFrame=e,this._onEaseEnd=n,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){e=r.b3(e,-180,180);const c=Math.abs(e-n);return Math.abs(e-360-n)180?-360:c<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(r.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}const to={compact:!0,customAttribution:'MapLibre'};class _l{constructor(e=to){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=n=>{!n||n.sourceDataType!=="metadata"&&n.sourceDataType!=="visibility"&&n.dataType!=="style"&&n.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=E.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=E.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=E.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){E.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,n){const c=this._map._getUIString(`AttributionControl.${n}`);e.title=c,e.setAttribute("aria-label",c)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(o=>typeof o!="string"?"":o)):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){const o=this._map.style.stylesheet;this.styleOwner=o.owner,this.styleId=o.id}const n=this._map.style.sourceCaches;for(const o in n){const y=n[o];if(y.used||y.usedForTerrain){const k=y.getSource();k.attribution&&e.indexOf(k.attribution)<0&&e.push(k.attribution)}}e=e.filter(o=>String(o).trim()),e.sort((o,y)=>o.length-y.length),e=e.filter((o,y)=>{for(let k=y+1;k=0)return!1;return!0});const c=e.join(" | ");c!==this._attribHTML&&(this._attribHTML=c,e.length?(this._innerContainer.innerHTML=c,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class wn{constructor(e={}){this._updateCompact=()=>{const n=this._container.children;if(n.length){const c=n[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&c.classList.add("maplibregl-compact"):c.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=E.create("div","maplibregl-ctrl");const n=E.create("a","maplibregl-ctrl-logo");return n.target="_blank",n.rel="noopener nofollow",n.href="https://maplibre.org/",n.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),n.setAttribute("rel","noopener nofollow"),this._container.appendChild(n),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){E.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Wi{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const n=++this._id;return this._queue.push({callback:e,id:n,cancelled:!1}),n}remove(e){const n=this._currentlyRunning,c=n?this._queue.concat(n):this._queue;for(const o of c)if(o.id===e)return void(o.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const n=this._currentlyRunning=this._queue;this._queue=[];for(const c of n)if(!c.cancelled&&(c.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var mr=r.Y([{name:"a_pos3d",type:"Int16",components:3}]);class ao extends r.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];const c={};for(const o of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n}))c[o.key]=!0,this._renderableTilesKeys.push(o.key),this._tiles[o.key]||(o.posMatrix=new Float64Array(16),r.aQ(o.posMatrix,0,r.X,0,r.X,0,1),this._tiles[o.key]=new ln(o,this.tileSize));for(const o in this._tiles)c[o]||delete this._tiles[o]}freeRtt(e){for(const n in this._tiles){const c=this._tiles[n];(!e||c.tileID.equals(e)||c.tileID.isChildOf(e)||e.isChildOf(c.tileID))&&(c.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){const n={};for(const c of this._renderableTilesKeys){const o=this._tiles[c].tileID;if(o.canonical.equals(e.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16),r.aQ(y.posMatrix,0,r.X,0,r.X,0,1),n[c]=y}else if(o.canonical.isChildOf(e.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16);const k=o.canonical.z-e.canonical.z,x=o.canonical.x-(o.canonical.x>>k<>k<>k;r.aQ(y.posMatrix,0,A,0,A,0,1),r.J(y.posMatrix,y.posMatrix,[-x*A,-b*A,0]),n[c]=y}else if(e.canonical.isChildOf(o.canonical)){const y=e.clone();y.posMatrix=new Float64Array(16);const k=e.canonical.z-o.canonical.z,x=e.canonical.x-(e.canonical.x>>k<>k<>k;r.aQ(y.posMatrix,0,r.X,0,r.X,0,1),r.J(y.posMatrix,y.posMatrix,[x*A,b*A,0]),r.K(y.posMatrix,y.posMatrix,[1/2**k,1/2**k,0]),n[c]=y}}return n}getSourceTile(e,n){const c=this.sourceCache._source;let o=e.overscaledZ-this.deltaZoom;if(o>c.maxzoom&&(o=c.maxzoom),o=c.minzoom&&(!y||!y.dem);)y=this.sourceCache.getTileByID(e.scaledTo(o--).key);return y}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(n=>n.timeAdded>=e)}}class hr{constructor(e,n,c){this.painter=e,this.sourceCache=new ao(n),this.options=c,this.exaggeration=typeof c.exaggeration=="number"?c.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,c,o=r.X){var y;if(!(n>=0&&n=0&&ce.canonical.z&&(e.canonical.z>=o?y=e.canonical.z-o:r.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const k=e.canonical.x-(e.canonical.x>>y<>y<>8<<4|y>>8,n[k+3]=0;const c=new r.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),o=new we(e,c,e.gl.RGBA,{premultiply:!1});return o.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=o,o}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);const n=new Uint8Array(4),c=this.painter.context,o=c.gl,y=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),k=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),x=Math.round(this.painter.height/devicePixelRatio);c.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),o.readPixels(y,x-k-1,1,1,o.RGBA,o.UNSIGNED_BYTE,n),c.bindFramebuffer.set(null);const b=n[0]+(n[2]>>4<<8),A=n[1]+((15&n[2])<<8),F=this.coordsIndex[255-n[3]],C=F&&this.sourceCache.getTileByID(F);if(!C)return null;const P=this._coordsTextureSize,q=(1<e.id!==n),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(const n of this._recentlyUsed)if(!this._objects[n].inUse)return this._objects[n];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(const e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse)===!1}}const kn={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class fr{constructor(e,n){this.painter=e,this.terrain=n,this.pool=new lc(e.context,30,n.sourceCache.tileSize*n.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,n){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(c=>!e._layers[c].isHidden(n)),this._coordsDescendingInv={};for(const c in e.sourceCaches){this._coordsDescendingInv[c]={};const o=e.sourceCaches[c].getVisibleCoordinates();for(const y of o){const k=this.terrain.sourceCache.getTerrainCoords(y);for(const x in k)this._coordsDescendingInv[c][x]||(this._coordsDescendingInv[c][x]=[]),this._coordsDescendingInv[c][x].push(k[x])}}this._coordsDescendingInvStr={};for(const c of e._order){const o=e._layers[c],y=o.source;if(kn[o.type]&&!this._coordsDescendingInvStr[y]){this._coordsDescendingInvStr[y]={};for(const k in this._coordsDescendingInv[y])this._coordsDescendingInvStr[y][k]=this._coordsDescendingInv[y][k].map(x=>x.key).sort().join()}}for(const c of this._renderableTiles)for(const o in this._coordsDescendingInvStr){const y=this._coordsDescendingInvStr[o][c.tileID.key];y&&y!==c.rttCoords[o]&&(c.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;const n=e.type,c=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(kn[n]&&(this._prevType&&kn[this._prevType]||this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(kn[this._prevType]||kn[n]&&o){this._prevType=n;const y=this._stacks.length-1,k=this._stacks[y]||[];for(const x of this._renderableTiles){if(this.pool.isFull()&&(Xl(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(x),x.rtt[y]){const A=this.pool.getObjectForId(x.rtt[y].id);if(A.stamp===x.rtt[y].stamp){this.pool.useObject(A);continue}}const b=this.pool.getOrCreateFreeObject();this.pool.useObject(b),this.pool.stampObject(b),x.rtt[y]={id:b.id,stamp:b.stamp},c.context.bindFramebuffer.set(b.fbo.framebuffer),c.context.clear({color:r.aN.transparent,stencil:0}),c.currentStencilSource=void 0;for(let A=0;A{d.touchstart=d.dragStart,d.touchmoveWindow=d.dragMove,d.touchend=d.dragEnd},lo={showCompass:!0,showZoom:!0,visualizePitch:!1};class Sr{constructor(e,n,c=!1){this.mousedown=k=>{this.startMouse(r.e({},k,{ctrlKey:!0,preventDefault:()=>k.preventDefault()}),E.mousePos(this.element,k)),E.addEventListener(window,"mousemove",this.mousemove),E.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=k=>{this.moveMouse(k,E.mousePos(this.element,k))},this.mouseup=k=>{this.mouseRotate.dragEnd(k),this.mousePitch&&this.mousePitch.dragEnd(k),this.offTemp()},this.touchstart=k=>{k.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=E.touchPos(this.element,k.targetTouches)[0],this.startTouch(k,this._startPos),E.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.addEventListener(window,"touchend",this.touchend))},this.touchmove=k=>{k.targetTouches.length!==1?this.reset():(this._lastPos=E.touchPos(this.element,k.targetTouches)[0],this.moveTouch(k,this._lastPos))},this.touchend=k=>{k.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const o=e.dragRotate._mouseRotate.getClickTolerance(),y=e.dragRotate._mousePitch.getClickTolerance();this.element=n,this.mouseRotate=Os({clickTolerance:o,enable:!0}),this.touchRotate=(({enable:k,clickTolerance:x,bearingDegreesPerPixelMoved:b=.8})=>{const A=new Vc;return new kt({clickTolerance:x,move:(F,C)=>({bearingDelta:(C.x-F.x)*b}),moveStateManager:A,enable:k,assignEvents:gr})})({clickTolerance:o,enable:!0}),this.map=e,c&&(this.mousePitch=cl({clickTolerance:y,enable:!0}),this.touchPitch=(({enable:k,clickTolerance:x,pitchDegreesPerPixelMoved:b=-.5})=>{const A=new Vc;return new kt({clickTolerance:x,move:(F,C)=>({pitchDelta:(C.y-F.y)*b}),moveStateManager:A,enable:k,assignEvents:gr})})({clickTolerance:y,enable:!0})),E.addEventListener(n,"mousedown",this.mousedown),E.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),E.addEventListener(n,"touchcancel",this.reset)}startMouse(e,n){this.mouseRotate.dragStart(e,n),this.mousePitch&&this.mousePitch.dragStart(e,n),E.disableDrag()}startTouch(e,n){this.touchRotate.dragStart(e,n),this.touchPitch&&this.touchPitch.dragStart(e,n),E.disableDrag()}moveMouse(e,n){const c=this.map,{bearingDelta:o}=this.mouseRotate.dragMove(e,n)||{};if(o&&c.setBearing(c.getBearing()+o),this.mousePitch){const{pitchDelta:y}=this.mousePitch.dragMove(e,n)||{};y&&c.setPitch(c.getPitch()+y)}}moveTouch(e,n){const c=this.map,{bearingDelta:o}=this.touchRotate.dragMove(e,n)||{};if(o&&c.setBearing(c.getBearing()+o),this.touchPitch){const{pitchDelta:y}=this.touchPitch.dragMove(e,n)||{};y&&c.setPitch(c.getPitch()+y)}}off(){const e=this.element;E.removeEventListener(e,"mousedown",this.mousedown),E.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),E.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.removeEventListener(window,"touchend",this.touchend),E.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){E.enableDrag(),E.removeEventListener(window,"mousemove",this.mousemove),E.removeEventListener(window,"mouseup",this.mouseup),E.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),E.removeEventListener(window,"touchend",this.touchend)}}let Hn;function Ir(d,e,n){const c=new r.N(d.lng,d.lat);if(d=new r.N(d.lng,d.lat),e){const o=new r.N(d.lng-360,d.lat),y=new r.N(d.lng+360,d.lat),k=n.locationPoint(d).distSqr(e);n.locationPoint(o).distSqr(e)180;){const o=n.locationPoint(d);if(o.x>=0&&o.y>=0&&o.x<=n.width&&o.y<=n.height)break;d.lng>n.center.lng?d.lng-=360:d.lng+=360}return d.lng!==c.lng&&n.locationPoint(d).y>n.height/2-n.getHorizon()?d:c}const co={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Vn(d,e,n){const c=d.classList;for(const o in co)c.remove(`maplibregl-${n}-anchor-${o}`);c.add(`maplibregl-${n}-anchor-${e}`)}class ft extends r.E{constructor(e){if(super(),this._onKeyPress=n=>{const c=n.code,o=n.charCode||n.keyCode;c!=="Space"&&c!=="Enter"&&o!==32&&o!==13||this.togglePopup()},this._onMapClick=n=>{const c=n.originalEvent.target,o=this._element;this._popup&&(c===o||o.contains(c))&&this.togglePopup()},this._update=n=>{var c;if(!this._map)return;const o=this._map.loaded()&&!this._map.isMoving();((n==null?void 0:n.type)==="terrain"||(n==null?void 0:n.type)==="render"&&!o)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ir(this._lngLat,this._flatPos,this._map.transform):(c=this._lngLat)===null||c===void 0?void 0:c.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let y="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?y=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(y=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let k="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?k="rotateX(0deg)":this._pitchAlignment==="map"&&(k=`rotateX(${this._map.getPitch()}deg)`),n&&n.type!=="moveend"||(this._pos=this._pos.round()),E.setTransform(this._element,`${co[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${k} ${y}`),V.frameAsync(new AbortController).then(()=>{this._updateOpacity(n&&n.type==="moveend")}).catch(()=>{})},this._onMove=n=>{if(!this._isDragging){const c=this._clickTolerance||this._map._clickTolerance;this._isDragging=n.point.dist(this._pointerdownPos)>=c}this._isDragging&&(this._pos=n.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new r.k("dragstart"))),this.fire(new r.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new r.k("dragend")),this._state="inactive"},this._addDragHandler=n=>{this._element.contains(n.originalEvent.target)&&(n.preventDefault(),this._positionDelta=n.point.sub(this._pos).add(this._offset),this._pointerdownPos=n.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e==null?void 0:e.opacity,e==null?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=r.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=E.create("div");const n=E.createNS("http://www.w3.org/2000/svg","svg"),c=41,o=27;n.setAttributeNS(null,"display","block"),n.setAttributeNS(null,"height",`${c}px`),n.setAttributeNS(null,"width",`${o}px`),n.setAttributeNS(null,"viewBox",`0 0 ${o} ${c}`);const y=E.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"stroke","none"),y.setAttributeNS(null,"stroke-width","1"),y.setAttributeNS(null,"fill","none"),y.setAttributeNS(null,"fill-rule","evenodd");const k=E.createNS("http://www.w3.org/2000/svg","g");k.setAttributeNS(null,"fill-rule","nonzero");const x=E.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(3.0, 29.0)"),x.setAttributeNS(null,"fill","#000000");const b=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const Q of b){const ni=E.createNS("http://www.w3.org/2000/svg","ellipse");ni.setAttributeNS(null,"opacity","0.04"),ni.setAttributeNS(null,"cx","10.5"),ni.setAttributeNS(null,"cy","5.80029008"),ni.setAttributeNS(null,"rx",Q.rx),ni.setAttributeNS(null,"ry",Q.ry),x.appendChild(ni)}const A=E.createNS("http://www.w3.org/2000/svg","g");A.setAttributeNS(null,"fill",this._color);const F=E.createNS("http://www.w3.org/2000/svg","path");F.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),A.appendChild(F);const C=E.createNS("http://www.w3.org/2000/svg","g");C.setAttributeNS(null,"opacity","0.25"),C.setAttributeNS(null,"fill","#000000");const P=E.createNS("http://www.w3.org/2000/svg","path");P.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),C.appendChild(P);const q=E.createNS("http://www.w3.org/2000/svg","g");q.setAttributeNS(null,"transform","translate(6.0, 7.0)"),q.setAttributeNS(null,"fill","#FFFFFF");const $=E.createNS("http://www.w3.org/2000/svg","g");$.setAttributeNS(null,"transform","translate(8.0, 8.0)");const X=E.createNS("http://www.w3.org/2000/svg","circle");X.setAttributeNS(null,"fill","#000000"),X.setAttributeNS(null,"opacity","0.25"),X.setAttributeNS(null,"cx","5.5"),X.setAttributeNS(null,"cy","5.5"),X.setAttributeNS(null,"r","5.4999962");const K=E.createNS("http://www.w3.org/2000/svg","circle");K.setAttributeNS(null,"fill","#FFFFFF"),K.setAttributeNS(null,"cx","5.5"),K.setAttributeNS(null,"cy","5.5"),K.setAttributeNS(null,"r","5.4999962"),$.appendChild(X),$.appendChild(K),k.appendChild(x),k.appendChild(A),k.appendChild(C),k.appendChild(q),k.appendChild($),n.appendChild(k),n.setAttributeNS(null,"height",c*this._scale+"px"),n.setAttributeNS(null,"width",o*this._scale+"px"),this._element.appendChild(n),this._offset=r.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",n=>{n.preventDefault()}),this._element.addEventListener("mousedown",n=>{n.preventDefault()}),Vn(this._element,this._anchor,"marker"),e&&e.className)for(const n of e.className.split(" "))this._element.classList.add(n);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),E.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=r.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const o=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[o,-1*(38.1-13.5+o)],"bottom-right":[-o,-1*(38.1-13.5+o)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var n,c;if(!(!((n=this._map)===null||n===void 0)&&n.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const o=this._map,y=o.terrain.depthAtPoint(this._pos),k=o.terrain.getElevationForLngLatZoom(this._lngLat,o.transform.tileZoom);if(o.transform.lngLatToCameraDepth(this._lngLat,k)-y<.006)return void(this._element.style.opacity=this._opacity);const x=-this._offset.y/o.transform._pixelPerMeter,b=Math.sin(o.getPitch()*Math.PI/180)*x,A=o.terrain.depthAtPoint(new r.P(this._pos.x,this._pos.y-this._offset.y)),F=o.transform.lngLatToCameraDepth(this._lngLat,k+b)-A>.006;!((c=this._popup)===null||c===void 0)&&c.isOpen()&&F&&this._popup.remove(),this._element.style.opacity=F?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=r.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,n){return e===void 0&&n===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=e),n!==void 0&&(this._opacityWhenCovered=n),this._map&&this._updateOpacity(!0),this}}const Oc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let xl=0,jl=!1;const wr={maxWidth:100,unit:"metric"};function so(d,e,n){const c=n&&n.maxWidth||100,o=d._container.clientHeight/2,y=d.unproject([0,o]),k=d.unproject([c,o]),x=y.distanceTo(k);if(n&&n.unit==="imperial"){const b=3.2808*x;b>5280?cc(e,c,b/5280,d._getUIString("ScaleControl.Miles")):cc(e,c,b,d._getUIString("ScaleControl.Feet"))}else n&&n.unit==="nautical"?cc(e,c,x/1852,d._getUIString("ScaleControl.NauticalMiles")):x>=1e3?cc(e,c,x/1e3,d._getUIString("ScaleControl.Kilometers")):cc(e,c,x,d._getUIString("ScaleControl.Meters"))}function cc(d,e,n,c){const o=function(y){const k=Math.pow(10,`${Math.floor(y)}`.length-1);let x=y/k;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:x>=1?1:function(b){const A=Math.pow(10,Math.ceil(-Math.log(b)/Math.LN10));return Math.round(b*A)/A}(x),k*x}(n);d.style.width=e*(o/n)+"px",d.innerHTML=`${o} ${c}`}const _n={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},$c=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ee(d){if(d){if(typeof d=="number"){const e=Math.round(Math.abs(d)/Math.SQRT2);return{center:new r.P(0,0),top:new r.P(0,d),"top-left":new r.P(e,e),"top-right":new r.P(-e,e),bottom:new r.P(0,-d),"bottom-left":new r.P(e,-e),"bottom-right":new r.P(-e,-e),left:new r.P(d,0),right:new r.P(-d,0)}}if(d instanceof r.P||Array.isArray(d)){const e=r.P.convert(d);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:r.P.convert(d.center||[0,0]),top:r.P.convert(d.top||[0,0]),"top-left":r.P.convert(d["top-left"]||[0,0]),"top-right":r.P.convert(d["top-right"]||[0,0]),bottom:r.P.convert(d.bottom||[0,0]),"bottom-left":r.P.convert(d["bottom-left"]||[0,0]),"bottom-right":r.P.convert(d["bottom-right"]||[0,0]),left:r.P.convert(d.left||[0,0]),right:r.P.convert(d.right||[0,0])}}return ee(new r.P(0,0))}const de=G;w.AJAXError=r.bg,w.Evented=r.E,w.LngLat=r.N,w.MercatorCoordinate=r.Z,w.Point=r.P,w.addProtocol=r.bh,w.config=r.a,w.removeProtocol=r.bi,w.AttributionControl=_l,w.BoxZoomHandler=qs,w.CanvasSource=Xt,w.CooperativeGesturesHandler=on,w.DoubleClickZoomHandler=Qs,w.DragPanHandler=en,w.DragRotateHandler=sn,w.EdgeInsets=Pc,w.FullscreenControl=class extends r.E{constructor(d={}){super(),this._onFullscreenChange=()=>{var e;let n=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((e=n==null?void 0:n.shadowRoot)===null||e===void 0)&&e.fullscreenElement;)n=n.shadowRoot.fullscreenElement;n===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,d&&d.container&&(d.container instanceof HTMLElement?this._container=d.container:r.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(d){return this._map=d,this._container||(this._container=this._map.getContainer()),this._controlContainer=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){E.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const d=this._fullscreenButton=E.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);E.create("span","maplibregl-ctrl-icon",d).setAttribute("aria-hidden","true"),d.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const d=this._getTitle();this._fullscreenButton.setAttribute("aria-label",d),this._fullscreenButton.title=d}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new r.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new r.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},w.GeoJSONSource=Gn,w.GeolocateControl=class extends r.E{constructor(d){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new r.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new r.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{const n=new r.N(e.coords.longitude,e.coords.latitude),c=e.coords.accuracy,o=this._map.getBearing(),y=r.e({bearing:o},this.options.fitBoundsOptions),k=gi.fromLngLat(n,c);this._map.fitBounds(k,y,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const n=new r.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(e.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&jl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new r.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=e=>{if(this._map){if(this._container.addEventListener("contextmenu",n=>n.preventDefault()),this._geolocateButton=E.create("button","maplibregl-ctrl-geolocate",this._container),E.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",e===!1){r.w("Geolocation support is not available so the GeolocateControl will be disabled.");const n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}else{const n=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=E.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new ft({element:this._dotElement}),this._circleElement=E.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ft({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",n=>{n.geolocateSource||this._watchState!=="ACTIVE_LOCK"||n.originalEvent&&n.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new r.k("trackuserlocationend")),this.fire(new r.k("userlocationlostfocus")))})}},this.options=r.e({},Oc,d)}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(){return r._(this,arguments,void 0,function*(e=!1){if(Hn!==void 0&&!e)return Hn;if(window.navigator.permissions===void 0)return Hn=!!window.navigator.geolocation,Hn;try{Hn=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{Hn=!!window.navigator.geolocation}return Hn})}().then(e=>this._setupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),E.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,xl=0,jl=!1}_isOutOfMapMaxBounds(d){const e=this._map.getMaxBounds(),n=d.coords;return e&&(n.longitudee.getEast()||n.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const d=this._map.getBounds(),e=d.getSouthEast(),n=d.getNorthEast(),c=e.distanceTo(n),o=Math.ceil(this._accuracy/(c/this._map._container.clientHeight)*2);this._circleElement.style.width=`${o}px`,this._circleElement.style.height=`${o}px`}trigger(){if(!this._setup)return r.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new r.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":xl--,jl=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new r.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new r.k("trackuserlocationstart")),this.fire(new r.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let d;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),xl++,xl>1?(d={maximumAge:6e5,timeout:0},jl=!0):(d=this.options.positionOptions,jl=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,d)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},w.Hash=Yl,w.ImageSource=Fe,w.KeyboardHandler=Ws,w.LngLatBounds=gi,w.LogoControl=wn,w.Map=class extends w0{constructor(d){r.be.mark(r.bf.create);const e=Object.assign(Object.assign({},k0),d);if(e.minZoom!=null&&e.maxZoom!=null&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(e.minPitch!=null&&e.maxPitch!=null&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(e.minPitch!=null&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(e.maxPitch!=null&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Gs(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Wi,this._controls=[],this._mapId=r.a4(),this._contextLost=n=>{n.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new r.k("webglcontextlost",{originalEvent:n}))},this._contextRestored=n=>{this._setupPainter(),this.resize(),this._update(),this.fire(new r.k("webglcontextrestored",{originalEvent:n}))},this._onMapScroll=n=>{if(n.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=e.preserveDrawingBuffer===!0,this._antialias=e.antialias===!0,this._trackResize=e.trackResize===!0,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles===!0,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions===!0,this._collectResourceTiming=e.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Vi),e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=e.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=Ei.addThrottleControl(()=>this.isMoving()),this._requestManager=new $i(e.transformRequest),typeof e.container=="string"){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let n=!1;const c=Mc(o=>{this._trackResize&&!this._removed&&this.resize(o)._update()},50);this._resizeObserver=new ResizeObserver(o=>{n?c(o):n=!0}),this._resizeObserver.observe(this._container)}this.handlers=new I0(this,e),this._hash=e.hash&&new Yl(typeof e.hash=="string"&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,r.e({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new _l(typeof e.attributionControl=="boolean"?void 0:e.attributionControl)),e.maplibreLogo&&this.addControl(new wn,e.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",n=>{this._update(n.dataType==="style"),this.fire(new r.k(`${n.dataType}data`,n))}),this.on("dataloading",n=>{this.fire(new r.k(`${n.dataType}dataloading`,n))}),this.on("dataabort",n=>{this.fire(new r.k("sourcedataabort",n))})}_getMapId(){return this._mapId}addControl(d,e){if(e===void 0&&(e=d.getDefaultPosition?d.getDefaultPosition():"top-right"),!d||!d.onAdd)return this.fire(new r.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=d.onAdd(this);this._controls.push(d);const c=this._controlPositions[e];return e.indexOf("bottom")!==-1?c.insertBefore(n,c.firstChild):c.appendChild(n),this}removeControl(d){if(!d||!d.onRemove)return this.fire(new r.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const e=this._controls.indexOf(d);return e>-1&&this._controls.splice(e,1),d.onRemove(this),this}hasControl(d){return this._controls.indexOf(d)>-1}calculateCameraOptionsFromTo(d,e,n,c){return c==null&&this.terrain&&(c=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(d,e,n,c)}resize(d){var e;const n=this._containerDimensions(),c=n[0],o=n[1],y=this._getClampedPixelRatio(c,o);if(this._resizeCanvas(c,o,y),this.painter.resize(c,o,y),this.painter.overLimit()){const x=this.painter.context.gl;this._maxCanvasSize=[x.drawingBufferWidth,x.drawingBufferHeight];const b=this._getClampedPixelRatio(c,o);this._resizeCanvas(c,o,b),this.painter.resize(c,o,b)}this.transform.resize(c,o),(e=this._requestedCameraState)===null||e===void 0||e.resize(c,o);const k=!this._moving;return k&&(this.stop(),this.fire(new r.k("movestart",d)).fire(new r.k("move",d))),this.fire(new r.k("resize",d)),k&&this.fire(new r.k("moveend",d)),this}_getClampedPixelRatio(d,e){const{0:n,1:c}=this._maxCanvasSize,o=this.getPixelRatio(),y=d*o,k=e*o;return Math.min(y>n?n/y:1,k>c?c/k:1)*o}getPixelRatio(){var d;return(d=this._overridePixelRatio)!==null&&d!==void 0?d:devicePixelRatio}setPixelRatio(d){this._overridePixelRatio=d,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(d){return this.transform.setMaxBounds(gi.convert(d)),this._update()}setMinZoom(d){if((d=d??-2)>=-2&&d<=this.transform.maxZoom)return this.transform.minZoom=d,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=d,this._update(),this.getZoom()>d&&this.setZoom(d),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(d){if((d=d??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(d>=0&&d<=this.transform.maxPitch)return this.transform.minPitch=d,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(d>=this.transform.minPitch)return this.transform.maxPitch=d,this._update(),this.getPitch()>d&&this.setPitch(d),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(d){return this.transform.renderWorldCopies=d,this._update()}project(d){return this.transform.locationPoint(r.N.convert(d),this.style&&this.terrain)}unproject(d){return this.transform.pointLocation(r.P.convert(d),this.terrain)}isMoving(){var d;return this._moving||((d=this.handlers)===null||d===void 0?void 0:d.isMoving())}isZooming(){var d;return this._zooming||((d=this.handlers)===null||d===void 0?void 0:d.isZooming())}isRotating(){var d;return this._rotating||((d=this.handlers)===null||d===void 0?void 0:d.isRotating())}_createDelegatedListener(d,e,n){if(d==="mouseenter"||d==="mouseover"){let c=!1;return{layer:e,listener:n,delegates:{mousemove:y=>{const k=this.getLayer(e)?this.queryRenderedFeatures(y.point,{layers:[e]}):[];k.length?c||(c=!0,n.call(this,new Aa(d,this,y.originalEvent,{features:k}))):c=!1},mouseout:()=>{c=!1}}}}if(d==="mouseleave"||d==="mouseout"){let c=!1;return{layer:e,listener:n,delegates:{mousemove:k=>{(this.getLayer(e)?this.queryRenderedFeatures(k.point,{layers:[e]}):[]).length?c=!0:c&&(c=!1,n.call(this,new Aa(d,this,k.originalEvent)))},mouseout:k=>{c&&(c=!1,n.call(this,new Aa(d,this,k.originalEvent)))}}}}{const c=o=>{const y=this.getLayer(e)?this.queryRenderedFeatures(o.point,{layers:[e]}):[];y.length&&(o.features=y,n.call(this,o),delete o.features)};return{layer:e,listener:n,delegates:{[d]:c}}}}on(d,e,n){if(n===void 0)return super.on(d,e);const c=this._createDelegatedListener(d,e,n);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[d]=this._delegatedListeners[d]||[],this._delegatedListeners[d].push(c);for(const o in c.delegates)this.on(o,c.delegates[o]);return this}once(d,e,n){if(n===void 0)return super.once(d,e);const c=this._createDelegatedListener(d,e,n);for(const o in c.delegates)this.once(o,c.delegates[o]);return this}off(d,e,n){return n===void 0?super.off(d,e):(this._delegatedListeners&&this._delegatedListeners[d]&&(c=>{const o=this._delegatedListeners[d];for(let y=0;ythis._updateStyle(d,e));const n=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!d)),d?(this.style=new gs(this,e||{}),this.style.setEventedParent(this,{style:this.style}),typeof d=="string"?this.style.loadURL(d,e,n):this.style.loadJSON(d,e,n),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new gs(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(d,e){if(typeof d=="string"){const n=this._requestManager.transformRequest(d,"Style");r.h(n,new AbortController).then(c=>{this._updateDiff(c.data,e)}).catch(c=>{c&&this.fire(new r.j(c))})}else typeof d=="object"&&this._updateDiff(d,e)}_updateDiff(d,e){try{this.style.setState(d,e)&&this._update(!0)}catch(n){r.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(d,e)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():r.w("There is no style added to the map.")}addSource(d,e){return this._lazyInitEmptyStyle(),this.style.addSource(d,e),this._update(!0)}isSourceLoaded(d){const e=this.style&&this.style.sourceCaches[d];if(e!==void 0)return e.loaded();this.fire(new r.j(new Error(`There is no source with ID '${d}'`)))}setTerrain(d){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),d){const e=this.style.sourceCaches[d.source];if(!e)throw new Error(`cannot load terrain, because there exists no source with ID: ${d.source}`);this.terrain===null&&e.reload();for(const n in this.style._layers){const c=this.style._layers[n];c.type==="hillshade"&&c.source===d.source&&r.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new hr(this.painter,e,d),this.painter.renderToTexture=new fr(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=n=>{n.dataType==="style"?this.terrain.sourceCache.freeRtt():n.dataType==="source"&&n.tile&&(n.sourceId!==d.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(n.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new r.k("terrain",{terrain:d})),this}getTerrain(){var d,e;return(e=(d=this.terrain)===null||d===void 0?void 0:d.options)!==null&&e!==void 0?e:null}areTilesLoaded(){const d=this.style&&this.style.sourceCaches;for(const e in d){const n=d[e]._tiles;for(const c in n){const o=n[c];if(o.state!=="loaded"&&o.state!=="errored")return!1}}return!0}removeSource(d){return this.style.removeSource(d),this._update(!0)}getSource(d){return this.style.getSource(d)}addImage(d,e,n={}){const{pixelRatio:c=1,sdf:o=!1,stretchX:y,stretchY:k,content:x,textFitWidth:b,textFitHeight:A}=n;if(this._lazyInitEmptyStyle(),!(e instanceof HTMLImageElement||r.b(e))){if(e.width===void 0||e.height===void 0)return this.fire(new r.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:F,height:C,data:P}=e,q=e;return this.style.addImage(d,{data:new r.R({width:F,height:C},new Uint8Array(P)),pixelRatio:c,stretchX:y,stretchY:k,content:x,textFitWidth:b,textFitHeight:A,sdf:o,version:0,userImage:q}),q.onAdd&&q.onAdd(this,d),this}}{const{width:F,height:C,data:P}=V.getImageData(e);this.style.addImage(d,{data:new r.R({width:F,height:C},P),pixelRatio:c,stretchX:y,stretchY:k,content:x,textFitWidth:b,textFitHeight:A,sdf:o,version:0})}}updateImage(d,e){const n=this.style.getImage(d);if(!n)return this.fire(new r.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const c=e instanceof HTMLImageElement||r.b(e)?V.getImageData(e):e,{width:o,height:y,data:k}=c;if(o===void 0||y===void 0)return this.fire(new r.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==n.data.width||y!==n.data.height)return this.fire(new r.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const x=!(e instanceof HTMLImageElement||r.b(e));return n.data.replace(k,x),this.style.updateImage(d,n),this}getImage(d){return this.style.getImage(d)}hasImage(d){return d?!!this.style.getImage(d):(this.fire(new r.j(new Error("Missing required image id"))),!1)}removeImage(d){this.style.removeImage(d)}loadImage(d){return Ei.getImage(this._requestManager.transformRequest(d,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(d,e){return this._lazyInitEmptyStyle(),this.style.addLayer(d,e),this._update(!0)}moveLayer(d,e){return this.style.moveLayer(d,e),this._update(!0)}removeLayer(d){return this.style.removeLayer(d),this._update(!0)}getLayer(d){return this.style.getLayer(d)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(d,e,n){return this.style.setLayerZoomRange(d,e,n),this._update(!0)}setFilter(d,e,n={}){return this.style.setFilter(d,e,n),this._update(!0)}getFilter(d){return this.style.getFilter(d)}setPaintProperty(d,e,n,c={}){return this.style.setPaintProperty(d,e,n,c),this._update(!0)}getPaintProperty(d,e){return this.style.getPaintProperty(d,e)}setLayoutProperty(d,e,n,c={}){return this.style.setLayoutProperty(d,e,n,c),this._update(!0)}getLayoutProperty(d,e){return this.style.getLayoutProperty(d,e)}setGlyphs(d,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(d,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(d,e,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(d,e,n,c=>{c||this._update(!0)}),this}removeSprite(d){return this._lazyInitEmptyStyle(),this.style.removeSprite(d),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(d,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(d,e,n=>{n||this._update(!0)}),this}setLight(d,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(d,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(d){return this._lazyInitEmptyStyle(),this.style.setSky(d),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(d,e){return this.style.setFeatureState(d,e),this._update()}removeFeatureState(d,e){return this.style.removeFeatureState(d,e),this._update()}getFeatureState(d){return this.style.getFeatureState(d)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let d=0,e=0;return this._container&&(d=this._container.clientWidth||400,e=this._container.clientHeight||300),[d,e]}_setupContainer(){const d=this._container;d.classList.add("maplibregl-map");const e=this._canvasContainer=E.create("div","maplibregl-canvas-container",d);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=E.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const n=this._containerDimensions(),c=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],c);const o=this._controlContainer=E.create("div","maplibregl-control-container",d),y=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(k=>{y[k]=E.create("div",`maplibregl-ctrl-${k} `,o)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(d,e,n){this._canvas.width=Math.floor(n*d),this._canvas.height=Math.floor(n*e),this._canvas.style.width=`${d}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const d={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",c=>{e={requestedAttributes:d},c&&(e.statusMessage=c.statusMessage,e.type=c.type)},{once:!0});const n=this._canvas.getContext("webgl2",d)||this._canvas.getContext("webgl",d);if(!n){const c="Failed to initialize WebGL";throw e?(e.message=c,new Error(JSON.stringify(e))):new Error(c)}this.painter=new or(n,this.transform),xi.testSupport(n)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(d){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||d,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(d){return this._update(),this._renderTaskQueue.add(d)}_cancelRenderFrame(d){this._renderTaskQueue.remove(d)}_render(d){const e=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(d),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const o=this.transform.zoom,y=V.now();this.style.zoomHistory.update(o,y);const k=new r.a9(o,{now:y,fadeDuration:e,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),x=k.crossFadingFactor();x===1&&x===this._crossFadingFactor||(n=!0,this._crossFadingFactor=x),this.style.update(k)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,e,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:e,showPadding:this.showPadding}),this.fire(new r.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,r.be.mark(r.bf.load),this.fire(new r.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const c=this._sourcesDirty||this._styleDirty||this._placementDirty;return c||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new r.k("idle")),!this._loaded||this._fullyLoaded||c||(this._fullyLoaded=!0,r.be.mark(r.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var d;this._hash&&this._hash.remove();for(const n of this._controls)n.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),Ei.removeThrottleControl(this._imageQueueHandle),(d=this._resizeObserver)===null||d===void 0||d.disconnect();const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e!=null&&e.loseContext&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),E.remove(this._canvasContainer),E.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),r.be.clearMetrics(),this._removed=!0,this.fire(new r.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,V.frameAsync(this._frameRequest).then(d=>{r.be.frame(d),this._frameRequest=null,this._render(d)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(d){this._showTileBoundaries!==d&&(this._showTileBoundaries=d,this._update())}get showPadding(){return!!this._showPadding}set showPadding(d){this._showPadding!==d&&(this._showPadding=d,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(d){this._showCollisionBoxes!==d&&(this._showCollisionBoxes=d,d?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(d){this._showOverdrawInspector!==d&&(this._showOverdrawInspector=d,this._update())}get repaint(){return!!this._repaint}set repaint(d){this._repaint!==d&&(this._repaint=d,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(d){this._vertices=d,this._update()}get version(){return no}getCameraTargetElevation(){return this.transform.elevation}},w.MapMouseEvent=Aa,w.MapTouchEvent=Ql,w.MapWheelEvent=zs,w.Marker=ft,w.NavigationControl=class{constructor(d){this._updateZoomButtons=()=>{const e=this._map.getZoom(),n=e===this._map.getMaxZoom(),c=e===this._map.getMinZoom();this._zoomInButton.disabled=n,this._zoomOutButton.disabled=c,this._zoomInButton.setAttribute("aria-disabled",n.toString()),this._zoomOutButton.setAttribute("aria-disabled",c.toString())},this._rotateCompassArrow=()=>{const e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,n)=>{const c=this._map._getUIString(`NavigationControl.${n}`);e.title=c,e.setAttribute("aria-label",c)},this.options=r.e({},lo,d),this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),E.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),E.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=E.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(d){return this._map=d,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Sr(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){E.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(d,e){const n=E.create("button",d,this._container);return n.type="button",n.addEventListener("click",e),n}},w.Popup=class extends r.E{constructor(d){super(),this.remove=()=>(this._content&&E.remove(this._content),this._container&&(E.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new r.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var n;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=E.create("div","maplibregl-popup",this._map.getContainer()),this._tip=E.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const x of this.options.className.split(" "))this._container.classList.add(x);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ir(this._lngLat,this._flatPos,this._map.transform):(n=this._lngLat)===null||n===void 0?void 0:n.wrap(),this._trackPointer&&!e)return;const c=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let o=this.options.anchor;const y=ee(this.options.offset);if(!o){const x=this._container.offsetWidth,b=this._container.offsetHeight;let A;A=c.y+y.bottom.ythis._map.transform.height-b?["bottom"]:[],c.xthis._map.transform.width-x/2&&A.push("right"),o=A.length===0?"bottom":A.join("-")}let k=c.add(y[o]);this.options.subpixelPositioning||(k=k.round()),E.setTransform(this._container,`${co[o]} translate(${k.x}px,${k.y}px)`),Vn(this._container,o,"popup")},this._onClose=()=>{this.remove()},this.options=r.e(Object.create(_n),d)}addTo(d){return this._map&&this.remove(),this._map=d,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new r.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(d){return this._lngLat=r.N.convert(d),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(d){return this.setDOMContent(document.createTextNode(d))}setHTML(d){const e=document.createDocumentFragment(),n=document.createElement("body");let c;for(n.innerHTML=d;c=n.firstChild,c;)e.appendChild(c);return this.setDOMContent(e)}getMaxWidth(){var d;return(d=this._container)===null||d===void 0?void 0:d.style.maxWidth}setMaxWidth(d){return this.options.maxWidth=d,this._update(),this}setDOMContent(d){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=E.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(d),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(d){return this._container&&this._container.classList.add(d),this}removeClassName(d){return this._container&&this._container.classList.remove(d),this}setOffset(d){return this.options.offset=d,this._update(),this}toggleClassName(d){if(this._container)return this._container.classList.toggle(d)}setSubpixelPositioning(d){this.options.subpixelPositioning=d}_createCloseButton(){this.options.closeButton&&(this._closeButton=E.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const d=this._container.querySelector($c);d&&d.focus()}},w.RasterDEMTileSource=Qe,w.RasterTileSource=He,w.ScaleControl=class{constructor(d){this._onMove=()=>{so(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,so(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},wr),d)}getDefaultPosition(){return"bottom-left"}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-scale",d.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){E.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},w.ScrollZoomHandler=Ys,w.Style=gs,w.TerrainControl=class{constructor(d){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=d}onAdd(d){return this._map=d,this._container=E.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=E.create("button","maplibregl-ctrl-terrain",this._container),E.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){E.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},w.TwoFingersTouchPitchHandler=Zs,w.TwoFingersTouchRotateHandler=Js,w.TwoFingersTouchZoomHandler=Us,w.TwoFingersTouchZoomRotateHandler=io,w.VectorTileSource=Nn,w.VideoSource=za,w.addSourceType=(d,e)=>r._(void 0,void 0,void 0,function*(){if(aa(d))throw new Error(`A source type called "${d}" already exists.`);((n,c)=>{Ya[n]=c})(d,e)}),w.clearPrewarmedResources=function(){const d=pt;d&&(d.isPreloaded()&&d.numActive()===1?(d.release(ta),pt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},w.getMaxParallelImageRequests=function(){return r.a.MAX_PARALLEL_IMAGE_REQUESTS},w.getRTLTextPluginStatus=function(){return Ea().getRTLTextPluginStatus()},w.getVersion=function(){return de},w.getWorkerCount=function(){return oe.workerCount},w.getWorkerUrl=function(){return r.a.WORKER_URL},w.importScriptInWorkers=function(d){return Ft().broadcast("IS",d)},w.prewarm=function(){It().acquire(ta)},w.setMaxParallelImageRequests=function(d){r.a.MAX_PARALLEL_IMAGE_REQUESTS=d},w.setRTLTextPlugin=function(d,e){return Ea().setRTLTextPlugin(d,e)},w.setWorkerCount=function(d){oe.workerCount=d},w.setWorkerUrl=function(d){r.a.WORKER_URL=d}});var j=f;return j})})(gy);var Pg=gy.exports;const Mg=Th(Pg);function zg(I){let p;return{c(){p=ne("div"),this.h()},l(f){p=le(f,"DIV",{class:!0}),ye(p).forEach(ki),this.h()},h(){De(p,"class","inscription-map svelte-15t1yne"),hd(p,"hidden",!I[0])},m(f,h){ce(f,p,h),I[3](p)},p(f,[h]){h&1&&hd(p,"hidden",!f[0])},i:bn,o:bn,d(f){f&&ki(p),I[3](null)}}}function Eg(I,p){const f=document.createElement("div");return f.className="marker",f.style.width=I,f.style.height=I,f.style.lineHeight=I,p>1&&(f.innerHTML=p.toString()),f}function qg(I){const p=I.reduce((g,j)=>(g[j.place._]||(g[j.place._]=[]),g[j.place._].push(j),g),{});let f='
    ';const h=Object.entries(p).map(([g,j])=>{let w=`
    ${g}
    `,r=j.map(G=>`
    ${G.title}
    `).join("");return`${w}${r}`}).join("");return`${f}
    ${h}
    `}function Hg(I,p,f){const{Map:h,Marker:g,NavigationControl:j,Popup:w}=Mg;let{inscriptions:r}=p,{show:G=!0}=p,z,U=[],V;function E(){U.forEach(hi=>hi.remove()),U=[];const ti=r.filter(hi=>hi.geo).reduce((hi,pi)=>{const Bi=pi.geo.join("_");return hi[Bi]||(hi[Bi]=[]),hi[Bi].push(pi),hi},{});Object.entries(ti).forEach(([hi,pi])=>{const Bi=pi.length;let zi="8px";Bi>15?zi="48px":Bi>10?zi="32px":Bi>1&&(zi="16px");const Ei=Eg(zi,Bi),$i=pi[0].geo,Ji=qg(pi),me=new g({element:Ei}).setLngLat([$i[1],$i[0]]).setPopup(new w().setHTML(Ji)).addTo(z);U.push(me)})}Qd(()=>{z=new h({container:V,style:"https://api.maptiler.com/maps/positron/style.json?key=brTBbnRxuiKp6PgjwFPr",center:[14.01535,37.59999],zoom:7}),z.addControl(new j({showCompass:!0,showZoom:!0}))}),wh(()=>{E()}),kh(()=>z==null?void 0:z.remove());function xi(ti){mc[ti?"unshift":"push"](()=>{V=ti,f(1,V)})}return I.$$set=ti=>{"inscriptions"in ti&&f(2,r=ti.inscriptions),"show"in ti&&f(0,G=ti.show)},[G,V,r,xi]}class Vg extends Ot{constructor(p){super(),$t(this,p,Hg,zg,Rt,{inscriptions:2,show:0})}}function Og(I){return Object.keys(I).reduce((p,f)=>I[f]===void 0?p:p+`${f}:${I[f]};`,"")}Og({position:"absolute",opacity:0,"pointer-events":"none",margin:0,transform:"translateX(-100%)"});function Bd(I){function p(f){return f(I),()=>{}}return{subscribe:p}}const Kr=I=>new Proxy(I,{get(p,f,h){return Reflect.get(p,f,h)},ownKeys(p){return Reflect.ownKeys(p).filter(f=>f!=="action")}}),Cd=I=>typeof I=="function";To("empty");function To(I,p){const{stores:f,action:h,returned:g}=p??{},j=(()=>{if(f&&g)return i0(f,r=>{const G=g(r);if(Cd(G)){const z=(...U)=>Kr({...G(...U),[`data-melt-${I}`]:"",action:h??rs});return z.action=h??rs,z}return Kr({...G,[`data-melt-${I}`]:"",action:h??rs})});{const r=g,G=r==null?void 0:r();if(Cd(G)){const z=(...U)=>Kr({...G(...U),[`data-melt-${I}`]:"",action:h??rs});return z.action=h??rs,Bd(z)}return Bd(Kr({...G,[`data-melt-${I}`]:"",action:h??rs}))}})(),w=h??(()=>{});return w.subscribe=j.subscribe,w}function $g(I){const p=j=>j?`${I}-${j}`:I,f=j=>`data-melt-${I}${j?`-${j}`:""}`,h=j=>`[data-melt-${I}${j?`-${j}`:""}]`;return{name:p,attribute:f,selector:h,getEl:j=>document.querySelector(h(j))}}function us(I){return I instanceof HTMLElement}function yp(...I){return(...p)=>{for(const f of I)typeof f=="function"&&f(...p)}}function rs(){}function Iy(I,p,f,h){const g=Array.isArray(p)?p:[p];return g.forEach(j=>I.addEventListener(j,f,h)),()=>{g.forEach(j=>I.removeEventListener(j,f,h))}}function ps(I,p,f,h){const g=Array.isArray(p)?p:[p];if(typeof f=="function"){const j=Kg(w=>f(w));return g.forEach(w=>I.addEventListener(w,j,h)),()=>{g.forEach(w=>I.removeEventListener(w,j,h))}}return()=>void 0}function Ug(I){const p=I.currentTarget;if(!us(p))return null;const f=new CustomEvent(`m-${I.type}`,{detail:{originalEvent:I},cancelable:!0});return p.dispatchEvent(f),f}function Kg(I){return p=>{const f=Ug(p);if(!(f!=null&&f.defaultPrevented))return I(p)}}function wy(I,...p){const f={};for(const h of Object.keys(I))p.includes(h)||(f[h]=I[h]);return f}function zo(I){return{...I,get:()=>_h(I)}}zo.writable=function(I){const p=e0(I);let f=I;return{subscribe:p.subscribe,set(h){p.set(h),f=h},update(h){const g=h(f);p.set(g),f=g},get(){return f}}};zo.derived=function(I,p){const f=new Map,h=()=>{const j=Array.isArray(I)?I.map(w=>w.get()):I.get();return p(j)};return{get:h,subscribe:j=>{const w=[];return(Array.isArray(I)?I:[I]).forEach(G=>{w.push(G.subscribe(()=>{j(h())}))}),j(h()),f.set(j,w),()=>{const G=f.get(j);if(G)for(const z of G)z();f.delete(j)}}}};const Jg=(I,p)=>{const f=zo(I),h=(j,w)=>{f.update(r=>{const G=j(r);let z=G;return p&&(z=p({curr:r,next:G})),w==null||w(z),z})};return{...f,update:h,set:j=>{h(()=>j)}}},Ro={ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",A:"a",P:"p"};function Zg(I){const p={};return Object.keys(I).forEach(f=>{const h=f,g=I[h];p[h]=zo(e0(g))}),p}No(void 0,I=>{function p(h){I(h),I(void 0)}return Iy(document,"pointerup",p,{passive:!1,capture:!0})});No(void 0,I=>{function p(h){h&&h.key===Ro.ESCAPE&&I(h),I(void 0)}return Iy(document,"keydown",p,{passive:!1})});No(!1),No(!1),No(void 0);const Wg={isDateDisabled:void 0,isDateUnavailable:void 0,value:void 0,preventDeselect:!1,numberOfMonths:1,pagedNavigation:!1,weekStartsOn:0,fixedWeeks:!1,calendarLabel:"Event Date",locale:"en",minValue:void 0,maxValue:void 0,disabled:!1,readonly:!1,weekdayFormat:"narrow"};({...wy(Wg,"isDateDisabled","isDateUnavailable","value","locale","disabled","readonly","minValue","maxValue","weekdayFormat")});function Xg({page:I=1,totalPages:p,siblingCount:f=1}){const h=[],g=new Set([1,p]),j=3+f,w=p-2-f;if(j>w)for(let U=2;U<=p-1;U++)g.add(U);else if(Iw)for(let U=p-1;U>=Math.max(w,2);U--)g.add(U);else for(let U=Math.max(I-f,2);U<=Math.min(I+f,p);U++)g.add(U);const r=U=>{h.push({type:"page",value:U,key:`page-${U}`})},G=()=>{h.push({type:"ellipsis",key:`ellipsis-${h.length}`})};let z=0;for(const U of Array.from(g).sort((V,E)=>V-E))U-z>1&&G(),r(U),z=U;return h}const Yg={perPage:1,siblingCount:1,defaultPage:1},{name:Jr,selector:mp}=$g("pagination");function Qg(I){const p={...Yg,...I},f=p.page??e0(p.defaultPage),h=Jg(f,p==null?void 0:p.onPageChange),g=Zg(wy(p,"page","onPageChange","defaultPage")),{perPage:j,siblingCount:w,count:r}=g,G=zo.derived([r,j],([pi,Bi])=>Math.ceil(pi/Bi)),z=i0([h,j,r],([pi,Bi,zi])=>{const Ei=(pi-1)*Bi,$i=Math.min(Ei+Bi,zi);return{start:Ei,end:$i}}),U=To(Jr(),{returned:()=>({"data-scope":"pagination"})}),V=i0([h,G,w],([pi,Bi,zi])=>Xg({page:pi,totalPages:Bi,siblingCount:zi})),E=pi=>{const Bi=pi.target;if(!us(Bi))return;const zi=Bi.closest('[data-scope="pagination"]');if(!us(zi))return;const Ei=Array.from(zi.querySelectorAll(mp("page"))).filter(pe=>us(pe)),$i=zi.querySelector(mp("prev")),Ji=zi.querySelector(mp("next"));us($i)&&Ei.unshift($i),us(Ji)&&Ei.push(Ji);const me=Ei.indexOf(Bi);pi.key===Ro.ARROW_LEFT&&me!==0?(pi.preventDefault(),Ei[me-1].focus()):pi.key===Ro.ARROW_RIGHT&&me!==Ei.length-1?(pi.preventDefault(),Ei[me+1].focus()):pi.key===Ro.HOME?(pi.preventDefault(),Ei[0].focus()):pi.key===Ro.END&&(pi.preventDefault(),Ei[Ei.length-1].focus())},xi=To(Jr("page"),{stores:h,returned:pi=>Bi=>({"aria-label":`Page ${Bi.value}`,"data-value":Bi.value,"data-selected":Bi.value===pi?"":void 0}),action:pi=>({destroy:yp(ps(pi,"click",()=>{const zi=pi.dataset.value;!zi||Number.isNaN(+zi)||h.set(Number(zi))}),ps(pi,"keydown",E))})}),ti=To(Jr("prev"),{stores:h,returned:pi=>({"aria-label":"Previous",disabled:pi<=1}),action:pi=>({destroy:yp(ps(pi,"click",()=>{h.update(zi=>Math.max(zi-1,1))}),ps(pi,"keydown",E))})}),hi=To(Jr("next"),{stores:[h,G],returned:([pi,Bi])=>({"aria-label":"Next",disabled:pi>=Bi}),action:pi=>({destroy:yp(ps(pi,"click",()=>{const zi=G.get();h.update(Ei=>Math.min(Ei+1,zi))}),ps(pi,"keydown",E))})});return{elements:{root:U,pageTrigger:xi,prevButton:ti,nextButton:hi},states:{range:dp(z),page:h,pages:dp(V),totalPages:dp(G)},options:g}}function iS(I,p){const f={};return p.forEach(h=>{f[h]={[`data-${I}-${h}`]:""}}),h=>f[h]}function Bp(){const I=xh();return p=>{const{originalEvent:f}=p.detail,{cancelable:h}=p,g=f.type;I(g,{originalEvent:f,currentTarget:f.currentTarget},{cancelable:h})||p.preventDefault()}}function eS(I){const p={};for(const f in I){const h=I[f];h!==void 0&&(p[f]=h)}return p}function tS(I){return function(p,f){if(f===void 0)return;const h=I[p];h&&h.set(f)}}function aS(I,p){const f=[];return p.builders.forEach(h=>{const g=h.action(I);g&&f.push(g)}),{destroy:()=>{f.forEach(h=>{h.destroy&&h.destroy()})}}}function Fd(I){const p={};return I.forEach(f=>{Object.keys(f).forEach(h=>{h!=="action"&&(p[h]=f[h])})}),p}function nS(I){let p=I[1]?"a":"button",f,h,g=(I[1]?"a":"button")&&hp(I);return{c(){g&&g.c(),f=At()},l(j){g&&g.l(j),f=At()},m(j,w){g&&g.m(j,w),ce(j,f,w),h=!0},p(j,w){j[1],p?Rt(p,j[1]?"a":"button")?(g.d(1),g=hp(j),p=j[1]?"a":"button",g.c(),g.m(f.parentNode,f)):g.p(j,w):(g=hp(j),p=j[1]?"a":"button",g.c(),g.m(f.parentNode,f))},i(j){h||(Ti(g,j),h=!0)},o(j){Gi(g,j),h=!1},d(j){j&&ki(f),g&&g.d(j)}}}function lS(I){let p=I[1]?"a":"button",f,h,g=(I[1]?"a":"button")&&fp(I);return{c(){g&&g.c(),f=At()},l(j){g&&g.l(j),f=At()},m(j,w){g&&g.m(j,w),ce(j,f,w),h=!0},p(j,w){j[1],p?Rt(p,j[1]?"a":"button")?(g.d(1),g=fp(j),p=j[1]?"a":"button",g.c(),g.m(f.parentNode,f)):g.p(j,w):(g=fp(j),p=j[1]?"a":"button",g.c(),g.m(f.parentNode,f))},i(j){h||(Ti(g,j),h=!0)},o(j){Gi(g,j),h=!1},d(j){j&&ki(f),g&&g.d(j)}}}function hp(I){let p,f,h,g,j;const w=I[7].default,r=ka(w,I,I[6],null);let G=[{type:f=I[1]?void 0:I[2]},{href:I[1]},{tabindex:"0"},I[5],I[4]],z={};for(let U=0;U{w[U]=null}),Wa(),f=w[p],f?f.p(G,z):(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function sS(I,p,f){const h=["href","type","builders","el"];let g=vn(p,h),{$$slots:j={},$$scope:w}=p,{href:r=void 0}=p,{type:G=void 0}=p,{builders:z=[]}=p,{el:U=void 0}=p;const V={"data-button-root":""};function E(Ai){Wt.call(this,I,Ai)}function xi(Ai){Wt.call(this,I,Ai)}function ti(Ai){Wt.call(this,I,Ai)}function hi(Ai){Wt.call(this,I,Ai)}function pi(Ai){Wt.call(this,I,Ai)}function Bi(Ai){Wt.call(this,I,Ai)}function zi(Ai){Wt.call(this,I,Ai)}function Ei(Ai){Wt.call(this,I,Ai)}function $i(Ai){Wt.call(this,I,Ai)}function Ji(Ai){Wt.call(this,I,Ai)}function me(Ai){Wt.call(this,I,Ai)}function pe(Ai){Wt.call(this,I,Ai)}function St(Ai){Wt.call(this,I,Ai)}function qe(Ai){Wt.call(this,I,Ai)}function Ie(Ai){Wt.call(this,I,Ai)}function we(Ai){Wt.call(this,I,Ai)}function yt(Ai){Wt.call(this,I,Ai)}function Ze(Ai){Wt.call(this,I,Ai)}function We(Ai){Wt.call(this,I,Ai)}function Ye(Ai){Wt.call(this,I,Ai)}function Pt(Ai){mc[Ai?"unshift":"push"](()=>{U=Ai,f(0,U)})}function Ki(Ai){mc[Ai?"unshift":"push"](()=>{U=Ai,f(0,U)})}return I.$$set=Ai=>{p=Ne(Ne({},p),ea(Ai)),f(5,g=vn(p,h)),"href"in Ai&&f(1,r=Ai.href),"type"in Ai&&f(2,G=Ai.type),"builders"in Ai&&f(3,z=Ai.builders),"el"in Ai&&f(0,U=Ai.el),"$$scope"in Ai&&f(6,w=Ai.$$scope)},[U,r,G,z,V,g,w,j,E,xi,ti,hi,pi,Bi,zi,Ei,$i,Ji,me,pe,St,qe,Ie,we,yt,Ze,We,Ye,Pt,Ki]}class Zr extends Ot{constructor(p){super(),$t(this,p,sS,cS,Rt,{href:1,type:2,builders:3,el:0})}}function ky(){return{NAME:"pagination",PARTS:["root","prev-button","next-button","page"]}}function oS(I){const{NAME:p,PARTS:f}=ky(),h=iS(p,f),g={...Qg(eS(I)),getAttrs:h};return bh(p,g),{...g,updateOption:tS(g.options)}}function Cp(){const{NAME:I}=ky();return vh(I)}const rS=I=>({builder:I&4,pages:I&8,range:I&16}),Td=I=>({builder:I[2],pages:I[3],range:I[4]}),pS=I=>({builder:I&4,pages:I&8,range:I&16}),Rd=I=>({builder:I[2],pages:I[3],range:I[4]});function uS(I){let p,f,h,g;const j=I[16].default,w=ka(j,I,I[15],Td);let r=[I[2],I[8]],G={};for(let z=0;z{w[U]=null}),Wa(),f=w[p],f?f.p(G,z):(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function mS(I,p,f){let h;const g=["count","page","onPageChange","perPage","siblingCount","asChild","el"];let j=vn(p,g),w,r,G,{$$slots:z={},$$scope:U}=p,{count:V}=p,{page:E=void 0}=p,{onPageChange:xi=void 0}=p,{perPage:ti=void 0}=p,{siblingCount:hi=void 0}=p,{asChild:pi=!1}=p,{el:Bi=void 0}=p;const{elements:{root:zi},states:{pages:Ei,range:$i,page:Ji},getAttrs:me,updateOption:pe}=oS({count:V,perPage:ti,siblingCount:hi,defaultPage:E,onPageChange:({next:Ie})=>(E!==Ie&&(xi==null||xi(Ie),f(9,E=Ie)),Ie)});yl(I,zi,Ie=>f(14,w=Ie)),yl(I,Ei,Ie=>f(3,r=Ie)),yl(I,$i,Ie=>f(4,G=Ie));const St=me("root");function qe(Ie){mc[Ie?"unshift":"push"](()=>{Bi=Ie,f(0,Bi)})}return I.$$set=Ie=>{p=Ne(Ne({},p),ea(Ie)),f(8,j=vn(p,g)),"count"in Ie&&f(10,V=Ie.count),"page"in Ie&&f(9,E=Ie.page),"onPageChange"in Ie&&f(11,xi=Ie.onPageChange),"perPage"in Ie&&f(12,ti=Ie.perPage),"siblingCount"in Ie&&f(13,hi=Ie.siblingCount),"asChild"in Ie&&f(1,pi=Ie.asChild),"el"in Ie&&f(0,Bi=Ie.el),"$$scope"in Ie&&f(15,U=Ie.$$scope)},I.$$.update=()=>{I.$$.dirty&512&&E!==void 0&&Ji.set(E),I.$$.dirty&16384&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,St),I.$$.dirty&1024&&pe("count",V),I.$$.dirty&4096&&pe("perPage",ti),I.$$.dirty&8192&&pe("siblingCount",hi)},[Bi,pi,h,r,G,zi,Ei,$i,j,E,V,xi,ti,hi,w,U,z,qe]}class hS extends Ot{constructor(p){super(),$t(this,p,mS,yS,Rt,{count:10,page:9,onPageChange:11,perPage:12,siblingCount:13,asChild:1,el:0})}}const fS=I=>({builder:I&4}),Dd=I=>({builder:I[2]}),gS=I=>({builder:I&4}),Nd=I=>({builder:I[2]});function SS(I){let p,f,h,g;const j=I[8].default,w=ka(j,I,I[7],Dd);let r=[I[2],{type:"button"},I[5]],G={};for(let z=0;z{w[U]=null}),Wa(),f=w[p],f?f.p(G,z):(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function kS(I,p,f){let h;const g=["asChild","el"];let j=vn(p,g),w,{$$slots:r={},$$scope:G}=p,{asChild:z=void 0}=p,{el:U=void 0}=p;const{elements:{prevButton:V},getAttrs:E}=Cp();yl(I,V,pi=>f(6,w=pi));const xi=E("prev-button"),ti=Bp();function hi(pi){mc[pi?"unshift":"push"](()=>{U=pi,f(0,U)})}return I.$$set=pi=>{p=Ne(Ne({},p),ea(pi)),f(5,j=vn(p,g)),"asChild"in pi&&f(1,z=pi.asChild),"el"in pi&&f(0,U=pi.el),"$$scope"in pi&&f(7,G=pi.$$scope)},I.$$.update=()=>{I.$$.dirty&64&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,xi)},[U,z,h,V,ti,j,w,G,r,hi]}class _S extends Ot{constructor(p){super(),$t(this,p,kS,wS,Rt,{asChild:1,el:0})}}const xS=I=>({builder:I&4}),Gd=I=>({builder:I[2]}),jS=I=>({builder:I&4}),Pd=I=>({builder:I[2]});function bS(I){let p,f,h,g;const j=I[8].default,w=ka(j,I,I[7],Gd);let r=[I[2],{type:"button"},I[5]],G={};for(let z=0;z{w[U]=null}),Wa(),f=w[p],f?f.p(G,z):(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function LS(I,p,f){let h;const g=["asChild","el"];let j=vn(p,g),w,{$$slots:r={},$$scope:G}=p,{asChild:z=void 0}=p,{el:U=void 0}=p;const{elements:{nextButton:V},getAttrs:E}=Cp();yl(I,V,pi=>f(6,w=pi));const xi=E("next-button"),ti=Bp();function hi(pi){mc[pi?"unshift":"push"](()=>{U=pi,f(0,U)})}return I.$$set=pi=>{p=Ne(Ne({},p),ea(pi)),f(5,j=vn(p,g)),"asChild"in pi&&f(1,z=pi.asChild),"el"in pi&&f(0,U=pi.el),"$$scope"in pi&&f(7,G=pi.$$scope)},I.$$.update=()=>{I.$$.dirty&64&&f(2,h=w),I.$$.dirty&4&&Object.assign(h,xi)},[U,z,h,V,ti,j,w,G,r,hi]}class BS extends Ot{constructor(p){super(),$t(this,p,LS,AS,Rt,{asChild:1,el:0})}}const CS=I=>({builder:I&8}),Md=I=>({builder:I[3]}),FS=I=>({builder:I&8}),zd=I=>({builder:I[3]});function TS(I){let p,f,h,g;const j=I[9].default,w=ka(j,I,I[8],Md),r=w||DS(I);let G=[{type:"button"},I[3],I[6]],z={};for(let U=0;U{w[U]=null}),Wa(),f=w[p],f?f.p(G,z):(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function GS(I,p,f){let h;const g=["asChild","page","el"];let j=vn(p,g),w,{$$slots:r={},$$scope:G}=p,{asChild:z=void 0}=p,{page:U}=p,{el:V=void 0}=p;const{elements:{pageTrigger:E},getAttrs:xi}=Cp();yl(I,E,Bi=>f(7,w=Bi));const ti=xi("page"),hi=Bp();function pi(Bi){mc[Bi?"unshift":"push"](()=>{V=Bi,f(0,V)})}return I.$$set=Bi=>{p=Ne(Ne({},p),ea(Bi)),f(6,j=vn(p,g)),"asChild"in Bi&&f(1,z=Bi.asChild),"page"in Bi&&f(2,U=Bi.page),"el"in Bi&&f(0,V=Bi.el),"$$scope"in Bi&&f(8,G=Bi.$$scope)},I.$$.update=()=>{I.$$.dirty&132&&f(3,h=w(U)),I.$$.dirty&8&&Object.assign(h,ti)},[V,z,U,h,E,hi,j,w,G,r,pi]}class PS extends Ot{constructor(p){super(),$t(this,p,GS,NS,Rt,{asChild:1,page:2,el:0})}}/** * @license lucide-svelte v0.408.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ed={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};function qd(I,p,f){const h=I.slice();return h[11]=p[f][0],h[12]=p[f][1],h}function gp(I){let p,f=[I[12]],h={};for(let g=0;gti.filter((hi,pi,Li)=>!!hi&&Li.indexOf(hi)===pi).join(" ");return I.$$set=ti=>{f(8,p=De(De({},p),Qt(ti))),f(7,g=vn(p,h)),"name"in ti&&f(0,r=ti.name),"color"in ti&&f(1,P=ti.color),"size"in ti&&f(2,z=ti.size),"strokeWidth"in ti&&f(3,U=ti.strokeWidth),"absoluteStrokeWidth"in ti&&f(4,V=ti.absoluteStrokeWidth),"iconNode"in ti&&f(5,E=ti.iconNode),"$$scope"in ti&&f(9,w=ti.$$scope)},p=Qt(p),[r,P,z,U,V,E,_i,g,p,w,b]}class ms extends zt{constructor(p){super(),Et(this,p,PS,GS,vt,{name:0,color:1,size:2,strokeWidth:3,absoluteStrokeWidth:4,iconNode:5})}}function MS(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function zS(I){let p,f;const h=[{name:"chevron-left"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[MS]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}class qS extends zt{constructor(p){super(),Et(this,p,ES,zS,vt,{})}}function HS(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function VS(I){let p,f;const h=[{name:"chevron-right"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[HS]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}class $S extends zt{constructor(p){super(),Et(this,p,OS,VS,vt,{})}}function US(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function KS(I){let p,f;const h=[{name:"layout-grid"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[US]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}class _y extends zt{constructor(p){super(),Et(this,p,JS,KS,vt,{})}}function ZS(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function WS(I){let p,f;const h=[{name:"loader-circle"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[ZS]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}class YS extends zt{constructor(p){super(),Et(this,p,XS,WS,vt,{})}}function QS(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function iI(I){let p,f;const h=[{name:"map"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[QS]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}let tI=class extends zt{constructor(p){super(),Et(this,p,eI,iI,vt,{})}};function aI(I){let p;const f=I[2].default,h=wa(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,b){h&&h.m(g,b),p=!0},p(g,b){h&&h.p&&(!p||b&8)&&ka(h,f,g,g[3],p?xa(f,g[3],b,null):_a(g[3]),null)},i(g){p||(Fi(h,g),p=!0)},o(g){Di(h,g),p=!1},d(g){h&&h.d(g)}}}function nI(I){let p,f;const h=[{name:"table"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[aI]},$$scope:{ctx:I}};for(let b=0;b{f(1,p=De(De({},p),Qt(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=Qt(p),[b,p,h,g]}class xy extends zt{constructor(p){super(),Et(this,p,lI,nI,vt,{})}}function Vd(I,p,f){const h=I.slice();return h[3]=p[f],h}function Od(I){let p,f;return p=new yS({props:{page:I[3],count:I[0],perPage:I[1],onPageChange:I[2],$$slots:{default:[uI,({pages:h,range:g})=>({4:h,5:g}),({pages:h,range:g})=>(h?16:0)|(g?32:0)]},$$scope:{ctx:I}}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&8&&(b.page=h[3]),g&1&&(b.count=h[0]),g&2&&(b.perPage=h[1]),g&4&&(b.onPageChange=h[2]),g&304&&(b.$$scope={dirty:g,ctx:h}),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function cI(I){let p,f;return p=new qS({}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function sI(I){let p,f;return p=new NS({props:{page:I[3],$$slots:{default:[rI]},$$scope:{ctx:I}}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&16&&(b.page=h[3]),g&272&&(b.$$scope={dirty:g,ctx:h}),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function oI(I){let p,f="...";return{c(){p=ce("span"),p.textContent=f},l(h){p=se(h,"SPAN",{"data-svelte-h":!0}),yc(p)!=="svelte-9cz974"&&(p.textContent=f)},m(h,g){oe(h,p,g)},p:bn,i:bn,o:bn,d(h){h&&ji(p)}}}function rI(I){let p=I[3].value+"",f,h;return{c(){f=Ne(p),h=lt()},l(g){f=Ge(g,p),h=ct(g)},m(g,b){oe(g,f,b),oe(g,h,b)},p(g,b){b&16&&p!==(p=g[3].value+"")&&Nt(f,p)},d(g){g&&(ji(f),ji(h))}}}function $d(I,p){let f,h,g,b,w;const r=[oI,sI],P=[];function z(U,V){return U[3].type==="ellipsis"?0:1}return h=z(p),g=P[h]=r[h](p),{key:I,first:null,c(){f=wt(),g.c(),b=wt(),this.h()},l(U){f=wt(),g.l(U),b=wt(),this.h()},h(){this.first=f},m(U,V){oe(U,f,V),P[h].m(U,V),oe(U,b,V),w=!0},p(U,V){p=U;let E=h;h=z(p),h===E?P[h].p(p,V):(Ka(),Di(P[E],1,1,()=>{P[E]=null}),Ja(),g=P[h],g?g.p(p,V):(g=P[h]=r[h](p),g.c()),Fi(g,1),g.m(b.parentNode,b))},i(U){w||(Fi(g),w=!0)},o(U){Di(g),w=!1},d(U){U&&(ji(f),ji(b)),P[h].d(U)}}}function pI(I){let p,f;return p=new $S({}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function uI(I){let p,f,h,g,b=[],w=new Map,r,P,z,U,V,E=I[5].start+1+"",_i,ti,hi=I[5].end+"",pi,Li;f=new wS({props:{$$slots:{default:[cI]},$$scope:{ctx:I}}});let Vi=Gl(I[4]);const Pi=Ui=>Ui[3].key;for(let Ui=0;Ui0&&Od(I);return{c(){h&&h.c(),p=wt()},l(g){h&&h.l(g),p=wt()},m(g,b){h&&h.m(g,b),oe(g,p,b),f=!0},p(g,[b]){g[0]>0?h?(h.p(g,b),b&1&&Fi(h,1)):(h=Od(g),h.c(),Fi(h,1),h.m(p.parentNode,p)):h&&(Ka(),Di(h,1,1,()=>{h=null}),Ja())},i(g){f||(Fi(h),f=!0)},o(g){Di(h),f=!1},d(g){g&&ji(p),h&&h.d(g)}}}function yI(I,p,f){let{page:h}=p,{count:g}=p,{perPage:b}=p,{onPageChange:w}=p;return I.$$set=r=>{"page"in r&&f(3,h=r.page),"count"in r&&f(0,g=r.count),"perPage"in r&&f(1,b=r.perPage),"onPageChange"in r&&f(2,w=r.onPageChange)},[g,b,w,h]}class Ud extends zt{constructor(p){super(),Et(this,p,yI,dI,vt,{page:3,count:0,perPage:1,onPageChange:2})}}function mI(I){let p=I[0].file+"",f;return{c(){f=Ne(p)},l(h){f=Ge(h,p)},m(h,g){oe(h,f,g)},p(h,g){g&1&&p!==(p=h[0].file+"")&&Nt(f,p)},d(h){h&&ji(f)}}}function hI(I){let p=I[0].title+"",f;return{c(){f=Ne(p)},l(h){f=Ge(h,p)},m(h,g){oe(h,f,g)},p(h,g){g&1&&p!==(p=h[0].title+"")&&Nt(f,p)},d(h){h&&ji(f)}}}function fI(I){var g;let p,f=(((g=I[0].type)==null?void 0:g._)||"N/A")+"",h;return{c(){p=ce("td"),h=Ne(f)},l(b){p=se(b,"TD",{});var w=Se(p);h=Ge(w,f),w.forEach(ji)},m(b,w){oe(b,p,w),Mi(p,h)},p(b,w){var r;w&1&&f!==(f=(((r=b[0].type)==null?void 0:r._)||"N/A")+"")&&Nt(h,f)},d(b){b&&ji(p)}}}function gI(I){var w;let p,f,h=((w=I[0].type)==null?void 0:w._)+"",g,b;return{c(){p=ce("td"),f=ce("a"),g=Ne(h),this.h()},l(r){p=se(r,"TD",{});var P=Se(p);f=se(P,"A",{href:!0});var z=Se(f);g=Ge(z,h),z.forEach(ji),P.forEach(ji),this.h()},h(){Je(f,"href",b=I[0].type.ref)},m(r,P){oe(r,p,P),Mi(p,f),Mi(f,g)},p(r,P){var z;P&1&&h!==(h=((z=r[0].type)==null?void 0:z._)+"")&&Nt(g,h),P&1&&b!==(b=r[0].type.ref)&&Je(f,"href",b)},d(r){r&&ji(p)}}}function SI(I){var we;let p,f,h,g,b,w,r,P,z,U,V,E,_i,ti,hi=I[0].status+"",pi,Li,Vi,Pi,Ui=(((we=I[0].textLang)==null?void 0:we._)||"N/A")+"",Ki,de;h=new Po({props:{id:I[0].file,$$slots:{default:[mI]},$$scope:{ctx:I}}}),w=new Po({props:{id:I[0].file,$$slots:{default:[hI]},$$scope:{ctx:I}}}),z=new hy({props:{inscription:I[0]}}),E=new fy({props:{inscription:I[0]}});function ue(Yi,ke){return Yi[0].type.ref?gI:fI}let dt=ue(I),Be=dt(I);return{c(){p=ce("tr"),f=ce("td"),Pe(h.$$.fragment),g=lt(),b=ce("td"),Pe(w.$$.fragment),r=lt(),P=ce("td"),Pe(z.$$.fragment),U=lt(),V=ce("td"),Pe(E.$$.fragment),_i=lt(),ti=ce("td"),pi=Ne(hi),Li=lt(),Be.c(),Vi=lt(),Pi=ce("td"),Ki=Ne(Ui)},l(Yi){p=se(Yi,"TR",{});var ke=Se(p);f=se(ke,"TD",{});var qe=Se(f);Me(h.$$.fragment,qe),qe.forEach(ji),g=ct(ke),b=se(ke,"TD",{});var He=Se(b);Me(w.$$.fragment,He),He.forEach(ji),r=ct(ke),P=se(ke,"TD",{});var Le=Se(P);Me(z.$$.fragment,Le),Le.forEach(ji),U=ct(ke),V=se(ke,"TD",{});var Gt=Se(V);Me(E.$$.fragment,Gt),Gt.forEach(ji),_i=ct(ke),ti=se(ke,"TD",{});var We=Se(ti);pi=Ge(We,hi),We.forEach(ji),Li=ct(ke),Be.l(ke),Vi=ct(ke),Pi=se(ke,"TD",{});var qi=Se(Pi);Ki=Ge(qi,Ui),qi.forEach(ji),ke.forEach(ji)},m(Yi,ke){oe(Yi,p,ke),Mi(p,f),ze(h,f,null),Mi(p,g),Mi(p,b),ze(w,b,null),Mi(p,r),Mi(p,P),ze(z,P,null),Mi(p,U),Mi(p,V),ze(E,V,null),Mi(p,_i),Mi(p,ti),Mi(ti,pi),Mi(p,Li),Be.m(p,null),Mi(p,Vi),Mi(p,Pi),Mi(Pi,Ki),de=!0},p(Yi,[ke]){var We;const qe={};ke&1&&(qe.id=Yi[0].file),ke&3&&(qe.$$scope={dirty:ke,ctx:Yi}),h.$set(qe);const He={};ke&1&&(He.id=Yi[0].file),ke&3&&(He.$$scope={dirty:ke,ctx:Yi}),w.$set(He);const Le={};ke&1&&(Le.inscription=Yi[0]),z.$set(Le);const Gt={};ke&1&&(Gt.inscription=Yi[0]),E.$set(Gt),(!de||ke&1)&&hi!==(hi=Yi[0].status+"")&&Nt(pi,hi),dt===(dt=ue(Yi))&&Be?Be.p(Yi,ke):(Be.d(1),Be=dt(Yi),Be&&(Be.c(),Be.m(p,Vi))),(!de||ke&1)&&Ui!==(Ui=(((We=Yi[0].textLang)==null?void 0:We._)||"N/A")+"")&&Nt(Ki,Ui)},i(Yi){de||(Fi(h.$$.fragment,Yi),Fi(w.$$.fragment,Yi),Fi(z.$$.fragment,Yi),Fi(E.$$.fragment,Yi),de=!0)},o(Yi){Di(h.$$.fragment,Yi),Di(w.$$.fragment,Yi),Di(z.$$.fragment,Yi),Di(E.$$.fragment,Yi),de=!1},d(Yi){Yi&&ji(p),Ee(h),Ee(w),Ee(z),Ee(E),Be.d()}}}function II(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class wI extends zt{constructor(p){super(),Et(this,p,II,SI,vt,{inscription:0})}}function Kd(I,p,f){const h=I.slice();return h[1]=p[f],h}function Jd(I){let p,f;return p=new wI({props:{inscription:I[1]}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&1&&(b.inscription=h[1]),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function kI(I){let p,f,h="ID Title Date Place Status Type Language",g,b,w=Gl(I[0]),r=[];for(let z=0;zDi(r[z],1,1,()=>{r[z]=null});return{c(){p=ce("table"),f=ce("thead"),f.innerHTML=h,g=lt();for(let z=0;z{"inscriptions"in g&&f(0,h=g.inscriptions)},[h]}class xI extends zt{constructor(p){super(),Et(this,p,_I,kI,vt,{inscriptions:0})}}const Zd=[{file:"ISic000001",metadataFile:"metadata/ISic000001.json",htmlFile:"html/ISic000001.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000001",title:"Funerary inscription of Zethus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"https://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:50,notAfter:300,geo:[37,14],facsimile:{url:"ISic000001_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Caltanissetta",type:"modern",ref:"http://sws.geonames.org/2525448"},placeName:"Caltanissetta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000001","funerary inscription of zethus","draft","50","300","caltanissetta","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000002",metadataFile:"metadata/ISic000002.json",htmlFile:"html/ISic000002.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000002",title:"Epitaph for Lurius Zosimus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:201,notAfter:300,geo:[37,15],facsimile:{url:"ISic000002_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Catina",type:"ancient",ref:"http://pleiades.stoa.org/places/462270"},placeName:"Catina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000002","epitaph for lurius zosimus","draft","201","300","catina","catania","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000003",metadataFile:"metadata/ISic000003.json",htmlFile:"html/ISic000003.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000003",title:"Epitaph for Culucuitas",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:[{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},""],notBefore:null,notAfter:null,geo:[37,15],facsimile:{url:"ISic000003_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana; courtesy Museo Archeologico Regionale Antonino Salinas; photo J.Prag 23.05.22"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Catina",type:"ancient",ref:"http://pleiades.stoa.org/places/462270"},placeName:"Catina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000003","epitaph for culucuitas","draft","catina","catania","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000004",metadataFile:"metadata/ISic000004.json",htmlFile:"html/ISic000004.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000004",title:"Inscription recording construction of a sphaeristrium by a father and son",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259"},notBefore:100,notAfter:150,geo:[37,14],facsimile:{url:"ISic000004_tiled.tif",desc:"Photo J.Prag, 2022-05-23, courtesy Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000004","inscription recording construction of a sphaeristrium by a father and son","draft","100","150","centuripae","centuripe","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000005",metadataFile:"metadata/ISic000005.json",htmlFile:"html/ISic000005.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000005",title:"Funerary inscription for Marcus Avianius Pistianus, Maria Eupraxia and Marius Eutychianus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:"",notBefore:1,notAfter:300,geo:[37,14],facsimile:{url:"ISic000005_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000005","funerary inscription for marcus avianius pistianus, maria eupraxia and marius eutychianus","draft","1","300","centuripae","centuripe","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000006",metadataFile:"metadata/ISic000006.json",htmlFile:"html/ISic000006.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000006",title:"Funerary inscription for Gaius Iulius Felix and Appuleia Rogata",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:1,notAfter:200,geo:[36,12],facsimile:{url:"ISic000006_tiled.tif",desc:"Photo J. Prag, courtesy Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Cossura",type:"ancient",ref:"http://pleiades.stoa.org/places/462168"},placeName:"Cossura",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000006","funerary inscription for gaius iulius felix and appuleia rogata","draft","1","200","cossura","pantelleria","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000007",metadataFile:"metadata/ISic000007.json",htmlFile:"html/ISic000007.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000007",title:"Construction of fortification works under Sextus Pompeius by L. Plinius Rufus",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:-39,notAfter:-36,geo:[37,12],facsimile:{url:"ISic000007_tiled.tif",desc:"Photo J. Prag with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Marsala",textLang:{_:"Latin",mainLang:"la"},place:{_:"Lilybaeum",type:"ancient",ref:"http://pleiades.stoa.org/places/462281"},placeName:"Lilybaeum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000007","construction of fortification works under sextus pompeius by l. plinius rufus","draft","-39","-36","lilybaeum","marsala","italy","sicily","marsala","museo archeologico regionale lilibeo marsala - baglio anselmi","latin","la"]},{file:"ISic000008",metadataFile:"metadata/ISic000008.json",htmlFile:"html/ISic000008.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000008",title:"Epitaph for Vibia Pothine",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"stele",ana:"#object.stele",ref:"http://www.eagle-network.eu/voc/objtyp/lod/250"},notBefore:1,notAfter:300,geo:[38,14],facsimile:{url:"ISic000008_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Lipara",type:"ancient",ref:"http://pleiades.stoa.org/places/462283"},placeName:"Lipara",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000008","epitaph for vibia pothine","draft","1","300","lipara","lipari","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000009",metadataFile:"metadata/ISic000009.json",htmlFile:"html/ISic000009.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000009",title:"Dedication by the quaestor propraetore L. Cornelius Marcellus",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:[{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},""],notBefore:50,notAfter:100,geo:[38,13],facsimile:{url:"ISic000009_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410",cert:"low"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000009","dedication by the quaestor propraetore l. cornelius marcellus","draft","50","100","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000010",metadataFile:"metadata/ISic000010.json",htmlFile:"html/ISic000010.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000010",title:"Dedication to Nemesis",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:1,notAfter:100,geo:[38,13],facsimile:{url:"ISic000010_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410",cert:"low"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000010","dedication to nemesis","draft","1","100","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000011",metadataFile:"metadata/ISic000011.json",htmlFile:"html/ISic000011.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000011",title:"I.Sicily inscription 000011",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:162,notAfter:163,geo:[38,13],facsimile:{url:"ISic000011_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000011","i.sicily inscription 000011","draft","162","163","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000012",metadataFile:"metadata/ISic000012.json",htmlFile:"html/ISic000012.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000012",title:"I.Sicily inscription 000012",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:195,notAfter:211,geo:[38,13],facsimile:{url:"ISic000012_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000012","i.sicily inscription 000012","draft","195","211","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000013",metadataFile:"metadata/ISic000013.json",htmlFile:"html/ISic000013.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000013",title:"I.Sicily inscription 000013",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:195,notAfter:196,geo:[38,13],facsimile:{url:"ISic000013_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000013","i.sicily inscription 000013","draft","195","196","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000014",metadataFile:"metadata/ISic000014.json",htmlFile:"html/ISic000014.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000014",title:"I.Sicily inscription 000014",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:195,notAfter:211,geo:[38,13],facsimile:{url:"ISic000014_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000014","i.sicily inscription 000014","draft","195","211","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000015",metadataFile:"metadata/ISic000015.json",htmlFile:"html/ISic000015.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000015",title:"Honours for Caracalla",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:196,notAfter:197,geo:[38,13],facsimile:{url:"ISic000015_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana; photo J. Prag 2017-07-21."},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000015","honours for caracalla","draft","196","197","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000016",metadataFile:"metadata/ISic000016.json",htmlFile:"html/ISic000016.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000016",title:"I.Sicily inscription 000016",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:198,notAfter:198,geo:[38,13],facsimile:{url:"ISic000016_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000016","i.sicily inscription 000016","draft","198","198","panhormus","palermo","italy","sicily","palermo",`museo + */const Ed={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};function qd(I,p,f){const h=I.slice();return h[11]=p[f][0],h[12]=p[f][1],h}function gp(I){let p,f=[I[12]],h={};for(let g=0;gti.filter((hi,pi,Bi)=>!!hi&&Bi.indexOf(hi)===pi).join(" ");return I.$$set=ti=>{f(8,p=Ne(Ne({},p),ea(ti))),f(7,g=vn(p,h)),"name"in ti&&f(0,r=ti.name),"color"in ti&&f(1,G=ti.color),"size"in ti&&f(2,z=ti.size),"strokeWidth"in ti&&f(3,U=ti.strokeWidth),"absoluteStrokeWidth"in ti&&f(4,V=ti.absoluteStrokeWidth),"iconNode"in ti&&f(5,E=ti.iconNode),"$$scope"in ti&&f(9,w=ti.$$scope)},p=ea(p),[r,G,z,U,V,E,xi,g,p,w,j]}class ms extends Ot{constructor(p){super(),$t(this,p,zS,MS,Rt,{name:0,color:1,size:2,strokeWidth:3,absoluteStrokeWidth:4,iconNode:5})}}function ES(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function qS(I){let p,f;const h=[{name:"chevron-left"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[ES]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}class VS extends Ot{constructor(p){super(),$t(this,p,HS,qS,Rt,{})}}function OS(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function $S(I){let p,f;const h=[{name:"chevron-right"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[OS]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}class KS extends Ot{constructor(p){super(),$t(this,p,US,$S,Rt,{})}}function JS(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function ZS(I){let p,f;const h=[{name:"layout-grid"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[JS]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}class _y extends Ot{constructor(p){super(),$t(this,p,WS,ZS,Rt,{})}}function XS(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function YS(I){let p,f;const h=[{name:"loader-circle"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[XS]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}class iI extends Ot{constructor(p){super(),$t(this,p,QS,YS,Rt,{})}}function eI(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function tI(I){let p,f;const h=[{name:"map"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[eI]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}let nI=class extends Ot{constructor(p){super(),$t(this,p,aI,tI,Rt,{})}};function lI(I){let p;const f=I[2].default,h=ka(f,I,I[3],null);return{c(){h&&h.c()},l(g){h&&h.l(g)},m(g,j){h&&h.m(g,j),p=!0},p(g,j){h&&h.p&&(!p||j&8)&&_a(h,f,g,g[3],p?ja(f,g[3],j,null):xa(g[3]),null)},i(g){p||(Ti(h,g),p=!0)},o(g){Gi(h,g),p=!1},d(g){h&&h.d(g)}}}function cI(I){let p,f;const h=[{name:"table"},I[1],{iconNode:I[0]}];let g={$$slots:{default:[lI]},$$scope:{ctx:I}};for(let j=0;j{f(1,p=Ne(Ne({},p),ea(w))),"$$scope"in w&&f(3,g=w.$$scope)},p=ea(p),[j,p,h,g]}class xy extends Ot{constructor(p){super(),$t(this,p,sI,cI,Rt,{})}}function Vd(I,p,f){const h=I.slice();return h[3]=p[f],h}function Od(I){let p,f;return p=new hS({props:{page:I[3],count:I[0],perPage:I[1],onPageChange:I[2],$$slots:{default:[yI,({pages:h,range:g})=>({4:h,5:g}),({pages:h,range:g})=>(h?16:0)|(g?32:0)]},$$scope:{ctx:I}}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&8&&(j.page=h[3]),g&1&&(j.count=h[0]),g&2&&(j.perPage=h[1]),g&4&&(j.onPageChange=h[2]),g&304&&(j.$$scope={dirty:g,ctx:h}),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function oI(I){let p,f;return p=new VS({}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function rI(I){let p,f;return p=new PS({props:{page:I[3],$$slots:{default:[uI]},$$scope:{ctx:I}}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&16&&(j.page=h[3]),g&272&&(j.$$scope={dirty:g,ctx:h}),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function pI(I){let p,f="...";return{c(){p=ne("span"),p.textContent=f},l(h){p=le(h,"SPAN",{"data-svelte-h":!0}),Gl(p)!=="svelte-9cz974"&&(p.textContent=f)},m(h,g){ce(h,p,g)},p:bn,i:bn,o:bn,d(h){h&&ki(p)}}}function uI(I){let p=I[3].value+"",f,h;return{c(){f=Le(p),h=st()},l(g){f=Be(g,p),h=ot(g)},m(g,j){ce(g,f,j),ce(g,h,j)},p(g,j){j&16&&p!==(p=g[3].value+"")&&Lt(f,p)},d(g){g&&(ki(f),ki(h))}}}function $d(I,p){let f,h,g,j,w;const r=[pI,rI],G=[];function z(U,V){return U[3].type==="ellipsis"?0:1}return h=z(p),g=G[h]=r[h](p),{key:I,first:null,c(){f=At(),g.c(),j=At(),this.h()},l(U){f=At(),g.l(U),j=At(),this.h()},h(){this.first=f},m(U,V){ce(U,f,V),G[h].m(U,V),ce(U,j,V),w=!0},p(U,V){p=U;let E=h;h=z(p),h===E?G[h].p(p,V):(Za(),Gi(G[E],1,1,()=>{G[E]=null}),Wa(),g=G[h],g?g.p(p,V):(g=G[h]=r[h](p),g.c()),Ti(g,1),g.m(j.parentNode,j))},i(U){w||(Ti(g),w=!0)},o(U){Gi(g),w=!1},d(U){U&&(ki(f),ki(j)),G[h].d(U)}}}function dI(I){let p,f;return p=new KS({}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function yI(I){let p,f,h,g,j=[],w=new Map,r,G,z,U,V,E=I[5].start+1+"",xi,ti,hi=I[5].end+"",pi,Bi;f=new _S({props:{$$slots:{default:[oI]},$$scope:{ctx:I}}});let zi=Pl(I[4]);const Ei=$i=>$i[3].key;for(let $i=0;$i0&&Od(I);return{c(){h&&h.c(),p=At()},l(g){h&&h.l(g),p=At()},m(g,j){h&&h.m(g,j),ce(g,p,j),f=!0},p(g,[j]){g[0]>0?h?(h.p(g,j),j&1&&Ti(h,1)):(h=Od(g),h.c(),Ti(h,1),h.m(p.parentNode,p)):h&&(Za(),Gi(h,1,1,()=>{h=null}),Wa())},i(g){f||(Ti(h),f=!0)},o(g){Gi(h),f=!1},d(g){g&&ki(p),h&&h.d(g)}}}function hI(I,p,f){let{page:h}=p,{count:g}=p,{perPage:j}=p,{onPageChange:w}=p;return I.$$set=r=>{"page"in r&&f(3,h=r.page),"count"in r&&f(0,g=r.count),"perPage"in r&&f(1,j=r.perPage),"onPageChange"in r&&f(2,w=r.onPageChange)},[g,j,w,h]}class Ud extends Ot{constructor(p){super(),$t(this,p,hI,mI,Rt,{page:3,count:0,perPage:1,onPageChange:2})}}function fI(I){let p=I[0].file+"",f;return{c(){f=Le(p)},l(h){f=Be(h,p)},m(h,g){ce(h,f,g)},p(h,g){g&1&&p!==(p=h[0].file+"")&&Lt(f,p)},d(h){h&&ki(f)}}}function gI(I){let p=I[0].title+"",f;return{c(){f=Le(p)},l(h){f=Be(h,p)},m(h,g){ce(h,f,g)},p(h,g){g&1&&p!==(p=h[0].title+"")&&Lt(f,p)},d(h){h&&ki(f)}}}function SI(I){var h;let p=(((h=I[0].type)==null?void 0:h._)||"N/A")+"",f;return{c(){f=Le(p)},l(g){f=Be(g,p)},m(g,j){ce(g,f,j)},p(g,j){var w;j&1&&p!==(p=(((w=g[0].type)==null?void 0:w._)||"N/A")+"")&&Lt(f,p)},d(g){g&&ki(f)}}}function II(I){var j;let p,f=((j=I[0].type)==null?void 0:j._)+"",h,g;return{c(){p=ne("a"),h=Le(f),this.h()},l(w){p=le(w,"A",{href:!0});var r=ye(p);h=Be(r,f),r.forEach(ki),this.h()},h(){De(p,"href",g=I[0].type.ref)},m(w,r){ce(w,p,r),Di(p,h)},p(w,r){var G;r&1&&f!==(f=((G=w[0].type)==null?void 0:G._)+"")&&Lt(h,f),r&1&&g!==(g=w[0].type.ref)&&De(p,"href",g)},d(w){w&&ki(p)}}}function wI(I){var h;let p=(((h=I[0].objectType)==null?void 0:h._)||"N/A")+"",f;return{c(){f=Le(p)},l(g){f=Be(g,p)},m(g,j){ce(g,f,j)},p(g,j){var w;j&1&&p!==(p=(((w=g[0].objectType)==null?void 0:w._)||"N/A")+"")&&Lt(f,p)},d(g){g&&ki(f)}}}function kI(I){var j;let p,f=((j=I[0].objectType)==null?void 0:j._)+"",h,g;return{c(){p=ne("a"),h=Le(f),this.h()},l(w){p=le(w,"A",{href:!0});var r=ye(p);h=Be(r,f),r.forEach(ki),this.h()},h(){De(p,"href",g=I[0].objectType.ref)},m(w,r){ce(w,p,r),Di(p,h)},p(w,r){var G;r&1&&f!==(f=((G=w[0].objectType)==null?void 0:G._)+"")&&Lt(h,f),r&1&&g!==(g=w[0].objectType.ref)&&De(p,"href",g)},d(w){w&&ki(p)}}}function _I(I){var Pt;let p,f,h,g,j,w,r,G,z,U,V,E,xi,ti,hi=I[0].status+"",pi,Bi,zi,Ei,$i,Ji,me,pe=(((Pt=I[0].textLang)==null?void 0:Pt._)||"N/A")+"",St,qe;h=new Po({props:{id:I[0].file,$$slots:{default:[fI]},$$scope:{ctx:I}}}),w=new Po({props:{id:I[0].file,$$slots:{default:[gI]},$$scope:{ctx:I}}}),z=new hy({props:{inscription:I[0]}}),E=new fy({props:{inscription:I[0]}});function Ie(Ki,Ai){return Ki[0].type.ref?II:SI}let we=Ie(I),yt=we(I);function Ze(Ki,Ai){var it;return(it=Ki[0].objectType)!=null&&it.ref?kI:wI}let We=Ze(I),Ye=We(I);return{c(){p=ne("tr"),f=ne("td"),Ge(h.$$.fragment),g=st(),j=ne("td"),Ge(w.$$.fragment),r=st(),G=ne("td"),Ge(z.$$.fragment),U=st(),V=ne("td"),Ge(E.$$.fragment),xi=st(),ti=ne("td"),pi=Le(hi),Bi=st(),zi=ne("td"),yt.c(),Ei=st(),$i=ne("td"),Ye.c(),Ji=st(),me=ne("td"),St=Le(pe)},l(Ki){p=le(Ki,"TR",{});var Ai=ye(p);f=le(Ai,"TD",{});var it=ye(f);Pe(h.$$.fragment,it),it.forEach(ki),g=ot(Ai),j=le(Ai,"TD",{});var Ee=ye(j);Pe(w.$$.fragment,Ee),Ee.forEach(ki),r=ot(Ai),G=le(Ai,"TD",{});var Oe=ye(G);Pe(z.$$.fragment,Oe),Oe.forEach(ki),U=ot(Ai),V=le(Ai,"TD",{});var $e=ye(V);Pe(E.$$.fragment,$e),$e.forEach(ki),xi=ot(Ai),ti=le(Ai,"TD",{});var at=ye(ti);pi=Be(at,hi),at.forEach(ki),Bi=ot(Ai),zi=le(Ai,"TD",{});var ta=ye(zi);yt.l(ta),ta.forEach(ki),Ei=ot(Ai),$i=le(Ai,"TD",{});var oe=ye($i);Ye.l(oe),oe.forEach(ki),Ji=ot(Ai),me=le(Ai,"TD",{});var ke=ye(me);St=Be(ke,pe),ke.forEach(ki),Ai.forEach(ki)},m(Ki,Ai){ce(Ki,p,Ai),Di(p,f),Me(h,f,null),Di(p,g),Di(p,j),Me(w,j,null),Di(p,r),Di(p,G),Me(z,G,null),Di(p,U),Di(p,V),Me(E,V,null),Di(p,xi),Di(p,ti),Di(ti,pi),Di(p,Bi),Di(p,zi),yt.m(zi,null),Di(p,Ei),Di(p,$i),Ye.m($i,null),Di(p,Ji),Di(p,me),Di(me,St),qe=!0},p(Ki,[Ai]){var at;const it={};Ai&1&&(it.id=Ki[0].file),Ai&3&&(it.$$scope={dirty:Ai,ctx:Ki}),h.$set(it);const Ee={};Ai&1&&(Ee.id=Ki[0].file),Ai&3&&(Ee.$$scope={dirty:Ai,ctx:Ki}),w.$set(Ee);const Oe={};Ai&1&&(Oe.inscription=Ki[0]),z.$set(Oe);const $e={};Ai&1&&($e.inscription=Ki[0]),E.$set($e),(!qe||Ai&1)&&hi!==(hi=Ki[0].status+"")&&Lt(pi,hi),we===(we=Ie(Ki))&&yt?yt.p(Ki,Ai):(yt.d(1),yt=we(Ki),yt&&(yt.c(),yt.m(zi,null))),We===(We=Ze(Ki))&&Ye?Ye.p(Ki,Ai):(Ye.d(1),Ye=We(Ki),Ye&&(Ye.c(),Ye.m($i,null))),(!qe||Ai&1)&&pe!==(pe=(((at=Ki[0].textLang)==null?void 0:at._)||"N/A")+"")&&Lt(St,pe)},i(Ki){qe||(Ti(h.$$.fragment,Ki),Ti(w.$$.fragment,Ki),Ti(z.$$.fragment,Ki),Ti(E.$$.fragment,Ki),qe=!0)},o(Ki){Gi(h.$$.fragment,Ki),Gi(w.$$.fragment,Ki),Gi(z.$$.fragment,Ki),Gi(E.$$.fragment,Ki),qe=!1},d(Ki){Ki&&ki(p),ze(h),ze(w),ze(z),ze(E),yt.d(),Ye.d()}}}function xI(I,p,f){let{inscription:h}=p;return I.$$set=g=>{"inscription"in g&&f(0,h=g.inscription)},[h]}class jI extends Ot{constructor(p){super(),$t(this,p,xI,_I,Rt,{inscription:0})}}function Kd(I,p,f){const h=I.slice();return h[1]=p[f],h}function Jd(I){let p,f;return p=new jI({props:{inscription:I[1]}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&1&&(j.inscription=h[1]),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function bI(I){let p,f,h="ID Title Date Place Status Type Object type Language",g,j,w=Pl(I[0]),r=[];for(let z=0;zGi(r[z],1,1,()=>{r[z]=null});return{c(){p=ne("table"),f=ne("thead"),f.innerHTML=h,g=st();for(let z=0;z{"inscriptions"in g&&f(0,h=g.inscriptions)},[h]}class AI extends Ot{constructor(p){super(),$t(this,p,vI,bI,Rt,{inscriptions:0})}}const Zd=[{file:"ISic000001",metadataFile:"metadata/ISic000001.json",htmlFile:"html/ISic000001.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000001",title:"Funerary inscription of Zethus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"https://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:50,notAfter:300,geo:[37,14],facsimile:{url:"ISic000001_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Caltanissetta",type:"modern",ref:"http://sws.geonames.org/2525448"},placeName:"Caltanissetta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000001","funerary inscription of zethus","draft","50","300","caltanissetta","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000002",metadataFile:"metadata/ISic000002.json",htmlFile:"html/ISic000002.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000002",title:"Epitaph for Lurius Zosimus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:201,notAfter:300,geo:[37,15],facsimile:{url:"ISic000002_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Catina",type:"ancient",ref:"http://pleiades.stoa.org/places/462270"},placeName:"Catina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000002","epitaph for lurius zosimus","draft","201","300","catina","catania","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000003",metadataFile:"metadata/ISic000003.json",htmlFile:"html/ISic000003.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000003",title:"Epitaph for Culucuitas",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:[{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},""],notBefore:null,notAfter:null,geo:[37,15],facsimile:{url:"ISic000003_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana; courtesy Museo Archeologico Regionale Antonino Salinas; photo J.Prag 23.05.22"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Catina",type:"ancient",ref:"http://pleiades.stoa.org/places/462270"},placeName:"Catina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000003","epitaph for culucuitas","draft","catina","catania","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000004",metadataFile:"metadata/ISic000004.json",htmlFile:"html/ISic000004.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000004",title:"Inscription recording construction of a sphaeristrium by a father and son",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259"},notBefore:100,notAfter:150,geo:[37,14],facsimile:{url:"ISic000004_tiled.tif",desc:"Photo J.Prag, 2022-05-23, courtesy Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000004","inscription recording construction of a sphaeristrium by a father and son","draft","100","150","centuripae","centuripe","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000005",metadataFile:"metadata/ISic000005.json",htmlFile:"html/ISic000005.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000005",title:"Funerary inscription for Marcus Avianius Pistianus, Maria Eupraxia and Marius Eutychianus",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:"",notBefore:1,notAfter:300,geo:[37,14],facsimile:{url:"ISic000005_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000005","funerary inscription for marcus avianius pistianus, maria eupraxia and marius eutychianus","draft","1","300","centuripae","centuripe","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000006",metadataFile:"metadata/ISic000006.json",htmlFile:"html/ISic000006.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000006",title:"Funerary inscription for Gaius Iulius Felix and Appuleia Rogata",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:1,notAfter:200,geo:[36,12],facsimile:{url:"ISic000006_tiled.tif",desc:"Photo J. Prag, courtesy Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Cossura",type:"ancient",ref:"http://pleiades.stoa.org/places/462168"},placeName:"Cossura",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000006","funerary inscription for gaius iulius felix and appuleia rogata","draft","1","200","cossura","pantelleria","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000007",metadataFile:"metadata/ISic000007.json",htmlFile:"html/ISic000007.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000007",title:"Construction of fortification works under Sextus Pompeius by L. Plinius Rufus",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:-39,notAfter:-36,geo:[37,12],facsimile:{url:"ISic000007_tiled.tif",desc:"Photo J. Prag with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Marsala",textLang:{_:"Latin",mainLang:"la"},place:{_:"Lilybaeum",type:"ancient",ref:"http://pleiades.stoa.org/places/462281"},placeName:"Lilybaeum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000007","construction of fortification works under sextus pompeius by l. plinius rufus","draft","-39","-36","lilybaeum","marsala","italy","sicily","marsala","museo archeologico regionale lilibeo marsala - baglio anselmi","latin","la"]},{file:"ISic000008",metadataFile:"metadata/ISic000008.json",htmlFile:"html/ISic000008.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000008",title:"Epitaph for Vibia Pothine",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"stele",ana:"#object.stele",ref:"http://www.eagle-network.eu/voc/objtyp/lod/250"},notBefore:1,notAfter:300,geo:[38,14],facsimile:{url:"ISic000008_tiled.tif",desc:"Photo Museo Archeologico Regionale Antonino Salinas"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Lipara",type:"ancient",ref:"http://pleiades.stoa.org/places/462283"},placeName:"Lipara",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000008","epitaph for vibia pothine","draft","1","300","lipara","lipari","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000009",metadataFile:"metadata/ISic000009.json",htmlFile:"html/ISic000009.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000009",title:"Dedication by the quaestor propraetore L. Cornelius Marcellus",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:[{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},""],notBefore:50,notAfter:100,geo:[38,13],facsimile:{url:"ISic000009_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410",cert:"low"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000009","dedication by the quaestor propraetore l. cornelius marcellus","draft","50","100","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000010",metadataFile:"metadata/ISic000010.json",htmlFile:"html/ISic000010.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000010",title:"Dedication to Nemesis",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:1,notAfter:100,geo:[38,13],facsimile:{url:"ISic000010_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410",cert:"low"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000010","dedication to nemesis","draft","1","100","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000011",metadataFile:"metadata/ISic000011.json",htmlFile:"html/ISic000011.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000011",title:"I.Sicily inscription 000011",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:162,notAfter:163,geo:[38,13],facsimile:{url:"ISic000011_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000011","i.sicily inscription 000011","draft","162","163","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000012",metadataFile:"metadata/ISic000012.json",htmlFile:"html/ISic000012.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000012",title:"I.Sicily inscription 000012",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:195,notAfter:211,geo:[38,13],facsimile:{url:"ISic000012_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000012","i.sicily inscription 000012","draft","195","211","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000013",metadataFile:"metadata/ISic000013.json",htmlFile:"html/ISic000013.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000013",title:"I.Sicily inscription 000013",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"plaque",ana:"#object.plaque",ref:"http://www.eagle-network.eu/voc/objtyp/lod/259.html"},notBefore:195,notAfter:196,geo:[38,13],facsimile:{url:"ISic000013_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000013","i.sicily inscription 000013","draft","195","196","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000014",metadataFile:"metadata/ISic000014.json",htmlFile:"html/ISic000014.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000014",title:"I.Sicily inscription 000014",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:195,notAfter:211,geo:[38,13],facsimile:{url:"ISic000014_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000014","i.sicily inscription 000014","draft","195","211","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000015",metadataFile:"metadata/ISic000015.json",htmlFile:"html/ISic000015.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000015",title:"Honours for Caracalla",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:196,notAfter:197,geo:[38,13],facsimile:{url:"ISic000015_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana; photo J. Prag 2017-07-21."},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000015","honours for caracalla","draft","196","197","panhormus","palermo","italy","sicily","palermo","museo archeologico regionale antonino salinas","latin","la"]},{file:"ISic000016",metadataFile:"metadata/ISic000016.json",htmlFile:"html/ISic000016.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000016",title:"I.Sicily inscription 000016",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:198,notAfter:198,geo:[38,13],facsimile:{url:"ISic000016_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000016","i.sicily inscription 000016","draft","198","198","panhormus","palermo","italy","sicily","palermo",`museo archeologico regionale antonino salinas`,"latin","la"]},{file:"ISic000017",metadataFile:"metadata/ISic000017.json",htmlFile:"html/ISic000017.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000017",title:"I.Sicily inscription 000017",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:198,notAfter:199,geo:[38,13],facsimile:{url:"ISic000017_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000017","i.sicily inscription 000017","draft","198","199","panhormus","palermo","italy","sicily","palermo",`museo archeologico regionale antonino salinas`,"latin","la"]},{file:"ISic000018",metadataFile:"metadata/ISic000018.json",htmlFile:"html/ISic000018.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000018",title:"I.Sicily inscription 000018",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:{_:"base",ana:"#object.base",ref:"http://www.eagle-network.eu/voc/objtyp/lod/57.html"},notBefore:null,notAfter:null,geo:[38,13],facsimile:{url:"ISic000018_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000018","i.sicily inscription 000018","draft","panhormus","palermo","italy","sicily","palermo",`museo archeologico regionale antonino salinas`,"latin","la"]},{file:"ISic000019",metadataFile:"metadata/ISic000019.json",htmlFile:"html/ISic000019.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic000019",title:"I.Sicily inscription 000019",status:"draft",type:{_:"honorific",ana:"#function.honorific",ref:"http://www.eagle-network.eu/voc/typeins/lod/69.html"},objectType:"",notBefore:218,notAfter:222,geo:[38,13],facsimile:{url:"ISic000019_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Latin",mainLang:"la"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic000019","i.sicily inscription 000019","draft","218","222","panhormus","palermo","italy","sicily","palermo",`museo archeologico @@ -1354,14 +1354,14 @@ uniform ${F} ${C} u_${G}; `,ana:"#object.vessel.lekythos",cert:"low",ref:"http://kerameikos.org/id/lekythos",certainty:{locus:"value",match:"../@key",assertedValue:"kylix",target:"http://kerameikos.org/id/kylix",desc:"kylix"}},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020294_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020294","isic020294","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020295",metadataFile:"metadata/ISic020295.json",htmlFile:"html/ISic020295.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020295",title:"ISic020295",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020295_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020295","isic020295","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020296",metadataFile:"metadata/ISic020296.json",htmlFile:"html/ISic020296.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020296",title:"ISic020296",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020296_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020296","isic020296","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020297",metadataFile:"metadata/ISic020297.json",htmlFile:"html/ISic020297.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020297",title:"ISic020297",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020297_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020297","isic020297","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020298",metadataFile:"metadata/ISic020298.json",htmlFile:"html/ISic020298.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020298",title:"ISic020298",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020298_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020298","isic020298","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020299",metadataFile:"metadata/ISic020299.json",htmlFile:"html/ISic020299.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020299",title:"ISic020299",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020299_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020299","isic020299","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020300",metadataFile:"metadata/ISic020300.json",htmlFile:"html/ISic020300.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020300",title:"ISic020300",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamp",ana:"#object.vessel.lamp",ref:"http://kerameikos.org/id/???"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020300_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020300","isic020300","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020301",metadataFile:"metadata/ISic020301.json",htmlFile:"html/ISic020301.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020301",title:"ISic020301",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020301_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020301","isic020301","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020302",metadataFile:"metadata/ISic020302.json",htmlFile:"html/ISic020302.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020302",title:"ISic020302",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020302_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020302","isic020302","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020303",metadataFile:"metadata/ISic020303.json",htmlFile:"html/ISic020303.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020303",title:"ISic020303",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020303_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020303","isic020303","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020304",metadataFile:"metadata/ISic020304.json",htmlFile:"html/ISic020304.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020304",title:"ISic020304",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020304_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020304","isic020304","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020305",metadataFile:"metadata/ISic020305.json",htmlFile:"html/ISic020305.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020305",title:"ISic020305",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020305_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020305","isic020305","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020306",metadataFile:"metadata/ISic020306.json",htmlFile:"html/ISic020306.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020306",title:"ISic020306",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020306_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020306","isic020306","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020307",metadataFile:"metadata/ISic020307.json",htmlFile:"html/ISic020307.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020307",title:"ISic020307",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020307_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020307","isic020307","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020308",metadataFile:"metadata/ISic020308.json",htmlFile:"html/ISic020308.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020308",title:"ISic020308",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020308_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020308","isic020308","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020309",metadataFile:"metadata/ISic020309.json",htmlFile:"html/ISic020309.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020309",title:"ISic020309",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020309_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020309","isic020309","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020310",metadataFile:"metadata/ISic020310.json",htmlFile:"html/ISic020310.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020310",title:"ISic020310",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:`lekythos `,ana:"#object.vessel.lekythos",cert:"low",ref:"http://kerameikos.org/id/lekythos",certainty:{locus:"value",match:"../@key",assertedValue:"kylix",target:"http://kerameikos.org/id/kylix",desc:"kylix"}},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020310_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020310","isic020310","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020311",metadataFile:"metadata/ISic020311.json",htmlFile:"html/ISic020311.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020311",title:"ISic020311",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020311_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020311","isic020311","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020312",metadataFile:"metadata/ISic020312.json",htmlFile:"html/ISic020312.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020312",title:"ISic020312",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020312_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020312","isic020312","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020313",metadataFile:"metadata/ISic020313.json",htmlFile:"html/ISic020313.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020313",title:"ISic020313",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020313_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020313","isic020313","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020314",metadataFile:"metadata/ISic020314.json",htmlFile:"html/ISic020314.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020314",title:"ISic020314",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020314_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020314","isic020314","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020315",metadataFile:"metadata/ISic020315.json",htmlFile:"html/ISic020315.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020315",title:"ISic020315",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020315_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020315","isic020315","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020316",metadataFile:"metadata/ISic020316.json",htmlFile:"html/ISic020316.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020316",title:"ISic020316",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020316_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020316","isic020316","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020317",metadataFile:"metadata/ISic020317.json",htmlFile:"html/ISic020317.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020317",title:"ISic020317",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020317_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020317","isic020317","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020318",metadataFile:"metadata/ISic020318.json",htmlFile:"html/ISic020318.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020318",title:"ISic020318",status:"draft",type:{_:"dedication",key:"dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/79.html",cert:"low"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",cert:"low",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020318_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020318","isic020318","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020319",metadataFile:"metadata/ISic020319.json",htmlFile:"html/ISic020319.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020319",title:"ISic020319",status:"draft",type:{_:"dedication",key:"dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/79.html",cert:"low"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,facsimile:{url:"ISic020319_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Montelepre",type:"modern",ref:"http://sws.geonames.org/2524070",offset:"near"},placeName:"Montelepre",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020319","isic020319","draft","-500","-480","montelepre","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020320",metadataFile:"metadata/ISic020320.json",htmlFile:"html/ISic020320.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020320",title:"ISic020320",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020320_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020320","isic020320","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020321",metadataFile:"metadata/ISic020321.json",htmlFile:"html/ISic020321.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020321",title:"ISic020321",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020321_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020321","isic020321","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020322",metadataFile:"metadata/ISic020322.json",htmlFile:"html/ISic020322.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020322",title:"ISic020322",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020322_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020322","isic020322","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020323",metadataFile:"metadata/ISic020323.json",htmlFile:"html/ISic020323.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020323",title:"ISic020323",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020323_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020323","isic020323","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020324",metadataFile:"metadata/ISic020324.json",htmlFile:"html/ISic020324.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020324",title:"ISic020324",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020324_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020324","isic020324","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020325",metadataFile:"metadata/ISic020325.json",htmlFile:"html/ISic020325.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020325",title:"ISic020325",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020325_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020325","isic020325","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020326",metadataFile:"metadata/ISic020326.json",htmlFile:"html/ISic020326.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020326",title:"ISic020326",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020326_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020326","isic020326","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020327",metadataFile:"metadata/ISic020327.json",htmlFile:"html/ISic020327.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020327",title:"ISic020327",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020327_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020327","isic020327","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020328",metadataFile:"metadata/ISic020328.json",htmlFile:"html/ISic020328.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020328",title:"ISic020328",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vase of local manufacture",ana:"#object.vessel.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020328_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020328","isic020328","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020329",metadataFile:"metadata/ISic020329.json",htmlFile:"html/ISic020329.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020329",title:"ISic020329",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020329_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020329","isic020329","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020330",metadataFile:"metadata/ISic020330.json",htmlFile:"html/ISic020330.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020330",title:"ISic020330",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020330_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020330","isic020330","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020331",metadataFile:"metadata/ISic020331.json",htmlFile:"html/ISic020331.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020331",title:"ISic020331",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020331_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020331","isic020331","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020332",metadataFile:"metadata/ISic020332.json",htmlFile:"html/ISic020332.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020332",title:"ISic020332",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020332_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020332","isic020332","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020333",metadataFile:"metadata/ISic020333.json",htmlFile:"html/ISic020333.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020333",title:"ISic020333",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix (?)",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020333_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020333","isic020333","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020334",metadataFile:"metadata/ISic020334.json",htmlFile:"html/ISic020334.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020334",title:"ISic020334",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"ostrakon",ana:"#object.ostrakon",cert:"low",ref:"https://www.eagle-network.eu/voc/objtyp/lod/124.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020334_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020334","isic020334","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020335",metadataFile:"metadata/ISic020335.json",htmlFile:"html/ISic020335.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020335",title:"ISic020335",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020335_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020335","isic020335","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020336",metadataFile:"metadata/ISic020336.json",htmlFile:"html/ISic020336.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020336",title:"ISic020336",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020336_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020336","isic020336","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020337",metadataFile:"metadata/ISic020337.json",htmlFile:"html/ISic020337.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020337",title:"ISic020337",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020337_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020337","isic020337","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020338",metadataFile:"metadata/ISic020338.json",htmlFile:"html/ISic020338.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020338",title:"ISic020338",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020338_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020338","isic020338","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020339",metadataFile:"metadata/ISic020339.json",htmlFile:"html/ISic020339.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020339",title:"ISic020339",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020339_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020339","isic020339","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020340",metadataFile:"metadata/ISic020340.json",htmlFile:"html/ISic020340.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020340",title:"ISic020340",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020340_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020340","isic020340","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020341",metadataFile:"metadata/ISic020341.json",htmlFile:"html/ISic020341.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020341",title:"ISic020341",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020341_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020341","isic020341","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020342",metadataFile:"metadata/ISic020342.json",htmlFile:"html/ISic020342.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020342",title:"ISic020342",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020342_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020342","isic020342","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020343",metadataFile:"metadata/ISic020343.json",htmlFile:"html/ISic020343.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020343",title:"ISic020343",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020343_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020343","isic020343","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020344",metadataFile:"metadata/ISic020344.json",htmlFile:"html/ISic020344.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020344",title:"ISic020344",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020344_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020344","isic020344","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020345",metadataFile:"metadata/ISic020345.json",htmlFile:"html/ISic020345.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020345",title:"ISic020345",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020345_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020345","isic020345","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020346",metadataFile:"metadata/ISic020346.json",htmlFile:"html/ISic020346.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020346",title:"ISic020346",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020346_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020346","isic020346","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020347",metadataFile:"metadata/ISic020347.json",htmlFile:"html/ISic020347.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020347",title:"ISic020347",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020347_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020347","isic020347","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020348",metadataFile:"metadata/ISic020348.json",htmlFile:"html/ISic020348.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020348",title:"ISic020348",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup (?)",ana:"#object.vessel.cup",cert:"low",ref:"https://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020348_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020348","isic020348","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020349",metadataFile:"metadata/ISic020349.json",htmlFile:"html/ISic020349.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020349",title:"ISic020349",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020349_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020349","isic020349","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020350",metadataFile:"metadata/ISic020350.json",htmlFile:"html/ISic020350.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020350",title:"ISic020350",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020350_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020350","isic020350","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020351",metadataFile:"metadata/ISic020351.json",htmlFile:"html/ISic020351.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020351",title:"ISic020351",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020351_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020351","isic020351","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020352",metadataFile:"metadata/ISic020352.json",htmlFile:"html/ISic020352.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020352",title:"ISic020352",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020352_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020352","isic020352","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020353",metadataFile:"metadata/ISic020353.json",htmlFile:"html/ISic020353.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020353",title:"ISic020353",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020353_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020353","isic020353","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020354",metadataFile:"metadata/ISic020354.json",htmlFile:"html/ISic020354.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020354",title:"ISic020354",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020354_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020354","isic020354","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020355",metadataFile:"metadata/ISic020355.json",htmlFile:"html/ISic020355.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020355",title:"ISic020355",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020355_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020355","isic020355","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020356",metadataFile:"metadata/ISic020356.json",htmlFile:"html/ISic020356.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020356",title:"ISic020356",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020356_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020356","isic020356","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020357",metadataFile:"metadata/ISic020357.json",htmlFile:"html/ISic020357.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020357",title:"ISic020357",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"bowl",ana:"#object.vessel.bowl",ref:"http://kerameikos.org/id/bowl"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020357_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020357","isic020357","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020358",metadataFile:"metadata/ISic020358.json",htmlFile:"html/ISic020358.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020358",title:"ISic020358",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020358_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020358","isic020358","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020359",metadataFile:"metadata/ISic020359.json",htmlFile:"html/ISic020359.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020359",title:"ISic020359",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020359_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020359","isic020359","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020360",metadataFile:"metadata/ISic020360.json",htmlFile:"html/ISic020360.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020360",title:"ISic020360",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020360_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020360","isic020360","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020361",metadataFile:"metadata/ISic020361.json",htmlFile:"html/ISic020361.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020361",title:"ISic020361",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020361_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020361","isic020361","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020362",metadataFile:"metadata/ISic020362.json",htmlFile:"html/ISic020362.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020362",title:"ISic020362",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020362_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020362","isic020362","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020363",metadataFile:"metadata/ISic020363.json",htmlFile:"html/ISic020363.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020363",title:"ISic020363",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020363_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020363","isic020363","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020364",metadataFile:"metadata/ISic020364.json",htmlFile:"html/ISic020364.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020364",title:"ISic020364",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020364_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020364","isic020364","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020365",metadataFile:"metadata/ISic020365.json",htmlFile:"html/ISic020365.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020365",title:"ISic020365",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020365_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020365","isic020365","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020366",metadataFile:"metadata/ISic020366.json",htmlFile:"html/ISic020366.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020366",title:"ISic020366",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020366_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020366","isic020366","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020367",metadataFile:"metadata/ISic020367.json",htmlFile:"html/ISic020367.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020367",title:"ISic020367",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020367_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020367","isic020367","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020368",metadataFile:"metadata/ISic020368.json",htmlFile:"html/ISic020368.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020368",title:"ISic020368",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020368_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020368","isic020368","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020369",metadataFile:"metadata/ISic020369.json",htmlFile:"html/ISic020369.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020369",title:"ISic020369",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020369_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020369","isic020369","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020370",metadataFile:"metadata/ISic020370.json",htmlFile:"html/ISic020370.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020370",title:"ISic020370",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020370_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020370","isic020370","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020371",metadataFile:"metadata/ISic020371.json",htmlFile:"html/ISic020371.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020371",title:"ISic020371",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020371_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020371","isic020371","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020372",metadataFile:"metadata/ISic020372.json",htmlFile:"html/ISic020372.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020372",title:"ISic020372",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-570,notAfter:-540,geo:[37,12],facsimile:{url:"ISic020372_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020372","isic020372","draft","-570","-540","segesta","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020373",metadataFile:"metadata/ISic020373.json",htmlFile:"html/ISic020373.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020373",title:"ISic020373",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020373_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020373","isic020373","draft","-500","-480","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020374",metadataFile:"metadata/ISic020374.json",htmlFile:"html/ISic020374.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020374",title:"ISic020374",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020374_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020374","isic020374","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020375",metadataFile:"metadata/ISic020375.json",htmlFile:"html/ISic020375.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020375",title:"ISic020375",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"oil lamp (?)",ana:"#object.oil_lamp",cert:"low",ref:"https://www.eagle-network.eu/voc/objtyp/lod/152"},notBefore:-525,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020375_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020375","isic020375","draft","-525","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020376",metadataFile:"metadata/ISic020376.json",htmlFile:"html/ISic020376.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020376",title:"ISic020376",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020376_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020376","isic020376","draft","-500","-400","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020377",metadataFile:"metadata/ISic020377.json",htmlFile:"html/ISic020377.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020377",title:"ISic020377",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020377_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020377","isic020377","draft","-500","-400","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020378",metadataFile:"metadata/ISic020378.json",htmlFile:"html/ISic020378.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020378",title:"ISic020378",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020378_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020378","isic020378","draft","-500","-400","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020379",metadataFile:"metadata/ISic020379.json",htmlFile:"html/ISic020379.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020379",title:"ISic020379",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020379_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020379","isic020379","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020380",metadataFile:"metadata/ISic020380.json",htmlFile:"html/ISic020380.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020380",title:"ISic020380",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix (?)",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020380_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020380","isic020380","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020381",metadataFile:"metadata/ISic020381.json",htmlFile:"html/ISic020381.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020381",title:"ISic020381",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020381_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020381","isic020381","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020382",metadataFile:"metadata/ISic020382.json",htmlFile:"html/ISic020382.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020382",title:"ISic020382",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020382_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020382","isic020382","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020383",metadataFile:"metadata/ISic020383.json",htmlFile:"html/ISic020383.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020383",title:"ISic020383",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020383_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020383","isic020383","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020384",metadataFile:"metadata/ISic020384.json",htmlFile:"html/ISic020384.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020384",title:"ISic020384",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020384_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020384","isic020384","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020385",metadataFile:"metadata/ISic020385.json",htmlFile:"html/ISic020385.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020385",title:"ISic020385",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020385_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020385","isic020385","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020386",metadataFile:"metadata/ISic020386.json",htmlFile:"html/ISic020386.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020386",title:"ISic020386",status:"draft",type:{_:"regulatory (?)",ana:"#function.regulatory",cert:"low",ref:"http://vocab.getty.edu/page/aat/300027842"},objectType:[{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},{_:"ostrakon",ana:"#object.ostrakon",cert:"low",ref:"https://www.eagle-network.eu/voc/objtyp/lod/124.html"}],notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020386_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020386","isic020386","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020387",metadataFile:"metadata/ISic020387.json",htmlFile:"html/ISic020387.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020387",title:"ISic020387",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020387_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020387","isic020387","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020388",metadataFile:"metadata/ISic020388.json",htmlFile:"html/ISic020388.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020388",title:"ISic020388",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020388_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020388","isic020388","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020389",metadataFile:"metadata/ISic020389.json",htmlFile:"html/ISic020389.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020389",title:"ISic020389",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020389_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020389","isic020389","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020390",metadataFile:"metadata/ISic020390.json",htmlFile:"html/ISic020390.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020390",title:"ISic020390",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"ostrakon",ana:"#object.ostrakon",cert:"low",ref:"https://www.eagle-network.eu/voc/objtyp/lod/124.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020390_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020390","isic020390","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020391",metadataFile:"metadata/ISic020391.json",htmlFile:"html/ISic020391.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020391",title:"ISic020391",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020391_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020391","isic020391","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020392",metadataFile:"metadata/ISic020392.json",htmlFile:"html/ISic020392.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020392",title:"ISic020392",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020392_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020392","isic020392","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020393",metadataFile:"metadata/ISic020393.json",htmlFile:"html/ISic020393.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020393",title:"ISic020393",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020393_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020393","isic020393","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020394",metadataFile:"metadata/ISic020394.json",htmlFile:"html/ISic020394.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020394",title:"ISic020394",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020394_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020394","isic020394","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020395",metadataFile:"metadata/ISic020395.json",htmlFile:"html/ISic020395.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020395",title:"ISic020395",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020395_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020395","isic020395","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020396",metadataFile:"metadata/ISic020396.json",htmlFile:"html/ISic020396.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020396",title:"ISic020396",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020396_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020396","isic020396","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020397",metadataFile:"metadata/ISic020397.json",htmlFile:"html/ISic020397.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020397",title:"ISic020397",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020397_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020397","isic020397","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020398",metadataFile:"metadata/ISic020398.json",htmlFile:"html/ISic020398.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020398",title:"ISic020398",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020398_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020398","isic020398","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020399",metadataFile:"metadata/ISic020399.json",htmlFile:"html/ISic020399.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020399",title:"ISic020399",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020399_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020399","isic020399","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","ancient greek","grc"]},{file:"ISic020400",metadataFile:"metadata/ISic020400.json",htmlFile:"html/ISic020400.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020400",title:"ISic020400",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020400_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020400","isic020400","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","ancient greek","grc"]},{file:"ISic020401",metadataFile:"metadata/ISic020401.json",htmlFile:"html/ISic020401.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020401",title:"ISic020401",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020401_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020401","isic020401","draft","-500","-480","segesta","italy","sicily","segesta","parco archeologico di segesta","ancient greek","grc"]},{file:"ISic020402",metadataFile:"metadata/ISic020402.json",htmlFile:"html/ISic020402.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020402",title:"ISic020402",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020402_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020402","isic020402","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","ancient greek","grc"]},{file:"ISic020403",metadataFile:"metadata/ISic020403.json",htmlFile:"html/ISic020403.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020403",title:"ISic020403",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020403_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020403","isic020403","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020404",metadataFile:"metadata/ISic020404.json",htmlFile:"html/ISic020404.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020404",title:"ISic020404",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020404_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020404","isic020404","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020405",metadataFile:"metadata/ISic020405.json",htmlFile:"html/ISic020405.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020405",title:"ISic020405",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",cert:"low",ref:"http://kerameikos.org/id/kylix",certainty:{locus:"value",match:"../@key",assertedValue:"lekythos",target:"http://kerameikos.org/id/lekythos",desc:"lekythos"}},notBefore:-525,notAfter:-450,geo:[37,12],facsimile:{url:"ISic020405_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020405","isic020405","draft","-525","-450","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020406",metadataFile:"metadata/ISic020406.json",htmlFile:"html/ISic020406.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020406",title:"ISic020406",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020406_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020406","isic020406","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020407",metadataFile:"metadata/ISic020407.json",htmlFile:"html/ISic020407.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020407",title:"ISic020407",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020407_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020407","isic020407","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020408",metadataFile:"metadata/ISic020408.json",htmlFile:"html/ISic020408.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020408",title:"ISic020408",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020408_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020408","isic020408","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020409",metadataFile:"metadata/ISic020409.json",htmlFile:"html/ISic020409.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020409",title:"ISic020409",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020409_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020409","isic020409","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020410",metadataFile:"metadata/ISic020410.json",htmlFile:"html/ISic020410.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020410",title:"ISic020410",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020410_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020410","isic020410","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020411",metadataFile:"metadata/ISic020411.json",htmlFile:"html/ISic020411.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020411",title:"ISic020411",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020411_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020411","isic020411","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020412",metadataFile:"metadata/ISic020412.json",htmlFile:"html/ISic020412.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020412",title:"ISic020412",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020412_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020412","isic020412","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020413",metadataFile:"metadata/ISic020413.json",htmlFile:"html/ISic020413.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020413",title:"ISic020413",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020413_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020413","isic020413","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020414",metadataFile:"metadata/ISic020414.json",htmlFile:"html/ISic020414.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020414",title:"ISic020414",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020414_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020414","isic020414","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020415",metadataFile:"metadata/ISic020415.json",htmlFile:"html/ISic020415.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020415",title:"ISic020415",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020415_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020415","isic020415","draft","-500","-480","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020416",metadataFile:"metadata/ISic020416.json",htmlFile:"html/ISic020416.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020416",title:"ISic020416",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020416_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020416","isic020416","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020417",metadataFile:"metadata/ISic020417.json",htmlFile:"html/ISic020417.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020417",title:"ISic020417",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020417_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020417","isic020417","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020418",metadataFile:"metadata/ISic020418.json",htmlFile:"html/ISic020418.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020418",title:"ISic020418",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020418_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020418","isic020418","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020419",metadataFile:"metadata/ISic020419.json",htmlFile:"html/ISic020419.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020419",title:"ISic020419",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020419_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020419","isic020419","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020420",metadataFile:"metadata/ISic020420.json",htmlFile:"html/ISic020420.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020420",title:"ISic020420",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020420_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020420","isic020420","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020421",metadataFile:"metadata/ISic020421.json",htmlFile:"html/ISic020421.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020421",title:"ISic020421",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020421_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"xly",desc:"Elymian"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020421","isic020421","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","ancient greek","grc"]},{file:"ISic020422",metadataFile:"metadata/ISic020422.json",htmlFile:"html/ISic020422.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020422",title:"ISic020422",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020422_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020422","isic020422","draft","-550","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020423",metadataFile:"metadata/ISic020423.json",htmlFile:"html/ISic020423.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020423",title:"ISic020423",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020423_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020423","isic020423","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020424",metadataFile:"metadata/ISic020424.json",htmlFile:"html/ISic020424.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020424",title:"ISic020424",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020424_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020424","isic020424","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020425",metadataFile:"metadata/ISic020425.json",htmlFile:"html/ISic020425.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020425",title:"ISic020425",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020425_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020425","isic020425","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020426",metadataFile:"metadata/ISic020426.json",htmlFile:"html/ISic020426.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020426",title:"ISic020426",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020426_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020426","isic020426","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020427",metadataFile:"metadata/ISic020427.json",htmlFile:"html/ISic020427.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020427",title:"ISic020427",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",cert:"low",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020427_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020427","isic020427","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020428",metadataFile:"metadata/ISic020428.json",htmlFile:"html/ISic020428.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020428",title:"ISic020428",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-450,geo:[37,12],facsimile:{url:"ISic020428_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020428","isic020428","draft","-525","-450","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020429",metadataFile:"metadata/ISic020429.json",htmlFile:"html/ISic020429.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020429",title:"ISic020429",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",cert:"low",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020429_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020429","isic020429","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020430",metadataFile:"metadata/ISic020430.json",htmlFile:"html/ISic020430.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020430",title:"ISic020430",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020430_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020430","isic020430","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020431",metadataFile:"metadata/ISic020431.json",htmlFile:"html/ISic020431.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020431",title:"ISic020431",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-450,geo:[37,12],facsimile:{url:"ISic020431_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020431","isic020431","draft","-525","-450","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020432",metadataFile:"metadata/ISic020432.json",htmlFile:"html/ISic020432.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020432",title:"ISic020432",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020432_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020432","isic020432","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020433",metadataFile:"metadata/ISic020433.json",htmlFile:"html/ISic020433.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020433",title:"ISic020433",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020433_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020433","isic020433","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020434",metadataFile:"metadata/ISic020434.json",htmlFile:"html/ISic020434.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020434",title:"ISic020434",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020434_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020434","isic020434","draft","-500","-480","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020435",metadataFile:"metadata/ISic020435.json",htmlFile:"html/ISic020435.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020435",title:"ISic020435",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-500,notAfter:-400,geo:[37,13],facsimile:{url:"ISic020435_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Monte Castellazzo di Poggioreale",type:"modern"},placeName:"Monte Castellazzo di Poggioreale",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020435","isic020435","draft","-500","-400","monte castellazzo di poggioreale","italy","sicily","elymian","xly"]},{file:"ISic020436",metadataFile:"metadata/ISic020436.json",htmlFile:"html/ISic020436.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020436",title:"ISic020436",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,13],facsimile:{url:"ISic020436_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Punic",mainLang:"xpu",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020436","isic020436","draft","-500","-480","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","punic","xpu"]},{file:"ISic020437",metadataFile:"metadata/ISic020437.json",htmlFile:"html/ISic020437.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020437",title:"ISic020437",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-480,notAfter:-450,geo:[37,13],facsimile:{url:"ISic020437_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020437","isic020437","draft","-480","-450","ietas","monte iato","italy","sicily","elymian","xly"]},{file:"ISic020438",metadataFile:"metadata/ISic020438.json",htmlFile:"html/ISic020438.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020438",title:"ISic020438",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-480,notAfter:-450,geo:[37,13],facsimile:{url:"ISic020438_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020438","isic020438","draft","-480","-450","ietas","monte iato","italy","sicily","elymian","xly"]},{file:"ISic020439",metadataFile:"metadata/ISic020439.json",htmlFile:"html/ISic020439.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020439",title:"ISic020439",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-475,facsimile:{url:"ISic020439_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Montelepre",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Montelepre",type:"modern",ref:"http://sws.geonames.org/2524070",offset:"near"},placeName:"Montelepre",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020439","isic020439","draft","-500","-475","montelepre","italy","sicily","montelepre","museo civico di montelepre","elymian","xly"]},{file:"ISic020440",metadataFile:"metadata/ISic020440.json",htmlFile:"html/ISic020440.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020440",title:"ISic020440",status:"draft",type:{_:"invocation",key:"invocation",ref:"https://www.eagle-network.eu/voc/typeins/lod/387.html"},objectType:{_:"loom weight, of the truncated pyramidal type",ana:"#loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-520,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020440_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"?",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020440","isic020440","draft","-520","-480","segesta","italy","sicily","?","?","elymian","xly"]},{file:"ISic020441",metadataFile:"metadata/ISic020441.json",htmlFile:"html/ISic020441.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020441",title:"ISic020441",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"krater",ana:"#object.vessel.krater",cert:"low",ref:"http://kerameikos.org/id/krater"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020441_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020441","isic020441","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020442",metadataFile:"metadata/ISic020442.json",htmlFile:"html/ISic020442.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020442",title:"ISic020442",status:"draft",type:{_:"abecedary",ana:"#function.alphabet",ref:"https://www.eagle-network.eu/voc/typeins/lod/112.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,facsimile:{url:"ISic020442_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Montelepre",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Montelepre",type:"modern",ref:"http://sws.geonames.org/2524070",offset:"near"},placeName:"Montelepre",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020442","isic020442","draft","-500","-480","montelepre","italy","sicily","montelepre","museo civico di montelepre","elymian","xly"]},{file:"ISic020443",metadataFile:"metadata/ISic020443.json",htmlFile:"html/ISic020443.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020443",title:"ISic020443",status:"draft",type:{_:"owner inscription",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-600,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020443_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020443","isic020443","draft","-600","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020444",metadataFile:"metadata/ISic020444.json",htmlFile:"html/ISic020444.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020444",title:"ISic020444",status:"draft",type:{_:"artist inscription",ana:"#function.signature",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-625,notAfter:-600,geo:[37,15],facsimile:{url:"ISic020444_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Megara Hyblaea",type:"ancient",ref:"https://pleiades.stoa.org/places/462307"},placeName:"Megara Hyblaea",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020444","isic020444","draft","-625","-600","megara hyblaea","megara iblea","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020445",metadataFile:"metadata/ISic020445.json",htmlFile:"html/ISic020445.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020445",title:"ISic020445",status:"draft",type:{_:"graffiti",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-550,notAfter:-525,geo:[37,12],facsimile:{url:"ISic020445_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020445","isic020445","draft","-550","-525","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic020446",metadataFile:"metadata/ISic020446.json",htmlFile:"html/ISic020446.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020446",title:"ISic020446",status:"draft",type:{_:"owner inscription",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"lekanis",ana:"#object.vessel.lekanis",ref:"http://kerameikos.org/id/lekanis"},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020446_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020446","isic020446","draft","-600","-400","selinus","selinunte","italy","sicily","palermo","private house","ancient greek","grc"]},{file:"ISic020447",metadataFile:"metadata/ISic020447.json",htmlFile:"html/ISic020447.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020447",title:"ISic020447",status:"draft",type:{_:"owner inscription",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"cup (Megarian type)",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-620,notAfter:-580,geo:[37,12],facsimile:{url:"ISic020447_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020447","isic020447","draft","-620","-580","selinus","selinunte","italy","sicily","ancient greek","grc"]},{file:"ISic020448",metadataFile:"metadata/ISic020448.json",htmlFile:"html/ISic020448.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020448",title:"ISic020448",status:"draft",type:{_:"owner inscription",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"volute krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-520,notAfter:-500,geo:[null],facsimile:{url:"ISic020448_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"unknown",type:"ancient"},placeName:"unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020448","isic020448","draft","-520","-500","unknown","unknown","italy","sicily","palermo","fondazione i. mormino collection","ancient greek","grc"]},{file:"ISic020449",metadataFile:"metadata/ISic020449.json",htmlFile:"html/ISic020449.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020449",title:"ISic020449",status:"deprecated",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-450,geo:[37,15],facsimile:{url:"ISic020449_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020449","isic020449","deprecated","-500","-450","syracusae","siracusa","italy","sicily","siracusa","ancient greek","grc"]},{file:"ISic020450",metadataFile:"metadata/ISic020450.json",htmlFile:"html/ISic020450.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020450",title:"ISic020450",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"black-glazed Protocorinthian olpe",ana:"#object.vessel.olpe",ref:"http://kerameikos.org/id/olpe"},notBefore:-620,notAfter:-600,geo:[37,15],facsimile:{url:"ISic020450_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Megara Hyblaea (area of)",type:"ancient",ref:"https://pleiades.stoa.org/places/462307"},placeName:"Megara Hyblaea (area of)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020450","isic020450","draft","-620","-600","megara hyblaea (area of)","megara iblea","italy","sicily","ancient greek","grc"]},{file:"ISic020451",metadataFile:"metadata/ISic020451.json",htmlFile:"html/ISic020451.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020451",title:"ISic020451",status:"draft",type:{_:"gift, private document",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/359.html"},objectType:{_:"Corinthian alabastron",ana:"#object.vessel.alabastron",ref:"http://kerameikos.org/id/alabastron"},notBefore:-700,notAfter:-500,geo:[null],facsimile:{url:"ISic020451_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Unknown",type:"ancient"},placeName:"Unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020451","isic020451","draft","-700","-500","unknown","unknown","italy","sicily","ancient greek","grc"]},{file:"ISic020452",metadataFile:"metadata/ISic020452.json",htmlFile:"html/ISic020452.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020452",title:"ISic020452",status:"draft",type:{_:"votive inscription",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-550,notAfter:-525,geo:[37,14],facsimile:{url:"ISic020452_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020452","isic020452","draft","-550","-525","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020453",metadataFile:"metadata/ISic020453.json",htmlFile:"html/ISic020453.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020453",title:"ISic020453",status:"draft",type:{_:"votive inscription",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020453_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020453","isic020453","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020454",metadataFile:"metadata/ISic020454.json",htmlFile:"html/ISic020454.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020454",title:"ISic020454",status:"draft",type:{_:"votive inscription",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"pithos",ana:"#object.vessel.pithos",ref:"http://kerameikos.org/id/pithos"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020454_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020454","isic020454","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020455",metadataFile:"metadata/ISic020455.json",htmlFile:"html/ISic020455.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020455",title:"ISic020455",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020455_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020455","isic020455","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020456",metadataFile:"metadata/ISic020456.json",htmlFile:"html/ISic020456.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020456",title:"ISic020456",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020456_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020456","isic020456","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020457",metadataFile:"metadata/ISic020457.json",htmlFile:"html/ISic020457.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020457",title:"ISic020457",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020457_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020457","isic020457","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020458",metadataFile:"metadata/ISic020458.json",htmlFile:"html/ISic020458.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020458",title:"ISic020458",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020458_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020458","isic020458","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020459",metadataFile:"metadata/ISic020459.json",htmlFile:"html/ISic020459.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020459",title:"ISic020459",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/79.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-530,geo:[37,14],facsimile:{url:"ISic020459_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020459","isic020459","draft","-550","-530","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020460",metadataFile:"metadata/ISic020460.json",htmlFile:"html/ISic020460.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020460",title:"ISic020460",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020460_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020460","isic020460","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020461",metadataFile:"metadata/ISic020461.json",htmlFile:"html/ISic020461.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020461",title:"ISic020461",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020461_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020461","isic020461","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020462",metadataFile:"metadata/ISic020462.json",htmlFile:"html/ISic020462.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020462",title:"ISic020462",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-600,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020462_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020462","isic020462","draft","-600","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020463",metadataFile:"metadata/ISic020463.json",htmlFile:"html/ISic020463.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020463",title:"ISic020463",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/79"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020463_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020463","isic020463","draft","-525","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020464",metadataFile:"metadata/ISic020464.json",htmlFile:"html/ISic020464.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020464",title:"ISic020464",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/79"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020464_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020464","isic020464","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020465",metadataFile:"metadata/ISic020465.json",htmlFile:"html/ISic020465.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020465",title:"ISic020465",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"oinochoe",ana:"#object.vessel.oinochoe",ref:"http://kerameikos.org/id/oinochoe"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020465_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020465","isic020465","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020466",metadataFile:"metadata/ISic020466.json",htmlFile:"html/ISic020466.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020466",title:"ISic020466",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020466_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020466","isic020466","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020467",metadataFile:"metadata/ISic020467.json",htmlFile:"html/ISic020467.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020467",title:"ISic020467",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020467_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020467","isic020467","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020468",metadataFile:"metadata/ISic020468.json",htmlFile:"html/ISic020468.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020468",title:"ISic020468",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020468_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020468","isic020468","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020469",metadataFile:"metadata/ISic020469.json",htmlFile:"html/ISic020469.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020469",title:"ISic020469",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020469_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020469","isic020469","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020470",metadataFile:"metadata/ISic020470.json",htmlFile:"html/ISic020470.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020470",title:"ISic020470",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020470_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020470","isic020470","draft","-520","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020471",metadataFile:"metadata/ISic020471.json",htmlFile:"html/ISic020471.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020471",title:"ISic020471",status:"draft",type:{_:"artist's signature",ana:"#function.signature",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020471_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020471","isic020471","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020472",metadataFile:"metadata/ISic020472.json",htmlFile:"html/ISic020472.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020472",title:"ISic020472",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020472_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020472","isic020472","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020473",metadataFile:"metadata/ISic020473.json",htmlFile:"html/ISic020473.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020473",title:"ISic020473",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020473_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020473","isic020473","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020474",metadataFile:"metadata/ISic020474.json",htmlFile:"html/ISic020474.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020474",title:"ISic020474",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/79.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-550,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020474_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020474","isic020474","draft","-550","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020475",metadataFile:"metadata/ISic020475.json",htmlFile:"html/ISic020475.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020475",title:"ISic020475",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020475_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020475","isic020475","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020476",metadataFile:"metadata/ISic020476.json",htmlFile:"html/ISic020476.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020476",title:"ISic020476",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020476_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020476","isic020476","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020477",metadataFile:"metadata/ISic020477.json",htmlFile:"html/ISic020477.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020477",title:"ISic020477",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020477_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020477","isic020477","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020478",metadataFile:"metadata/ISic020478.json",htmlFile:"html/ISic020478.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020478",title:"ISic020478",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020478_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020478","isic020478","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020479",metadataFile:"metadata/ISic020479.json",htmlFile:"html/ISic020479.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020479",title:"ISic020479",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020479_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020479","isic020479","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020480",metadataFile:"metadata/ISic020480.json",htmlFile:"html/ISic020480.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020480",title:"ISic020480",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"oil lamp",ana:"#object.oil_lamp",ref:"https://www.eagle-network.eu/voc/objtyp/lod/152"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020480_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020480","isic020480","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020481",metadataFile:"metadata/ISic020481.json",htmlFile:"html/ISic020481.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020481",title:"ISic020481",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020481_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020481","isic020481","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020482",metadataFile:"metadata/ISic020482.json",htmlFile:"html/ISic020482.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020482",title:"ISic020482",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020482_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020482","isic020482","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020483",metadataFile:"metadata/ISic020483.json",htmlFile:"html/ISic020483.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020483",title:"ISic020483",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020483_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020483","isic020483","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020484",metadataFile:"metadata/ISic020484.json",htmlFile:"html/ISic020484.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020484",title:"ISic020484",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020484_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020484","isic020484","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020485",metadataFile:"metadata/ISic020485.json",htmlFile:"html/ISic020485.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020485",title:"ISic020485",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020485_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020485","isic020485","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020486",metadataFile:"metadata/ISic020486.json",htmlFile:"html/ISic020486.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020486",title:"ISic020486",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020486_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020486","isic020486","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020487",metadataFile:"metadata/ISic020487.json",htmlFile:"html/ISic020487.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020487",title:"ISic020487",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020487_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020487","isic020487","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020488",metadataFile:"metadata/ISic020488.json",htmlFile:"html/ISic020488.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020488",title:"ISic020488",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020488_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020488","isic020488","draft","-500","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020489",metadataFile:"metadata/ISic020489.json",htmlFile:"html/ISic020489.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020489",title:"ISic020489",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"pyxis",ana:"#object.vessel.pyxis",ref:"http://kerameikos.org/id/pyxis"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020489_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020489","isic020489","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020490",metadataFile:"metadata/ISic020490.json",htmlFile:"html/ISic020490.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020490",title:"ISic020490",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020490_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020490","isic020490","draft","-500","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020491",metadataFile:"metadata/ISic020491.json",htmlFile:"html/ISic020491.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020491",title:"ISic020491",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-450,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020491_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020491","isic020491","draft","-450","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020492",metadataFile:"metadata/ISic020492.json",htmlFile:"html/ISic020492.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020492",title:"ISic020492",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-450,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020492_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020492","isic020492","draft","-450","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020493",metadataFile:"metadata/ISic020493.json",htmlFile:"html/ISic020493.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020493",title:"ISic020493",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020493_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020493","isic020493","draft","-500","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020494",metadataFile:"metadata/ISic020494.json",htmlFile:"html/ISic020494.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020494",title:"ISic020494",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-480,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020494_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020494","isic020494","draft","-480","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020495",metadataFile:"metadata/ISic020495.json",htmlFile:"html/ISic020495.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020495",title:"ISic020495",status:"draft",type:{_:"ownership",ana:"#function.ownership",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/104"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020495_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020495","isic020495","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020496",metadataFile:"metadata/ISic020496.json",htmlFile:"html/ISic020496.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020496",title:"ISic020496",status:"draft",type:{_:"votive",ana:"#function.votive",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020496_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020496","isic020496","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020497",metadataFile:"metadata/ISic020497.json",htmlFile:"html/ISic020497.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020497",title:"ISic020497",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020497_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020497","isic020497","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020499",metadataFile:"metadata/ISic020499.json",htmlFile:"html/ISic020499.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020499",title:"ISic020499",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020499_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020499","isic020499","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020500",metadataFile:"metadata/ISic020500.json",htmlFile:"html/ISic020500.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020500",title:"ISic020500",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020500_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020500","isic020500","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020501",metadataFile:"metadata/ISic020501.json",htmlFile:"html/ISic020501.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020501",title:"ISic020501",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020501_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020501","isic020501","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020502",metadataFile:"metadata/ISic020502.json",htmlFile:"html/ISic020502.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020502",title:"ISic020502",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020502_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020502","isic020502","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020503",metadataFile:"metadata/ISic020503.json",htmlFile:"html/ISic020503.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020503",title:"ISic020503",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020503_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020503","isic020503","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020504",metadataFile:"metadata/ISic020504.json",htmlFile:"html/ISic020504.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020504",title:"ISic020504",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020504_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020504","isic020504","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020505",metadataFile:"metadata/ISic020505.json",htmlFile:"html/ISic020505.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020505",title:"ISic020505",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020505_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020505","isic020505","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020506",metadataFile:"metadata/ISic020506.json",htmlFile:"html/ISic020506.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020506",title:"ISic020506",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020506_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020506","isic020506","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020507",metadataFile:"metadata/ISic020507.json",htmlFile:"html/ISic020507.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020507",title:"ISic020507",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020507_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020507","isic020507","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020508",metadataFile:"metadata/ISic020508.json",htmlFile:"html/ISic020508.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020508",title:"ISic020508",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020508_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020508","isic020508","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020509",metadataFile:"metadata/ISic020509.json",htmlFile:"html/ISic020509.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020509",title:"ISic020509",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020509_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020509","isic020509","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020510",metadataFile:"metadata/ISic020510.json",htmlFile:"html/ISic020510.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020510",title:"ISic020510",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020510_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020510","isic020510","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020511",metadataFile:"metadata/ISic020511.json",htmlFile:"html/ISic020511.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020511",title:"ISic020511",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020511_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020511","isic020511","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020512",metadataFile:"metadata/ISic020512.json",htmlFile:"html/ISic020512.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020512",title:"ISic020512",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020512_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020512","isic020512","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020513",metadataFile:"metadata/ISic020513.json",htmlFile:"html/ISic020513.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020513",title:"ISic020513",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020513_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020513","isic020513","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020514",metadataFile:"metadata/ISic020514.json",htmlFile:"html/ISic020514.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020514",title:"ISic020514",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020514_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020514","isic020514","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020515",metadataFile:"metadata/ISic020515.json",htmlFile:"html/ISic020515.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020515",title:"ISic020515",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020515_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020515","isic020515","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020516",metadataFile:"metadata/ISic020516.json",htmlFile:"html/ISic020516.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020516",title:"ISic020516",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020516_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020516","isic020516","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020517",metadataFile:"metadata/ISic020517.json",htmlFile:"html/ISic020517.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020517",title:"ISic020517",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020517_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020517","isic020517","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020518",metadataFile:"metadata/ISic020518.json",htmlFile:"html/ISic020518.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020518",title:"ISic020518",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020518_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020518","isic020518","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020519",metadataFile:"metadata/ISic020519.json",htmlFile:"html/ISic020519.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020519",title:"ISic020519",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020519_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020519","isic020519","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020520",metadataFile:"metadata/ISic020520.json",htmlFile:"html/ISic020520.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020520",title:"ISic020520",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020520_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020520","isic020520","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020521",metadataFile:"metadata/ISic020521.json",htmlFile:"html/ISic020521.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020521",title:"ISic020521",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020521_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020521","isic020521","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020522",metadataFile:"metadata/ISic020522.json",htmlFile:"html/ISic020522.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020522",title:"ISic020522",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020522_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020522","isic020522","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020523",metadataFile:"metadata/ISic020523.json",htmlFile:"html/ISic020523.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020523",title:"ISic020523",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020523_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020523","isic020523","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020524",metadataFile:"metadata/ISic020524.json",htmlFile:"html/ISic020524.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020524",title:"ISic020524",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020524_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020524","isic020524","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020525",metadataFile:"metadata/ISic020525.json",htmlFile:"html/ISic020525.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020525",title:"ISic020525",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020525_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020525","isic020525","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020526",metadataFile:"metadata/ISic020526.json",htmlFile:"html/ISic020526.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020526",title:"ISic020526",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020526_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020526","isic020526","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020527",metadataFile:"metadata/ISic020527.json",htmlFile:"html/ISic020527.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020527",title:"ISic020527",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020527_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020527","isic020527","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020528",metadataFile:"metadata/ISic020528.json",htmlFile:"html/ISic020528.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020528",title:"ISic020528",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020528_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020528","isic020528","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020529",metadataFile:"metadata/ISic020529.json",htmlFile:"html/ISic020529.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020529",title:"ISic020529",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020529_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020529","isic020529","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020530",metadataFile:"metadata/ISic020530.json",htmlFile:"html/ISic020530.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020530",title:"ISic020530",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020530_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020530","isic020530","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020531",metadataFile:"metadata/ISic020531.json",htmlFile:"html/ISic020531.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020531",title:"ISic020531",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020531_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020531","isic020531","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020532",metadataFile:"metadata/ISic020532.json",htmlFile:"html/ISic020532.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020532",title:"ISic020532",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020532_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020532","isic020532","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020533",metadataFile:"metadata/ISic020533.json",htmlFile:"html/ISic020533.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020533",title:"ISic020533",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020533_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020533","isic020533","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020534",metadataFile:"metadata/ISic020534.json",htmlFile:"html/ISic020534.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020534",title:"ISic020534",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020534_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020534","isic020534","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020535",metadataFile:"metadata/ISic020535.json",htmlFile:"html/ISic020535.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020535",title:"ISic020535",status:"draft",type:{_:"votive",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020535_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020535","isic020535","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020536",metadataFile:"metadata/ISic020536.json",htmlFile:"html/ISic020536.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020536",title:"ISic020536",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020536_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020536","isic020536","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020537",metadataFile:"metadata/ISic020537.json",htmlFile:"html/ISic020537.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020537",title:"ISic020537",status:"draft",type:{_:"greeting (exhortation)",ana:"#function.greeting",ref:"https://www.eagle-network.eu/voc/typeins/lod/386.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020537_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020537","isic020537","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020538",metadataFile:"metadata/ISic020538.json",htmlFile:"html/ISic020538.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020538",title:"ISic020538",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020538_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020538","isic020538","draft","-460","-440","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020539",metadataFile:"metadata/ISic020539.json",htmlFile:"html/ISic020539.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020539",title:"ISic020539",status:"draft",type:{_:"caption",ana:"#function.caption",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020539_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020539","isic020539","draft","-450","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020540",metadataFile:"metadata/ISic020540.json",htmlFile:"html/ISic020540.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020540",title:"ISic020540",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"kylix or small cup",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-420,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020540_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020540","isic020540","draft","-420","-400","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020541",metadataFile:"metadata/ISic020541.json",htmlFile:"html/ISic020541.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020541",title:"ISic020541",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020541_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020541","isic020541","draft","-500","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020542",metadataFile:"metadata/ISic020542.json",htmlFile:"html/ISic020542.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020542",title:"ISic020542",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"skyphos (?)",ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic020542_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020542","isic020542","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020543",metadataFile:"metadata/ISic020543.json",htmlFile:"html/ISic020543.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020543",title:"ISic020543",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-700,notAfter:-600,geo:[37,14],facsimile:{url:"ISic020543_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Greek"}},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020543","isic020543","draft","-700","-600","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","sikel","scx"]},{file:"ISic020544",metadataFile:"metadata/ISic020544.json",htmlFile:"html/ISic020544.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020544",title:"ISic020544",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-700,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020544_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020544","isic020544","draft","-700","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020545",metadataFile:"metadata/ISic020545.json",htmlFile:"html/ISic020545.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020545",title:"ISic020545",status:"draft",type:{_:"gift, private document",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/359.html"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-550,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020545_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020545","isic020545","draft","-550","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020546",metadataFile:"metadata/ISic020546.json",htmlFile:"html/ISic020546.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020546",title:"ISic020546",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020546_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020546","isic020546","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020547",metadataFile:"metadata/ISic020547.json",htmlFile:"html/ISic020547.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020547",title:"ISic020547",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:`skyphos `,ana:"#object.vessel.skyphos",cert:"low",ref:"http://kerameikos.org/id/skyphos",certainty:{locus:"value",match:"../@key",assertedValue:"amphora",target:"http://kerameikos.org/id/amphora",desc:"amphora"}},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020547_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020547","isic020547","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020548",metadataFile:"metadata/ISic020548.json",htmlFile:"html/ISic020548.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020548",title:"ISic020548",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-520,notAfter:-500,geo:[null],facsimile:{url:"ISic020548_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Unknown",type:"ancient"},placeName:"Unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020548","isic020548","draft","-520","-500","unknown","unknown","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020549",metadataFile:"metadata/ISic020549.json",htmlFile:"html/ISic020549.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020549",title:"ISic020549",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-520,notAfter:-500,geo:[null],facsimile:{url:"ISic020549_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Unknown",type:"ancient"},placeName:"Unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020549","isic020549","draft","-520","-500","unknown","unknown","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic020550",metadataFile:"metadata/ISic020550.json",htmlFile:"html/ISic020550.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020550",title:"ISic020550",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020550_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020550","isic020550","draft","-520","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020551",metadataFile:"metadata/ISic020551.json",htmlFile:"html/ISic020551.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020551",title:"ISic020551",status:"draft",type:{_:"measure (value)",ana:"#function.measure",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"pelike",ana:"#object.vessel.pelike",ref:"http://kerameikos.org/id/pelike"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020551_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020551","isic020551","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020552",metadataFile:"metadata/ISic020552.json",htmlFile:"html/ISic020552.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020552",title:"ISic020552",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020552_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020552","isic020552","draft","-475","-450","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020553",metadataFile:"metadata/ISic020553.json",htmlFile:"html/ISic020553.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020553",title:"ISic020553",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-600,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020553_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc",cert:"low"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020553","isic020553","draft","-600","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020554",metadataFile:"metadata/ISic020554.json",htmlFile:"html/ISic020554.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020554",title:"ISic020554",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-520,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020554_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020554","isic020554","draft","-520","-500","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020555",metadataFile:"metadata/ISic020555.json",htmlFile:"html/ISic020555.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020555",title:"ISic020555",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020555_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020555","isic020555","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","greek","grc"]},{file:"ISic020556",metadataFile:"metadata/ISic020556.json",htmlFile:"html/ISic020556.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020556",title:"ISic020556",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020556_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020556","isic020556","draft","-520","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","elymian","xly"]},{file:"ISic020558",metadataFile:"metadata/ISic020558.json",htmlFile:"html/ISic020558.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020558",title:"ISic020558",status:"draft",type:{_:"abecedarium",ana:"#function.abecedarium",ref:"https://www.eagle-network.eu/voc/typeins/lod/112.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020558_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020558","isic020558","draft","-500","-480","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020559",metadataFile:"metadata/ISic020559.json",htmlFile:"html/ISic020559.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020559",title:"ISic020559",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-400,geo:[37,13],facsimile:{url:"ISic020559_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020559","isic020559","draft","-500","-400","agrigentum","agrigento","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020560",metadataFile:"metadata/ISic020560.json",htmlFile:"html/ISic020560.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020560",title:"ISic020560",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020560_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Butera",type:"modern",ref:"https://sws.geonames.org/6537787/"},placeName:"Butera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020560","isic020560","draft","-520","-500","butera","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020561",metadataFile:"metadata/ISic020561.json",htmlFile:"html/ISic020561.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020561",title:"ISic020561",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020561_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Butera",type:"modern",ref:"https://sws.geonames.org/6537787/"},placeName:"Butera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020561","isic020561","draft","-500","-450","butera","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020562",metadataFile:"metadata/ISic020562.json",htmlFile:"html/ISic020562.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020562",title:"ISic020562",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-420,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020562_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Butera",type:"modern",ref:"https://sws.geonames.org/6537787/"},placeName:"Butera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020562","isic020562","draft","-420","-400","butera","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020563",metadataFile:"metadata/ISic020563.json",htmlFile:"html/ISic020563.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020563",title:"ISic020563",status:"draft",type:{_:"votive",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020563_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Caltanissetta",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865/"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020563","isic020563","draft","-520","-480","sabucina","italy","sicily","caltanissetta","soprintendenza per i beni culturali e ambientali di caltanissetta, in storage","ancient greek","grc"]},{file:"ISic020564",metadataFile:"metadata/ISic020564.json",htmlFile:"html/ISic020564.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020564",title:"ISic020564",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020564_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865/"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020564","isic020564","draft","-500","-480","sabucina","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020565",metadataFile:"metadata/ISic020565.json",htmlFile:"html/ISic020565.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020565",title:"ISic020565",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-480,notAfter:-470,geo:[37,14],facsimile:{url:"ISic020565_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865/"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020565","isic020565","draft","-480","-470","sabucina","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020566",metadataFile:"metadata/ISic020566.json",htmlFile:"html/ISic020566.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020566",title:"ISic020566",status:"draft",type:{_:"artist inscription",ana:"#function.signature",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"stamnos",ana:"#object.vessel.stamnos",ref:"http://kerameikos.org/id/stamnos"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020566_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865/"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020566","isic020566","draft","-500","-450","sabucina","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020567",metadataFile:"metadata/ISic020567.json",htmlFile:"html/ISic020567.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020567",title:"ISic020567",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-460,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020567_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865/"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020567","isic020567","draft","-460","-450","sabucina","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020568",metadataFile:"metadata/ISic020568.json",htmlFile:"html/ISic020568.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020568",title:"ISic020568",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-499,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020568_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020568","isic020568","draft","-499","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020569",metadataFile:"metadata/ISic020569.json",htmlFile:"html/ISic020569.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020569",title:"ISic020569",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020569_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020569","isic020569","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020570",metadataFile:"metadata/ISic020570.json",htmlFile:"html/ISic020570.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020570",title:"ISic020570",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020570_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020570","isic020570","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020571",metadataFile:"metadata/ISic020571.json",htmlFile:"html/ISic020571.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020571",title:"ISic020571",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020571_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020571","isic020571","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020572",metadataFile:"metadata/ISic020572.json",htmlFile:"html/ISic020572.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020572",title:"ISic020572",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020572_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020572","isic020572","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020573",metadataFile:"metadata/ISic020573.json",htmlFile:"html/ISic020573.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020573",title:"ISic020573",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020573_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020573","isic020573","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020574",metadataFile:"metadata/ISic020574.json",htmlFile:"html/ISic020574.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020574",title:"ISic020574",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020574_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020574","isic020574","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020575",metadataFile:"metadata/ISic020575.json",htmlFile:"html/ISic020575.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020575",title:"ISic020575",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020575_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020575","isic020575","draft","-450","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020576",metadataFile:"metadata/ISic020576.json",htmlFile:"html/ISic020576.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020576",title:"ISic020576",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-425,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020576_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020576","isic020576","draft","-425","-400","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020577",metadataFile:"metadata/ISic020577.json",htmlFile:"html/ISic020577.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020577",title:"ISic020577",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020577_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020577","isic020577","draft","-525","-500","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020578",metadataFile:"metadata/ISic020578.json",htmlFile:"html/ISic020578.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020578",title:"ISic020578",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020578_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020578","isic020578","draft","-475","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020579",metadataFile:"metadata/ISic020579.json",htmlFile:"html/ISic020579.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020579",title:"ISic020579",status:"draft",type:{_:"gift, private document",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/359.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-499,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020579_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020579","isic020579","draft","-499","-480","herbessus (?)","montagna di marzo","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020580",metadataFile:"metadata/ISic020580.json",htmlFile:"html/ISic020580.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020580",title:"ISic020580",status:"draft",type:{_:"ludic text",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html"},objectType:{_:"hydria of local manufacture",ana:"#object.vessel.hydria",ref:"http://kerameikos.org/id/hydria"},notBefore:-499,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020580_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020580","isic020580","draft","-499","-480","herbessus (?)","montagna di marzo","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020581",metadataFile:"metadata/ISic020581.json",htmlFile:"html/ISic020581.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020581",title:"ISic020581",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"cup of local manufacture",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-499,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020581_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020581","isic020581","draft","-499","-480","herbessus (?)","montagna di marzo","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020582",metadataFile:"metadata/ISic020582.json",htmlFile:"html/ISic020582.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020582",title:"ISic020582",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",cert:"low",ref:"http://kerameikos.org/id/amphora"},notBefore:-450,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020582_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020582","isic020582","draft","-450","-400","herbessus (?)","montagna di marzo","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020583",metadataFile:"metadata/ISic020583.json",htmlFile:"html/ISic020583.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020583",title:"ISic020583",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020583_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020583","isic020583","draft","-475","-450","herbessus (?)","montagna di marzo","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020584",metadataFile:"metadata/ISic020584.json",htmlFile:"html/ISic020584.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020584",title:"ISic020584",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[36,14],facsimile:{url:"ISic020584_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020584","isic020584","draft","-500","-450","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020585",metadataFile:"metadata/ISic020585.json",htmlFile:"html/ISic020585.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020585",title:"ISic020585",status:"draft",type:{_:"commercial mark",ana:"#function.commercial",ref:"https://www.eagle-network.eu/voc/typeins/lod/126.html"},objectType:{_:"pelike",ana:"#object.vessel.pelike",ref:"http://kerameikos.org/id/pelike"},notBefore:-450,notAfter:-420,geo:[37,13],facsimile:{url:"ISic020585_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Motyon (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462375"},placeName:"Motyon (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020585","isic020585","draft","-450","-420","motyon (?)","vassallaggi (s. cataldo)","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic020586",metadataFile:"metadata/ISic020586.json",htmlFile:"html/ISic020586.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020586",title:"ISic020586",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-499,notAfter:-480,geo:[38,15],facsimile:{url:"ISic020586_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Barcellona Pozzo di Gotto",type:"modern",ref:"http://sws.geonames.org/2525597/"},placeName:"Barcellona Pozzo di Gotto",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020586","isic020586","draft","-499","-480","barcellona pozzo di gotto","italy","sicily","ancient greek","grc"]},{file:"ISic020587",metadataFile:"metadata/ISic020587.json",htmlFile:"html/ISic020587.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020587",title:"ISic020587",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-500,geo:[37,13],facsimile:{url:"ISic020587_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Himera",type:"ancient",ref:"https://pleiades.stoa.org/places/462244"},placeName:"Himera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020587","isic020587","draft","-520","-500","himera","imera","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020588",metadataFile:"metadata/ISic020588.json",htmlFile:"html/ISic020588.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020588",title:"ISic020588",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-475,geo:[37,13],facsimile:{url:"ISic020588_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Himera",type:"ancient",ref:"https://pleiades.stoa.org/places/462244"},placeName:"Himera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020588","isic020588","draft","-500","-475","himera","imera","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020589",metadataFile:"metadata/ISic020589.json",htmlFile:"html/ISic020589.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020589",title:"ISic020589",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-475,geo:[37,13],facsimile:{url:"ISic020589_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Himera",type:"ancient",ref:"https://pleiades.stoa.org/places/462244"},placeName:"Himera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020589","isic020589","draft","-500","-475","himera","imera","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020590",metadataFile:"metadata/ISic020590.json",htmlFile:"html/ISic020590.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020590",title:"ISic020590",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"kantharos",ana:"#object.vessel.kantharos",ref:"http://kerameikos.org/id/kantharos"},notBefore:-475,notAfter:-450,geo:[37,13],facsimile:{url:"ISic020590_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Himera",type:"ancient",ref:"https://pleiades.stoa.org/places/462244"},placeName:"Himera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020590","isic020590","draft","-475","-450","himera","imera","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020591",metadataFile:"metadata/ISic020591.json",htmlFile:"html/ISic020591.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020591",title:"ISic020591",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-475,notAfter:-450,geo:[37,13],facsimile:{url:"ISic020591_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Himera",type:"ancient",ref:"https://pleiades.stoa.org/places/462244"},placeName:"Himera",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020591","isic020591","draft","-475","-450","himera","imera","italy","sicily","imera","parco archeologico di himera e antiquarium","ancient greek","grc"]},{file:"ISic020592",metadataFile:"metadata/ISic020592.json",htmlFile:"html/ISic020592.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020592",title:"ISic020592",status:"draft",type:{_:"artist inscription",ana:"#function.signature",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html",certainty:{locus:"value",match:"../@key",assertedValue:"#function.ownership",target:"https://www.eagle-network.eu/voc/typeins/lod/104.html",desc:"ownership"}},objectType:{_:"skyphoid-cup",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-525,notAfter:-500,geo:[37,15],facsimile:{url:"ISic020592_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Giardini Naxos",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Naxos",type:"ancient",ref:"http://pleiades.stoa.org/places/462386"},placeName:"Naxos",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020592","isic020592","draft","-525","-500","naxos","giardini naxos","italy","sicily","giardini naxos","museo archeologico di giardini naxos","ancient greek","grc"]},{file:"ISic020593",metadataFile:"metadata/ISic020593.json",htmlFile:"html/ISic020593.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020593",title:"ISic020593",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-420,notAfter:-380,geo:[37,15],facsimile:{url:"ISic020593_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Giardini Naxos",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Naxos",type:"ancient",ref:"http://pleiades.stoa.org/places/462386"},placeName:"Naxos",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020593","isic020593","draft","-420","-380","naxos","giardini naxos","italy","sicily","giardini naxos","museo archeologico di giardini naxos","ancient greek","grc"]},{file:"ISic020594",metadataFile:"metadata/ISic020594.json",htmlFile:"html/ISic020594.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020594",title:"ISic020594",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-420,notAfter:-380,geo:[37,15],facsimile:{url:"ISic020594_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Giardini Naxos",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Naxos",type:"ancient",ref:"http://pleiades.stoa.org/places/462386"},placeName:"Naxos",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020594","isic020594","draft","-420","-380","naxos","giardini naxos","italy","sicily","giardini naxos","museo archeologico di giardini naxos","ancient greek","grc"]},{file:"ISic020595",metadataFile:"metadata/ISic020595.json",htmlFile:"html/ISic020595.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020595",title:"ISic020595",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"sling bullet",ana:"#object.sling_bullet",ref:"https://www.eagle-network.eu/voc/objtyp/lod/50.html"},notBefore:-500,notAfter:-450,geo:[37,15],facsimile:{url:"ISic020595_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Giardini Naxos",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Naxos",type:"ancient",ref:"http://pleiades.stoa.org/places/462386"},placeName:"Naxos",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020595","isic020595","draft","-500","-450","naxos","giardini naxos","italy","sicily","giardini naxos","museo archeologico di giardini naxos","ancient greek","grc"]},{file:"ISic020596",metadataFile:"metadata/ISic020596.json",htmlFile:"html/ISic020596.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020596",title:"ISic020596",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"sling bullet",ana:"#object.sling_bullet",ref:"https://www.eagle-network.eu/voc/objtyp/lod/50.html"},notBefore:-420,notAfter:-400,geo:[37,15],facsimile:{url:"ISic020596_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Giardini Naxos",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Naxos",type:"ancient",ref:"http://pleiades.stoa.org/places/462386"},placeName:"Naxos",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020596","isic020596","draft","-420","-400","naxos","giardini naxos","italy","sicily","giardini naxos","museo archeologico di giardini naxos","ancient greek","grc"]},{file:"ISic020597",metadataFile:"metadata/ISic020597.json",htmlFile:"html/ISic020597.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020597",title:"ISic020597",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"pyxis",ana:"#object.vessel.pyxis",ref:"http://kerameikos.org/id/pyxis"},notBefore:-700,notAfter:-675,geo:[37,15],facsimile:{url:"ISic020597_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020597","isic020597","draft","-700","-675","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020598",metadataFile:"metadata/ISic020598.json",htmlFile:"html/ISic020598.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020598",title:"ISic020598",status:"draft",type:{_:"artist inscription",ana:"#function.signature",ref:"https://www.eagle-network.eu/voc/typeins/lod/105.html"},objectType:{_:"antefix",ana:"#object.antefix",ref:"https://www.eagle-network.eu/voc/objtyp/lod/28.html"},notBefore:-575,notAfter:-550,geo:[36,14],facsimile:{url:"ISic020598_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020598","isic020598","draft","-575","-550","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020599",metadataFile:"metadata/ISic020599.json",htmlFile:"html/ISic020599.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020599",title:"ISic020599",status:"draft",type:{_:"ludic",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-550,notAfter:-450,geo:[38,23],facsimile:{url:"ISic020599_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Boeotia",type:"ancient",ref:"https://pleiades.stoa.org/places/540689"},placeName:"Boeotia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020599","isic020599","draft","-550","-450","boeotia","central greece","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020601",metadataFile:"metadata/ISic020601.json",htmlFile:"html/ISic020601.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020601",title:"ISic020601",status:"draft",type:{_:"ludic, ownership",ana:"#function.ludic #function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-420,notAfter:-400,geo:[37,15],facsimile:{url:"ISic020601_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020601","isic020601","draft","-420","-400","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020602",metadataFile:"metadata/ISic020602.json",htmlFile:"html/ISic020602.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020602",title:"ISic020602",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-500,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020602_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Mendolito",type:"modern",ref:"http://sws.geonames.org/11103527"},placeName:"Mendolito",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020602","isic020602","draft","-500","-400","mendolito","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020603",metadataFile:"metadata/ISic020603.json",htmlFile:"html/ISic020603.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020603",title:"ISic020603",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-500,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020603_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Mendolito",type:"modern",ref:"http://sws.geonames.org/11103527"},placeName:"Mendolito",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020603","isic020603","draft","-500","-400","mendolito","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020604",metadataFile:"metadata/ISic020604.json",htmlFile:"html/ISic020604.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020604",title:"ISic020604",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-500,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020604_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Adrano",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Mendolito",type:"modern",ref:"http://sws.geonames.org/11103527"},placeName:"Mendolito",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020604","isic020604","draft","-500","-400","mendolito","italy","sicily","adrano","museo archeologico regionale di adrano","sikel","scx"]},{file:"ISic020605",metadataFile:"metadata/ISic020605.json",htmlFile:"html/ISic020605.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020605",title:"ISic020605",status:"draft",type:{_:"building",ana:"#function.building",ref:"http://www.eagle-network.eu/voc/typeins/lod/86.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020605_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Adrano",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Mendolito",type:"modern",ref:"http://sws.geonames.org/11103527"},placeName:"Mendolito",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020605","isic020605","draft","-520","-400","mendolito","italy","sicily","adrano","museo archeologico regionale di adrano","sikel","scx"]},{file:"ISic020606",metadataFile:"metadata/ISic020606.json",htmlFile:"html/ISic020606.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020606",title:"ISic020606",status:"draft",type:{_:"ludic (?)",ana:"#function.ludic",cert:"low",ref:"https://www.eagle-network.eu/voc/ typeins/lod/369.html"},objectType:{_:"askos (local production)",ana:"#object.vessel.askos",ref:"http://kerameikos.org/id/askos"},notBefore:-499,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020606_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Germany",region:"Baden-Württemberg",settlement:"Karlsruhe",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020606","isic020606","draft","-499","-450","centuripae","centuripe","germany","baden-württemberg","karlsruhe","badisches landesmuseum","sikel","scx"]},{file:"ISic020607",metadataFile:"metadata/ISic020607.json",htmlFile:"html/ISic020607.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020607",title:"ISic020607",status:"draft",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020607_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Centuripe",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Centuripae",type:"ancient",ref:"http://pleiades.stoa.org/places/462153"},placeName:"Centuripae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020607","isic020607","draft","-520","-480","centuripae","centuripe","italy","sicily","centuripe","museo archeologico regionale di centuripe","sikel","scx"]},{file:"ISic020608",metadataFile:"metadata/ISic020608.json",htmlFile:"html/ISic020608.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020608",title:"ISic020608",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"oinochoe",ana:"#object.vessel.oinochoe",ref:"http://kerameikos.org/id/oinochoe"},notBefore:-530,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020608_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Adrano",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Inessa (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/465922"},placeName:"Inessa (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020608","isic020608","draft","-530","-500","inessa (?)","poira (contrada civita)","italy","sicily","adrano","museo archeologico regionale di adrano","sikel","scx"]},{file:"ISic020609",metadataFile:"metadata/ISic020609.json",htmlFile:"html/ISic020609.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020609",title:"ISic020609",status:"draft",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020609_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"csx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020609","isic020609","draft","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","csx"]},{file:"ISic020610",metadataFile:"metadata/ISic020610.json",htmlFile:"html/ISic020610.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020610",title:"ISic020610",status:"draft",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020610_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"csx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020610","isic020610","draft","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","csx"]},{file:"ISic020611",metadataFile:"metadata/ISic020611.json",htmlFile:"html/ISic020611.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020611",title:"ISic020611",status:"draft",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020611_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"csx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020611","isic020611","draft","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","csx"]},{file:"ISic020612",metadataFile:"metadata/ISic020612.json",htmlFile:"html/ISic020612.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020612",title:"ISic020612",status:"draft",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020612_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"csx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020612","isic020612","draft","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","csx"]},{file:"ISic020613",metadataFile:"metadata/ISic020613.json",htmlFile:"html/ISic020613.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020613",title:"ISic020613",status:"draft",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020613_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"csx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020613","isic020613","draft","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","csx"]},{file:"ISic020614",metadataFile:"metadata/ISic020614.json",htmlFile:"html/ISic020614.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020614",title:"ISic020614",status:"unchecked",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020614_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020614","isic020614","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic020615",metadataFile:"metadata/ISic020615.json",htmlFile:"html/ISic020615.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020615",title:"ISic020615",status:"unchecked",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020615_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020615","isic020615","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic020616",metadataFile:"metadata/ISic020616.json",htmlFile:"html/ISic020616.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020616",title:"ISic020616",status:"unchecked",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020616_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020616","isic020616","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic020617",metadataFile:"metadata/ISic020617.json",htmlFile:"html/ISic020617.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020617",title:"ISic020617",status:"unchecked",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020617_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020617","isic020617","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic020618",metadataFile:"metadata/ISic020618.json",htmlFile:"html/ISic020618.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020618",title:"ISic020618",status:"unchecked",type:{_:"votive (?)",ana:"#function.votive",cert:"low",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020618_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020618","isic020618","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic020619",metadataFile:"metadata/ISic020619.json",htmlFile:"html/ISic020619.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020619",title:"ISic020619",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020619_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020619","isic020619","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020620",metadataFile:"metadata/ISic020620.json",htmlFile:"html/ISic020620.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020620",title:"ISic020620",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020620_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020620","isic020620","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020621",metadataFile:"metadata/ISic020621.json",htmlFile:"html/ISic020621.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020621",title:"ISic020621",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020621_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020621","isic020621","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020622",metadataFile:"metadata/ISic020622.json",htmlFile:"html/ISic020622.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020622",title:"ISic020622",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020622_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020622","isic020622","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020623",metadataFile:"metadata/ISic020623.json",htmlFile:"html/ISic020623.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020623",title:"ISic020623",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020623_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020623","isic020623","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020624",metadataFile:"metadata/ISic020624.json",htmlFile:"html/ISic020624.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020624",title:"ISic020624",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020624_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020624","isic020624","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020625",metadataFile:"metadata/ISic020625.json",htmlFile:"html/ISic020625.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020625",title:"ISic020625",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020625_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020625","isic020625","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020626",metadataFile:"metadata/ISic020626.json",htmlFile:"html/ISic020626.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020626",title:"ISic020626",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020626_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020626","isic020626","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020627",metadataFile:"metadata/ISic020627.json",htmlFile:"html/ISic020627.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020627",title:"ISic020627",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020627_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020627","isic020627","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020628",metadataFile:"metadata/ISic020628.json",htmlFile:"html/ISic020628.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020628",title:"ISic020628",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020628_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020628","isic020628","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020629",metadataFile:"metadata/ISic020629.json",htmlFile:"html/ISic020629.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020629",title:"ISic020629",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020629_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020629","isic020629","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020630",metadataFile:"metadata/ISic020630.json",htmlFile:"html/ISic020630.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020630",title:"ISic020630",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020630_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020630","isic020630","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020631",metadataFile:"metadata/ISic020631.json",htmlFile:"html/ISic020631.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020631",title:"ISic020631",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020631_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020631","isic020631","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020632",metadataFile:"metadata/ISic020632.json",htmlFile:"html/ISic020632.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020632",title:"ISic020632",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020632_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020632","isic020632","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020633",metadataFile:"metadata/ISic020633.json",htmlFile:"html/ISic020633.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020633",title:"ISic020633",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020633_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020633","isic020633","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020634",metadataFile:"metadata/ISic020634.json",htmlFile:"html/ISic020634.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020634",title:"ISic020634",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020634_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020634","isic020634","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020635",metadataFile:"metadata/ISic020635.json",htmlFile:"html/ISic020635.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020635",title:"ISic020635",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020635_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020635","isic020635","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020636",metadataFile:"metadata/ISic020636.json",htmlFile:"html/ISic020636.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020636",title:"ISic020636",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020636_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020636","isic020636","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020637",metadataFile:"metadata/ISic020637.json",htmlFile:"html/ISic020637.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020637",title:"ISic020637",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020637_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020637","isic020637","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020638",metadataFile:"metadata/ISic020638.json",htmlFile:"html/ISic020638.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020638",title:"ISic020638",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020638_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020638","isic020638","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020639",metadataFile:"metadata/ISic020639.json",htmlFile:"html/ISic020639.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020639",title:"ISic020639",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020639_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020639","isic020639","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020640",metadataFile:"metadata/ISic020640.json",htmlFile:"html/ISic020640.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020640",title:"ISic020640",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020640_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020640","isic020640","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020641",metadataFile:"metadata/ISic020641.json",htmlFile:"html/ISic020641.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020641",title:"ISic020641",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020641_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020641","isic020641","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020642",metadataFile:"metadata/ISic020642.json",htmlFile:"html/ISic020642.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020642",title:"ISic020642",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020642_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020642","isic020642","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020643",metadataFile:"metadata/ISic020643.json",htmlFile:"html/ISic020643.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020643",title:"ISic020643",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020643_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Hybla Gereatis (?)",type:"ancient",ref:"http://pleiades.stoa.org/places/462251"},placeName:"Hybla Gereatis (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020643","isic020643","unchecked","-520","-480","hybla gereatis (?)","paternò-civita","italy","sicily","paternò","museo civico gaetano savasta","sikel","scx"]},{file:"ISic020644",metadataFile:"metadata/ISic020644.json",htmlFile:"html/ISic020644.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020644",title:"ISic020644",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-600,notAfter:-400,geo:[37,14],facsimile:{url:"ISic020644_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Adrano",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Palikè",type:"ancient",ref:"https://pleiades.stoa.org/places/465970"},placeName:"Palikè",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020644","isic020644","unchecked","-600","-400","palikè","area archeologica di palikè","italy","sicily","adrano","museo archeologico regionale di adrano","sikel","scx"]},{file:"ISic020645",metadataFile:"metadata/ISic020645.json",htmlFile:"html/ISic020645.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020645",title:"ISic020645",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel, fragment",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020645_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020645","isic020645","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020646",metadataFile:"metadata/ISic020646.json",htmlFile:"html/ISic020646.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020646",title:"ISic020646",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020646_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020646","isic020646","draft","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020647",metadataFile:"metadata/ISic020647.json",htmlFile:"html/ISic020647.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020647",title:"ISic020647",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020647_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020647","isic020647","draft","-599","-550","montagna di ramacca","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020648",metadataFile:"metadata/ISic020648.json",htmlFile:"html/ISic020648.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020648",title:"ISic020648",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020648_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020648","isic020648","draft","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020649",metadataFile:"metadata/ISic020649.json",htmlFile:"html/ISic020649.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020649",title:"ISic020649",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020649_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020649","isic020649","draft","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020650",metadataFile:"metadata/ISic020650.json",htmlFile:"html/ISic020650.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020650",title:"ISic020650",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020650_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020650","isic020650","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020651",metadataFile:"metadata/ISic020651.json",htmlFile:"html/ISic020651.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020651",title:"ISic020651",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020651_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020651","isic020651","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020652",metadataFile:"metadata/ISic020652.json",htmlFile:"html/ISic020652.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020652",title:"ISic020652",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020652_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020652","isic020652","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020653",metadataFile:"metadata/ISic020653.json",htmlFile:"html/ISic020653.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020653",title:"ISic020653",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020653_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020653","isic020653","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020654",metadataFile:"metadata/ISic020654.json",htmlFile:"html/ISic020654.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020654",title:"ISic020654",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020654_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020654","isic020654","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020655",metadataFile:"metadata/ISic020655.json",htmlFile:"html/ISic020655.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020655",title:"ISic020655",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020655_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020655","isic020655","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020656",metadataFile:"metadata/ISic020656.json",htmlFile:"html/ISic020656.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020656",title:"ISic020656",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020656_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020656","isic020656","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020657",metadataFile:"metadata/ISic020657.json",htmlFile:"html/ISic020657.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020657",title:"ISic020657",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020657_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020657","isic020657","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020658",metadataFile:"metadata/ISic020658.json",htmlFile:"html/ISic020658.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020658",title:"ISic020658",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020658_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020658","isic020658","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020659",metadataFile:"metadata/ISic020659.json",htmlFile:"html/ISic020659.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020659",title:"ISic020659",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020659_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020659","isic020659","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020660",metadataFile:"metadata/ISic020660.json",htmlFile:"html/ISic020660.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020660",title:"ISic020660",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020660_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020660","isic020660","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020661",metadataFile:"metadata/ISic020661.json",htmlFile:"html/ISic020661.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020661",title:"ISic020661",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020661_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020661","isic020661","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020662",metadataFile:"metadata/ISic020662.json",htmlFile:"html/ISic020662.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020662",title:"ISic020662",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020662_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020662","isic020662","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020663",metadataFile:"metadata/ISic020663.json",htmlFile:"html/ISic020663.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020663",title:"ISic020663",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020663_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020663","isic020663","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020664",metadataFile:"metadata/ISic020664.json",htmlFile:"html/ISic020664.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020664",title:"ISic020664",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020664_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020664","isic020664","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020665",metadataFile:"metadata/ISic020665.json",htmlFile:"html/ISic020665.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020665",title:"ISic020665",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020665_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020665","isic020665","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020666",metadataFile:"metadata/ISic020666.json",htmlFile:"html/ISic020666.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020666",title:"ISic020666",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020666_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ramacca",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Montagna di Ramacca",type:"modern",ref:"http://sws.geonames.org/2523644/"},placeName:"Montagna di Ramacca",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020666","isic020666","unchecked","-599","-550","montagna di ramacca","italy","sicily","ramacca","museo civico archeologico di ramacca","sikel","scx"]},{file:"ISic020667",metadataFile:"metadata/ISic020667.json",htmlFile:"html/ISic020667.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020667",title:"ISic020667",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020667_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Euboia",type:"ancient",ref:"http://pleiades.stoa.org/places/462203"},placeName:"Euboia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020667","isic020667","unchecked","-550","-500","euboia","licodia eubea","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020668",metadataFile:"metadata/ISic020668.json",htmlFile:"html/ISic020668.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020668",title:"ISic020668",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020668_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Euboia",type:"ancient",ref:"http://pleiades.stoa.org/places/462203"},placeName:"Euboia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020668","isic020668","unchecked","-550","-500","euboia","licodia eubea","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020669",metadataFile:"metadata/ISic020669.json",htmlFile:"html/ISic020669.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020669",title:"ISic020669",status:"unchecked",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-550,notAfter:-500,geo:[37,14],facsimile:{url:"ISic020669_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Euboia",type:"ancient",ref:"http://pleiades.stoa.org/places/462203"},placeName:"Euboia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020669","isic020669","unchecked","-550","-500","euboia","licodia eubea","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020670",metadataFile:"metadata/ISic020670.json",htmlFile:"html/ISic020670.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020670",title:"ISic020670",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020670_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020670","isic020670","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020671",metadataFile:"metadata/ISic020671.json",htmlFile:"html/ISic020671.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020671",title:"ISic020671",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020671_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020671","isic020671","draft","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020672",metadataFile:"metadata/ISic020672.json",htmlFile:"html/ISic020672.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020672",title:"ISic020672",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-499,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020672_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020672","isic020672","unchecked","-499","-450","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020673",metadataFile:"metadata/ISic020673.json",htmlFile:"html/ISic020673.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020673",title:"ISic020673",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020673_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020673","isic020673","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020674",metadataFile:"metadata/ISic020674.json",htmlFile:"html/ISic020674.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020674",title:"ISic020674",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020674_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020674","isic020674","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020675",metadataFile:"metadata/ISic020675.json",htmlFile:"html/ISic020675.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020675",title:"ISic020675",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020675_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020675","isic020675","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020676",metadataFile:"metadata/ISic020676.json",htmlFile:"html/ISic020676.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020676",title:"ISic020676",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020676_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020676","isic020676","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020677",metadataFile:"metadata/ISic020677.json",htmlFile:"html/ISic020677.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020677",title:"ISic020677",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020677_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020677","isic020677","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020678",metadataFile:"metadata/ISic020678.json",htmlFile:"html/ISic020678.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020678",title:"ISic020678",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020678_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020678","isic020678","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020679",metadataFile:"metadata/ISic020679.json",htmlFile:"html/ISic020679.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020679",title:"ISic020679",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020679_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020679","isic020679","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020680",metadataFile:"metadata/ISic020680.json",htmlFile:"html/ISic020680.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020680",title:"ISic020680",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020680_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020680","isic020680","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020681",metadataFile:"metadata/ISic020681.json",htmlFile:"html/ISic020681.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020681",title:"ISic020681",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020681_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020681","isic020681","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020682",metadataFile:"metadata/ISic020682.json",htmlFile:"html/ISic020682.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020682",title:"ISic020682",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020682_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020682","isic020682","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020683",metadataFile:"metadata/ISic020683.json",htmlFile:"html/ISic020683.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020683",title:"ISic020683",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020683_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020683","isic020683","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020684",metadataFile:"metadata/ISic020684.json",htmlFile:"html/ISic020684.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020684",title:"ISic020684",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020684_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020684","isic020684","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020685",metadataFile:"metadata/ISic020685.json",htmlFile:"html/ISic020685.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020685",title:"ISic020685",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020685_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020685","isic020685","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020686",metadataFile:"metadata/ISic020686.json",htmlFile:"html/ISic020686.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020686",title:"ISic020686",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020686_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020686","isic020686","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020687",metadataFile:"metadata/ISic020687.json",htmlFile:"html/ISic020687.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020687",title:"ISic020687",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020687_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020687","isic020687","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020688",metadataFile:"metadata/ISic020688.json",htmlFile:"html/ISic020688.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020688",title:"ISic020688",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020688_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020688","isic020688","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020689",metadataFile:"metadata/ISic020689.json",htmlFile:"html/ISic020689.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020689",title:"ISic020689",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020689_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020689","isic020689","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020690",metadataFile:"metadata/ISic020690.json",htmlFile:"html/ISic020690.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020690",title:"ISic020690",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020690_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020690","isic020690","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020691",metadataFile:"metadata/ISic020691.json",htmlFile:"html/ISic020691.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020691",title:"ISic020691",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020691_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020691","isic020691","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020692",metadataFile:"metadata/ISic020692.json",htmlFile:"html/ISic020692.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020692",title:"ISic020692",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020692_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020692","isic020692","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020693",metadataFile:"metadata/ISic020693.json",htmlFile:"html/ISic020693.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020693",title:"ISic020693",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020693_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020693","isic020693","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020694",metadataFile:"metadata/ISic020694.json",htmlFile:"html/ISic020694.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020694",title:"ISic020694",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020694_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020694","isic020694","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020695",metadataFile:"metadata/ISic020695.json",htmlFile:"html/ISic020695.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020695",title:"ISic020695",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020695_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020695","isic020695","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020696",metadataFile:"metadata/ISic020696.json",htmlFile:"html/ISic020696.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020696",title:"ISic020696",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020696_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020696","isic020696","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020697",metadataFile:"metadata/ISic020697.json",htmlFile:"html/ISic020697.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020697",title:"ISic020697",status:"unchecked",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic020697_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020697","isic020697","unchecked","-599","-550","monte casasia","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020698",metadataFile:"metadata/ISic020698.json",htmlFile:"html/ISic020698.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020698",title:"ISic020698",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-480,geo:[36,14],facsimile:{url:"ISic020698_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Castiglione di Ragusa",type:"modern",ref:"http://pleiades.stoa.org/places/462144"},placeName:"Castiglione di Ragusa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020698","isic020698","draft","-575","-480","castiglione di ragusa","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic020699",metadataFile:"metadata/ISic020699.json",htmlFile:"html/ISic020699.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020699",title:"ISic020699",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-480,geo:[36,14],facsimile:{url:"ISic020699_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Castiglione di Ragusa",type:"modern",ref:"http://pleiades.stoa.org/places/462144"},placeName:"Castiglione di Ragusa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020699","isic020699","draft","-575","-480","castiglione di ragusa","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic020700",metadataFile:"metadata/ISic020700.json",htmlFile:"html/ISic020700.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020700",title:"ISic020700",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-575,notAfter:-480,geo:[36,14],facsimile:{url:"ISic020700_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Castiglione di Ragusa",type:"modern",ref:"http://pleiades.stoa.org/places/462144"},placeName:"Castiglione di Ragusa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020700","isic020700","draft","-575","-480","castiglione di ragusa","italy","sicily","ragusa","museo archeologico ibleo","sikel","scx"]},{file:"ISic020701",metadataFile:"metadata/ISic020701.json",htmlFile:"html/ISic020701.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020701",title:"ISic020701",status:"draft",type:{_:"ludic (?)",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html",cert:"low"},objectType:{_:"kotyle",ana:"#object.vessel.kotyle",ref:"http://kerameikos.org/id/kotyle"},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020701_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020701","isic020701","draft","-520","-480","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","sikel","scx"]},{file:"ISic020702",metadataFile:"metadata/ISic020702.json",htmlFile:"html/ISic020702.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020702",title:"ISic020702",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"bowl",ana:"#object.vessel.bowl",ref:"http://kerameikos.org/id/bowl"},notBefore:-550,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020702_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Grammichele",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020702","isic020702","draft","-550","-480","terravecchia di grammichele","italy","sicily","grammichele","museo archeologico di grammichele","sikel","scx"]},{file:"ISic020703",metadataFile:"metadata/ISic020703.json",htmlFile:"html/ISic020703.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020703",title:"ISic020703",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020703_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Grammichele",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020703","isic020703","draft","-500","-450","terravecchia di grammichele","italy","sicily","grammichele","museo archeologico di grammichele","sikel","scx"]},{file:"ISic020704",metadataFile:"metadata/ISic020704.json",htmlFile:"html/ISic020704.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020704",title:"ISic020704",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020704_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Grammichele",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020704","isic020704","draft","-500","-450","terravecchia di grammichele","italy","sicily","grammichele","museo archeologico di grammichele","sikel","scx"]},{file:"ISic020705",metadataFile:"metadata/ISic020705.json",htmlFile:"html/ISic020705.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020705",title:"ISic020705",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"bust",ana:"#object.bust",ref:"https://www.eagle-network.eu/voc/objtyp/lod/135.html"},notBefore:-480,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020705_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020705","isic020705","draft","-480","-450","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020706",metadataFile:"metadata/ISic020706.json",htmlFile:"html/ISic020706.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020706",title:"ISic020706",status:"unchecked",type:{ana:"#function....",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020706_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020706","isic020706","unchecked","-520","-480","terravecchia di grammichele","italy","sicily","sikel","scx"]},{file:"ISic020707",metadataFile:"metadata/ISic020707.json",htmlFile:"html/ISic020707.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020707",title:"ISic020707",status:"unchecked",type:{ana:"#function....",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020707_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020707","isic020707","unchecked","-520","-480","terravecchia di grammichele","italy","sicily","sikel","scx"]},{file:"ISic020708",metadataFile:"metadata/ISic020708.json",htmlFile:"html/ISic020708.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020708",title:"ISic020708",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020708_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020708","isic020708","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020709",metadataFile:"metadata/ISic020709.json",htmlFile:"html/ISic020709.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020709",title:"ISic020709",status:"draft",type:{_:"production or ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020709_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020709","isic020709","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020710",metadataFile:"metadata/ISic020710.json",htmlFile:"html/ISic020710.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020710",title:"ISic020710",status:"draft",type:{_:"production or ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020710_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020710","isic020710","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020711",metadataFile:"metadata/ISic020711.json",htmlFile:"html/ISic020711.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020711",title:"ISic020711",status:"draft",type:{_:"ludic (symposium context?)",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html"},objectType:{_:"stemless kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020711_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020711","isic020711","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020712",metadataFile:"metadata/ISic020712.json",htmlFile:"html/ISic020712.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020712",title:"ISic020712",status:"draft",type:{_:"ludic (symposium context?)",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html"},objectType:{_:"mug",ana:"#object.vessel.mug",cert:"low",ref:"http://kerameikos.org/id/mug"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020712_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020712","isic020712","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020713",metadataFile:"metadata/ISic020713.json",htmlFile:"html/ISic020713.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020713",title:"ISic020713",status:"draft",type:{_:"production or ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020713_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020713","isic020713","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","ancient greek","grc"]},{file:"ISic020714",metadataFile:"metadata/ISic020714.json",htmlFile:"html/ISic020714.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020714",title:"ISic020714",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"lamp",ana:"#object.vessel.lamp",ref:"http://kerameikos.org/id/lamp"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020714_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020714","isic020714","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","ancient greek","grc"]},{file:"ISic020715",metadataFile:"metadata/ISic020715.json",htmlFile:"html/ISic020715.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020715",title:"ISic020715",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020715_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020715","isic020715","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020716",metadataFile:"metadata/ISic020716.json",htmlFile:"html/ISic020716.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020716",title:"ISic020716",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020716_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020716","isic020716","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020717",metadataFile:"metadata/ISic020717.json",htmlFile:"html/ISic020717.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020717",title:"ISic020717",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020717_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020717","isic020717","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020718",metadataFile:"metadata/ISic020718.json",htmlFile:"html/ISic020718.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020718",title:"ISic020718",status:"draft",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020718_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020718","isic020718","draft","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020719",metadataFile:"metadata/ISic020719.json",htmlFile:"html/ISic020719.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020719",title:"ISic020719",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020719_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020719","isic020719","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020720",metadataFile:"metadata/ISic020720.json",htmlFile:"html/ISic020720.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020720",title:"ISic020720",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020720_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020720","isic020720","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020721",metadataFile:"metadata/ISic020721.json",htmlFile:"html/ISic020721.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020721",title:"ISic020721",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020721_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020721","isic020721","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020722",metadataFile:"metadata/ISic020722.json",htmlFile:"html/ISic020722.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020722",title:"ISic020722",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020722_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020722","isic020722","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020723",metadataFile:"metadata/ISic020723.json",htmlFile:"html/ISic020723.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020723",title:"ISic020723",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020723_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020723","isic020723","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020724",metadataFile:"metadata/ISic020724.json",htmlFile:"html/ISic020724.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020724",title:"ISic020724",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020724_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020724","isic020724","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020725",metadataFile:"metadata/ISic020725.json",htmlFile:"html/ISic020725.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020725",title:"ISic020725",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020725_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020725","isic020725","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020726",metadataFile:"metadata/ISic020726.json",htmlFile:"html/ISic020726.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020726",title:"ISic020726",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020726_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020726","isic020726","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020727",metadataFile:"metadata/ISic020727.json",htmlFile:"html/ISic020727.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020727",title:"ISic020727",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020727_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020727","isic020727","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020728",metadataFile:"metadata/ISic020728.json",htmlFile:"html/ISic020728.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020728",title:"ISic020728",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020728_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020728","isic020728","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020729",metadataFile:"metadata/ISic020729.json",htmlFile:"html/ISic020729.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020729",title:"ISic020729",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020729_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020729","isic020729","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020730",metadataFile:"metadata/ISic020730.json",htmlFile:"html/ISic020730.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020730",title:"ISic020730",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020730_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020730","isic020730","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020731",metadataFile:"metadata/ISic020731.json",htmlFile:"html/ISic020731.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020731",title:"ISic020731",status:"draft",type:{_:"private (graffito), dedication?",ana:"#function.document.private",ref:"https://www.eagle-network.eu/voc/typeins/lod/359.html"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-460,notAfter:-440,geo:[37,14],facsimile:{url:"ISic020731_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020731","isic020731","draft","-460","-440","herbessus (?)","montagna di marzo","italy","sicily","gela","museo archeologico regionale di gela","sikel","scx"]},{file:"ISic020732",metadataFile:"metadata/ISic020732.json",htmlFile:"html/ISic020732.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020732",title:"ISic020732",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020732_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020732","isic020732","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020733",metadataFile:"metadata/ISic020733.json",htmlFile:"html/ISic020733.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020733",title:"ISic020733",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020733_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020733","isic020733","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020734",metadataFile:"metadata/ISic020734.json",htmlFile:"html/ISic020734.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020734",title:"ISic020734",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"mug",ana:"#object.vessel.mug",ref:"http://kerameikos.org/id/mug"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020734_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020734","isic020734","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020735",metadataFile:"metadata/ISic020735.json",htmlFile:"html/ISic020735.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020735",title:"ISic020735",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"oinochoe (local manufacture)",ana:"#object.vessel.oinochoe",ref:"http://kerameikos.org/id/oinochoe"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020735_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020735","isic020735","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020736",metadataFile:"metadata/ISic020736.json",htmlFile:"html/ISic020736.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020736",title:"ISic020736",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"oinochoe (local manufacture)",ana:"#object.vessel.oinochoe",ref:"http://kerameikos.org/id/oinochoe"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020736_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020736","isic020736","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020737",metadataFile:"metadata/ISic020737.json",htmlFile:"html/ISic020737.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020737",title:"ISic020737",status:"draft",type:{_:"private (graffito), label indicating the content of the vessel (?)",ana:"#function.label",ref:"https://www.eagle-network.eu/voc/typeins/lod/109.html"},objectType:{_:"oinochoe (local manufacture)",ana:"#object.vessel.oinochoe",ref:"http://kerameikos.org/id/oinochoe"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020737_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020737","isic020737","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020738",metadataFile:"metadata/ISic020738.json",htmlFile:"html/ISic020738.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020738",title:"ISic020738",status:"draft",type:{_:"commercial mark (?)",ana:"#function.commercial",ref:"https://www.eagle-network.eu/voc/typeins/lod/126.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020738_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020738","isic020738","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020739",metadataFile:"metadata/ISic020739.json",htmlFile:"html/ISic020739.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020739",title:"ISic020739",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020739_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020739","isic020739","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020740",metadataFile:"metadata/ISic020740.json",htmlFile:"html/ISic020740.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020740",title:"ISic020740",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020740_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020740","isic020740","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020741",metadataFile:"metadata/ISic020741.json",htmlFile:"html/ISic020741.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020741",title:"ISic020741",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020741_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020741","isic020741","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020742",metadataFile:"metadata/ISic020742.json",htmlFile:"html/ISic020742.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020742",title:"ISic020742",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020742_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020742","isic020742","draft","-500","-480","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020743",metadataFile:"metadata/ISic020743.json",htmlFile:"html/ISic020743.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020743",title:"ISic020743",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020743_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020743","isic020743","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020744",metadataFile:"metadata/ISic020744.json",htmlFile:"html/ISic020744.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020744",title:"ISic020744",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020744_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020744","isic020744","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020745",metadataFile:"metadata/ISic020745.json",htmlFile:"html/ISic020745.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020745",title:"ISic020745",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020745_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020745","isic020745","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020746",metadataFile:"metadata/ISic020746.json",htmlFile:"html/ISic020746.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020746",title:"ISic020746",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020746_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020746","isic020746","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020747",metadataFile:"metadata/ISic020747.json",htmlFile:"html/ISic020747.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020747",title:"ISic020747",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020747_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020747","isic020747","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020748",metadataFile:"metadata/ISic020748.json",htmlFile:"html/ISic020748.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020748",title:"ISic020748",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020748_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020748","isic020748","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020749",metadataFile:"metadata/ISic020749.json",htmlFile:"html/ISic020749.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020749",title:"ISic020749",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"bowl",ana:"#object.vessel.bowl",ref:"http://kerameikos.org/id/bowl"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020749_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020749","isic020749","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020750",metadataFile:"metadata/ISic020750.json",htmlFile:"html/ISic020750.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020750",title:"ISic020750",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020750_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020750","isic020750","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020751",metadataFile:"metadata/ISic020751.json",htmlFile:"html/ISic020751.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020751",title:"ISic020751",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"hydria",ana:"#object.vessel.hydria",ref:"http://kerameikos.org/id/hydria"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020751_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020751","isic020751","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020752",metadataFile:"metadata/ISic020752.json",htmlFile:"html/ISic020752.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020752",title:"ISic020752",status:"draft",type:{_:"ludic",ana:"#function.ludic",ref:"https://www.eagle-network.eu/voc/typeins/lod/369.html"},objectType:{_:"anfora",ana:"#object.vessel.anfora",ref:"http://kerameikos.org/id/anfora"},notBefore:-525,notAfter:-480,geo:[37,14],facsimile:{url:"ISic020752_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020752","isic020752","draft","-525","-480","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020753",metadataFile:"metadata/ISic020753.json",htmlFile:"html/ISic020753.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020753",title:"ISic020753",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020753_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020753","isic020753","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020754",metadataFile:"metadata/ISic020754.json",htmlFile:"html/ISic020754.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020754",title:"ISic020754",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020754_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020754","isic020754","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020755",metadataFile:"metadata/ISic020755.json",htmlFile:"html/ISic020755.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020755",title:"ISic020755",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020755_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020755","isic020755","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020756",metadataFile:"metadata/ISic020756.json",htmlFile:"html/ISic020756.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020756",title:"ISic020756",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020756_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020756","isic020756","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020757",metadataFile:"metadata/ISic020757.json",htmlFile:"html/ISic020757.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020757",title:"ISic020757",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"bowl",ana:"#object.vessel.bowl",ref:"http://kerameikos.org/id/bowl"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020757_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020757","isic020757","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020758",metadataFile:"metadata/ISic020758.json",htmlFile:"html/ISic020758.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020758",title:"ISic020758",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"bowl",ana:"#object.vessel.bowl",ref:"http://kerameikos.org/id/bowl"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020758_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020758","isic020758","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020759",metadataFile:"metadata/ISic020759.json",htmlFile:"html/ISic020759.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020759",title:"ISic020759",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"pyxis, lid",ana:"#object.vessel.pyxis",ref:"http://kerameikos.org/id/pyxis"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020759_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020759","isic020759","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020760",metadataFile:"metadata/ISic020760.json",htmlFile:"html/ISic020760.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020760",title:"ISic020760",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020760_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020760","isic020760","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020761",metadataFile:"metadata/ISic020761.json",htmlFile:"html/ISic020761.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020761",title:"ISic020761",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020761_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Lost",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020761","isic020761","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","lost","sikel","scx"]},{file:"ISic020762",metadataFile:"metadata/ISic020762.json",htmlFile:"html/ISic020762.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020762",title:"ISic020762",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020762_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020762","isic020762","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020763",metadataFile:"metadata/ISic020763.json",htmlFile:"html/ISic020763.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020763",title:"ISic020763",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020763_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Lost",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020763","isic020763","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","lost","ancient greek","grc"]},{file:"ISic020764",metadataFile:"metadata/ISic020764.json",htmlFile:"html/ISic020764.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020764",title:"ISic020764",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020764_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020764","isic020764","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020765",metadataFile:"metadata/ISic020765.json",htmlFile:"html/ISic020765.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020765",title:"ISic020765",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020765_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020765","isic020765","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020766",metadataFile:"metadata/ISic020766.json",htmlFile:"html/ISic020766.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020766",title:"ISic020766",status:"draft",type:{_:"ownership",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020766_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020766","isic020766","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020767",metadataFile:"metadata/ISic020767.json",htmlFile:"html/ISic020767.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020767",title:"ISic020767",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020767_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020767","isic020767","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020768",metadataFile:"metadata/ISic020768.json",htmlFile:"html/ISic020768.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020768",title:"ISic020768",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020768_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020768","isic020768","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020769",metadataFile:"metadata/ISic020769.json",htmlFile:"html/ISic020769.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020769",title:"ISic020769",status:"deprecated",type:{_:"abecedarium",ana:"#function.abecedarium",ref:"http://www.eagle-network.eu/voc/typeins/l od/112.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020769_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020769","isic020769","deprecated","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020770",metadataFile:"metadata/ISic020770.json",htmlFile:"html/ISic020770.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020770",title:"ISic020770",status:"draft",type:{_:"measure",ana:"#function.measure",ref:"http://www.eagle-network.eu/voc/typeins/lod/123.html"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020770_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020770","isic020770","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020771",metadataFile:"metadata/ISic020771.json",htmlFile:"html/ISic020771.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020771",title:"ISic020771",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020771_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020771","isic020771","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020772",metadataFile:"metadata/ISic020772.json",htmlFile:"html/ISic020772.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020772",title:"ISic020772",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"vessel",ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020772_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020772","isic020772","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020773",metadataFile:"metadata/ISic020773.json",htmlFile:"html/ISic020773.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020773",title:"ISic020773",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"kylix",ana:"#object.vessel.kylix",ref:"http://kerameikos.org/id/kylix"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020773_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020773","isic020773","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","ancient greek","grc"]},{file:"ISic020774",metadataFile:"metadata/ISic020774.json",htmlFile:"html/ISic020774.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020774",title:"ISic020774",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020774_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020774","isic020774","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020775",metadataFile:"metadata/ISic020775.json",htmlFile:"html/ISic020775.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020775",title:"ISic020775",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020775_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020775","isic020775","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020776",metadataFile:"metadata/ISic020776.json",htmlFile:"html/ISic020776.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020776",title:"ISic020776",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020776_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020776","isic020776","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020777",metadataFile:"metadata/ISic020777.json",htmlFile:"html/ISic020777.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020777",title:"ISic020777",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020777_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020777","isic020777","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020778",metadataFile:"metadata/ISic020778.json",htmlFile:"html/ISic020778.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020778",title:"ISic020778",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020778_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020778","isic020778","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020779",metadataFile:"metadata/ISic020779.json",htmlFile:"html/ISic020779.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020779",title:"ISic020779",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020779_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020779","isic020779","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020780",metadataFile:"metadata/ISic020780.json",htmlFile:"html/ISic020780.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020780",title:"ISic020780",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020780_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020780","isic020780","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020781",metadataFile:"metadata/ISic020781.json",htmlFile:"html/ISic020781.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020781",title:"ISic020781",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020781_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020781","isic020781","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020782",metadataFile:"metadata/ISic020782.json",htmlFile:"html/ISic020782.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020782",title:"ISic020782",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020782_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020782","isic020782","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020783",metadataFile:"metadata/ISic020783.json",htmlFile:"html/ISic020783.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020783",title:"ISic020783",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020783_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020783","isic020783","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020784",metadataFile:"metadata/ISic020784.json",htmlFile:"html/ISic020784.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020784",title:"ISic020784",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020784_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020784","isic020784","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020785",metadataFile:"metadata/ISic020785.json",htmlFile:"html/ISic020785.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020785",title:"ISic020785",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020785_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020785","isic020785","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020786",metadataFile:"metadata/ISic020786.json",htmlFile:"html/ISic020786.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020786",title:"ISic020786",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020786_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020786","isic020786","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020787",metadataFile:"metadata/ISic020787.json",htmlFile:"html/ISic020787.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020787",title:"ISic020787",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020787_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020787","isic020787","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020788",metadataFile:"metadata/ISic020788.json",htmlFile:"html/ISic020788.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020788",title:"ISic020788",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020788_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020788","isic020788","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020789",metadataFile:"metadata/ISic020789.json",htmlFile:"html/ISic020789.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020789",title:"ISic020789",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020789_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020789","isic020789","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020790",metadataFile:"metadata/ISic020790.json",htmlFile:"html/ISic020790.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020790",title:"ISic020790",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020790_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020790","isic020790","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020791",metadataFile:"metadata/ISic020791.json",htmlFile:"html/ISic020791.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020791",title:"ISic020791",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020791_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020791","isic020791","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020792",metadataFile:"metadata/ISic020792.json",htmlFile:"html/ISic020792.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020792",title:"ISic020792",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020792_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020792","isic020792","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020793",metadataFile:"metadata/ISic020793.json",htmlFile:"html/ISic020793.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020793",title:"ISic020793",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020793_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020793","isic020793","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020794",metadataFile:"metadata/ISic020794.json",htmlFile:"html/ISic020794.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020794",title:"ISic020794",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020794_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020794","isic020794","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020795",metadataFile:"metadata/ISic020795.json",htmlFile:"html/ISic020795.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020795",title:"ISic020795",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020795_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020795","isic020795","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020796",metadataFile:"metadata/ISic020796.json",htmlFile:"html/ISic020796.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020796",title:"ISic020796",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020796_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020796","isic020796","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020797",metadataFile:"metadata/ISic020797.json",htmlFile:"html/ISic020797.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020797",title:"ISic020797",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020797_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020797","isic020797","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020798",metadataFile:"metadata/ISic020798.json",htmlFile:"html/ISic020798.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020798",title:"ISic020798",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020798_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020798","isic020798","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020799",metadataFile:"metadata/ISic020799.json",htmlFile:"html/ISic020799.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020799",title:"ISic020799",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020799_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020799","isic020799","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020800",metadataFile:"metadata/ISic020800.json",htmlFile:"html/ISic020800.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020800",title:"ISic020800",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020800_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020800","isic020800","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020801",metadataFile:"metadata/ISic020801.json",htmlFile:"html/ISic020801.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020801",title:"ISic020801",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020801_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020801","isic020801","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020802",metadataFile:"metadata/ISic020802.json",htmlFile:"html/ISic020802.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020802",title:"ISic020802",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020802_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020802","isic020802","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020803",metadataFile:"metadata/ISic020803.json",htmlFile:"html/ISic020803.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020803",title:"ISic020803",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020803_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020803","isic020803","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020804",metadataFile:"metadata/ISic020804.json",htmlFile:"html/ISic020804.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020804",title:"ISic020804",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020804_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020804","isic020804","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020805",metadataFile:"metadata/ISic020805.json",htmlFile:"html/ISic020805.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020805",title:"ISic020805",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020805_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020805","isic020805","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020806",metadataFile:"metadata/ISic020806.json",htmlFile:"html/ISic020806.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020806",title:"ISic020806",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020806_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020806","isic020806","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020807",metadataFile:"metadata/ISic020807.json",htmlFile:"html/ISic020807.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020807",title:"ISic020807",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020807_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020807","isic020807","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020808",metadataFile:"metadata/ISic020808.json",htmlFile:"html/ISic020808.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020808",title:"ISic020808",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020808_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020808","isic020808","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020809",metadataFile:"metadata/ISic020809.json",htmlFile:"html/ISic020809.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020809",title:"ISic020809",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020809_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020809","isic020809","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020810",metadataFile:"metadata/ISic020810.json",htmlFile:"html/ISic020810.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020810",title:"ISic020810",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020810_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020810","isic020810","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020811",metadataFile:"metadata/ISic020811.json",htmlFile:"html/ISic020811.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020811",title:"ISic020811",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020811_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020811","isic020811","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020812",metadataFile:"metadata/ISic020812.json",htmlFile:"html/ISic020812.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020812",title:"ISic020812",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020812_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020812","isic020812","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020813",metadataFile:"metadata/ISic020813.json",htmlFile:"html/ISic020813.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020813",title:"ISic020813",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020813_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020813","isic020813","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020814",metadataFile:"metadata/ISic020814.json",htmlFile:"html/ISic020814.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020814",title:"ISic020814",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020814_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020814","isic020814","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020815",metadataFile:"metadata/ISic020815.json",htmlFile:"html/ISic020815.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020815",title:"ISic020815",status:"draft",type:{_:"ownership (?)",ana:"#function.production-ownership",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020815_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Agrigento",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Herbessus (?)",type:"ancient",ref:"https://pleiades.stoa.org/places/462239"},placeName:"Herbessus (?)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020815","isic020815","draft","-500","-450","herbessus (?)","montagna di marzo","italy","sicily","agrigento","museo regionale archeologico pietro griffo","sikel","scx"]},{file:"ISic020816",metadataFile:"metadata/ISic020816.json",htmlFile:"html/ISic020816.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020816",title:"ISic020816",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020816_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020816","isic020816","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020817",metadataFile:"metadata/ISic020817.json",htmlFile:"html/ISic020817.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020817",title:"ISic020817",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020817_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020817","isic020817","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020818",metadataFile:"metadata/ISic020818.json",htmlFile:"html/ISic020818.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020818",title:"ISic020818",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020818_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020818","isic020818","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020819",metadataFile:"metadata/ISic020819.json",htmlFile:"html/ISic020819.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020819",title:"ISic020819",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020819_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020819","isic020819","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020820",metadataFile:"metadata/ISic020820.json",htmlFile:"html/ISic020820.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020820",title:"ISic020820",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020820_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020820","isic020820","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020821",metadataFile:"metadata/ISic020821.json",htmlFile:"html/ISic020821.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020821",title:"ISic020821",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020821_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020821","isic020821","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020822",metadataFile:"metadata/ISic020822.json",htmlFile:"html/ISic020822.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020822",title:"ISic020822",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020822_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020822","isic020822","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020823",metadataFile:"metadata/ISic020823.json",htmlFile:"html/ISic020823.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020823",title:"ISic020823",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020823_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020823","isic020823","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020824",metadataFile:"metadata/ISic020824.json",htmlFile:"html/ISic020824.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020824",title:"ISic020824",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020824_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020824","isic020824","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020825",metadataFile:"metadata/ISic020825.json",htmlFile:"html/ISic020825.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020825",title:"ISic020825",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020825_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020825","isic020825","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020826",metadataFile:"metadata/ISic020826.json",htmlFile:"html/ISic020826.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020826",title:"ISic020826",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020826_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020826","isic020826","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020827",metadataFile:"metadata/ISic020827.json",htmlFile:"html/ISic020827.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020827",title:"ISic020827",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020827_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020827","isic020827","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020828",metadataFile:"metadata/ISic020828.json",htmlFile:"html/ISic020828.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020828",title:"ISic020828",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020828_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020828","isic020828","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020829",metadataFile:"metadata/ISic020829.json",htmlFile:"html/ISic020829.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020829",title:"ISic020829",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020829_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020829","isic020829","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020830",metadataFile:"metadata/ISic020830.json",htmlFile:"html/ISic020830.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020830",title:"ISic020830",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020830_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020830","isic020830","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020831",metadataFile:"metadata/ISic020831.json",htmlFile:"html/ISic020831.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020831",title:"ISic020831",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83.html"},objectType:{_:"loom weight",ana:"#object.loom_weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/312.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic020831_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Imera",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Terravecchia di Cuti",type:"modern",ref:"https://pleiades.stoa.org/places/462509"},placeName:"Terravecchia di Cuti",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020831","isic020831","draft","-500","-450","terravecchia di cuti","italy","sicily","imera","parco archeologico di himera e antiquarium","sikel","scx"]},{file:"ISic020832",metadataFile:"metadata/ISic020832.json",htmlFile:"html/ISic020832.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020832",title:"ISic020832",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020832_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020832","isic020832","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020833",metadataFile:"metadata/ISic020833.json",htmlFile:"html/ISic020833.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020833",title:"ISic020833",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020833_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020833","isic020833","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020834",metadataFile:"metadata/ISic020834.json",htmlFile:"html/ISic020834.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020834",title:"ISic020834",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020834_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020834","isic020834","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020835",metadataFile:"metadata/ISic020835.json",htmlFile:"html/ISic020835.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020835",title:"ISic020835",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020835_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020835","isic020835","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020836",metadataFile:"metadata/ISic020836.json",htmlFile:"html/ISic020836.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020836",title:"ISic020836",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020836_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020836","isic020836","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020837",metadataFile:"metadata/ISic020837.json",htmlFile:"html/ISic020837.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020837",title:"ISic020837",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020837_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020837","isic020837","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020838",metadataFile:"metadata/ISic020838.json",htmlFile:"html/ISic020838.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020838",title:"ISic020838",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020838_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020838","isic020838","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020839",metadataFile:"metadata/ISic020839.json",htmlFile:"html/ISic020839.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020839",title:"ISic020839",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020839_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020839","isic020839","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020840",metadataFile:"metadata/ISic020840.json",htmlFile:"html/ISic020840.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020840",title:"ISic020840",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020840_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020840","isic020840","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020841",metadataFile:"metadata/ISic020841.json",htmlFile:"html/ISic020841.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020841",title:"ISic020841",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020841_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020841","isic020841","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020842",metadataFile:"metadata/ISic020842.json",htmlFile:"html/ISic020842.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020842",title:"ISic020842",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020842_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020842","isic020842","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020843",metadataFile:"metadata/ISic020843.json",htmlFile:"html/ISic020843.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020843",title:"ISic020843",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020843_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020843","isic020843","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020844",metadataFile:"metadata/ISic020844.json",htmlFile:"html/ISic020844.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020844",title:"ISic020844",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020844_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020844","isic020844","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020845",metadataFile:"metadata/ISic020845.json",htmlFile:"html/ISic020845.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020845",title:"ISic020845",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020845_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020845","isic020845","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020846",metadataFile:"metadata/ISic020846.json",htmlFile:"html/ISic020846.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020846",title:"ISic020846",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020846_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020846","isic020846","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020847",metadataFile:"metadata/ISic020847.json",htmlFile:"html/ISic020847.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020847",title:"ISic020847",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020847_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020847","isic020847","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020848",metadataFile:"metadata/ISic020848.json",htmlFile:"html/ISic020848.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020848",title:"ISic020848",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020848_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020848","isic020848","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020849",metadataFile:"metadata/ISic020849.json",htmlFile:"html/ISic020849.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020849",title:"ISic020849",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020849_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020849","isic020849","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020850",metadataFile:"metadata/ISic020850.json",htmlFile:"html/ISic020850.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020850",title:"ISic020850",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020850_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020850","isic020850","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020851",metadataFile:"metadata/ISic020851.json",htmlFile:"html/ISic020851.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020851",title:"ISic020851",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020851_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020851","isic020851","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020852",metadataFile:"metadata/ISic020852.json",htmlFile:"html/ISic020852.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020852",title:"ISic020852",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020852_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020852","isic020852","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020853",metadataFile:"metadata/ISic020853.json",htmlFile:"html/ISic020853.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020853",title:"ISic020853",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020853_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020853","isic020853","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020854",metadataFile:"metadata/ISic020854.json",htmlFile:"html/ISic020854.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020854",title:"ISic020854",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020854_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020854","isic020854","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020855",metadataFile:"metadata/ISic020855.json",htmlFile:"html/ISic020855.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020855",title:"ISic020855",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020855_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020855","isic020855","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020856",metadataFile:"metadata/ISic020856.json",htmlFile:"html/ISic020856.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020856",title:"ISic020856",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020856_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020856","isic020856","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020857",metadataFile:"metadata/ISic020857.json",htmlFile:"html/ISic020857.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020857",title:"ISic020857",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020857_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020857","isic020857","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020858",metadataFile:"metadata/ISic020858.json",htmlFile:"html/ISic020858.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020362",title:"ISic020362",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lekythos",ana:"#object.vessel.lekythos",ref:"http://kerameikos.org/id/lekythos"},notBefore:-500,notAfter:-480,geo:[37,12],facsimile:{url:"ISic020362_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020362","isic020362","draft","-500","-480","segesta","italy","sicily","palermo","museo archeologico regionale antonino salinas","elymian","xly"]},{file:"ISic020859",metadataFile:"metadata/ISic020859.json",htmlFile:"html/ISic020859.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020859",title:"ISic020859",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020859_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020859","isic020859","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020860",metadataFile:"metadata/ISic020860.json",htmlFile:"html/ISic020860.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020860",title:"ISic020860",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020860_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020860","isic020860","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020861",metadataFile:"metadata/ISic020861.json",htmlFile:"html/ISic020861.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020861",title:"ISic020861",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020861_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020861","isic020861","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020862",metadataFile:"metadata/ISic020862.json",htmlFile:"html/ISic020862.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020862",title:"ISic020862",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020862_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020862","isic020862","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020863",metadataFile:"metadata/ISic020863.json",htmlFile:"html/ISic020863.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020863",title:"ISic020863",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020863_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020863","isic020863","unchecked","-520","-480","italy","sicily","ancient greek","grc"]},{file:"ISic020864",metadataFile:"metadata/ISic020864.json",htmlFile:"html/ISic020864.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020864",title:"ISic020864",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020864_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020864","isic020864","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020865",metadataFile:"metadata/ISic020865.json",htmlFile:"html/ISic020865.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020865",title:"ISic020865",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020865_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020865","isic020865","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020866",metadataFile:"metadata/ISic020866.json",htmlFile:"html/ISic020866.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020866",title:"ISic020866",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020866_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020866","isic020866","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020867",metadataFile:"metadata/ISic020867.json",htmlFile:"html/ISic020867.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020867",title:"ISic020867",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020867_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020867","isic020867","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020868",metadataFile:"metadata/ISic020868.json",htmlFile:"html/ISic020868.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020868",title:"ISic020868",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020868_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020868","isic020868","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020869",metadataFile:"metadata/ISic020869.json",htmlFile:"html/ISic020869.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020869",title:"ISic020869",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020869_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020869","isic020869","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020870",metadataFile:"metadata/ISic020870.json",htmlFile:"html/ISic020870.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020870",title:"ISic020870",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020870_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020870","isic020870","unchecked","-520","-480","italy","sicily","sikel","scx"]},{file:"ISic020871",metadataFile:"metadata/ISic020871.json",htmlFile:"html/ISic020871.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020871",title:"ISic020871",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020871_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{mainLang:"..."},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020871","isic020871","unchecked","-520","-480","italy","sicily","..."]},{file:"ISic020872",metadataFile:"metadata/ISic020872.json",htmlFile:"html/ISic020872.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020872",title:"ISic020872",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020872_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"...",mainLang:"..."},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020872","isic020872","unchecked","-520","-480","italy","sicily","...","..."]},{file:"ISic020873",metadataFile:"metadata/ISic020873.json",htmlFile:"html/ISic020873.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020873",title:"ISic020873",status:"unchecked",type:{ana:"#function....",ref:"..."},objectType:{ana:"#object.vessel",ref:"http://kerameikos.org/id/..."},notBefore:-520,notAfter:-480,geo:[null],facsimile:{url:"ISic020873_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"...",mainLang:"..."},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020873","isic020873","unchecked","-520","-480","italy","sicily","...","..."]},{file:"ISic020874",metadataFile:"metadata/ISic020874.json",htmlFile:"html/ISic020874.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020874",title:"ISic020874",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020874_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020874","isic020874","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020877",metadataFile:"metadata/ISic020877.json",htmlFile:"html/ISic020877.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020877",title:"ISic020877",status:"draft",type:{_:"production-ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300195926"},objectType:{_:"tile",ana:"#object.tile",ref:"http://www.eagle-network.eu/voc/objtyp/lod/951.html"},notBefore:-599,notAfter:-480,geo:[36,14],facsimile:{url:"ISic020877_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Sikel",mainLang:"scx"},place:{_:"Castiglione di Ragusa",type:"modern",ref:"http://pleiades.stoa.org/places/462144"},placeName:"Castiglione di Ragusa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020877","isic020877","draft","-599","-480","castiglione di ragusa","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","sikel","scx"]},{file:"ISic020878",metadataFile:"metadata/ISic020878.json",htmlFile:"html/ISic020878.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020878",title:"ISic020878",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020878_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020878","isic020878","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020879",metadataFile:"metadata/ISic020879.json",htmlFile:"html/ISic020879.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020879",title:"ISic020879",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020879_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020879","isic020879","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020880",metadataFile:"metadata/ISic020880.json",htmlFile:"html/ISic020880.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020880",title:"ISic020880",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020880_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020880","isic020880","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020881",metadataFile:"metadata/ISic020881.json",htmlFile:"html/ISic020881.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020881",title:"ISic020881",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020881_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020881","isic020881","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020882",metadataFile:"metadata/ISic020882.json",htmlFile:"html/ISic020882.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020882",title:"ISic020882",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020882_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020882","isic020882","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020883",metadataFile:"metadata/ISic020883.json",htmlFile:"html/ISic020883.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020883",title:"ISic020883",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020883_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020883","isic020883","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020884",metadataFile:"metadata/ISic020884.json",htmlFile:"html/ISic020884.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020884",title:"ISic020884",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020884_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020884","isic020884","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020885",metadataFile:"metadata/ISic020885.json",htmlFile:"html/ISic020885.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020885",title:"ISic020885",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020885_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020885","isic020885","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020886",metadataFile:"metadata/ISic020886.json",htmlFile:"html/ISic020886.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020886",title:"ISic020886",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020886_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020886","isic020886","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020887",metadataFile:"metadata/ISic020887.json",htmlFile:"html/ISic020887.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020887",title:"ISic020887",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020887_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020887","isic020887","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020888",metadataFile:"metadata/ISic020888.json",htmlFile:"html/ISic020888.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020888",title:"ISic020888",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020888_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020888","isic020888","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020889",metadataFile:"metadata/ISic020889.json",htmlFile:"html/ISic020889.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020889",title:"ISic020889",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020889_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020889","isic020889","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020890",metadataFile:"metadata/ISic020890.json",htmlFile:"html/ISic020890.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020890",title:"ISic020890",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020890_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020890","isic020890","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020891",metadataFile:"metadata/ISic020891.json",htmlFile:"html/ISic020891.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020891",title:"ISic020891",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020891_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020891","isic020891","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020892",metadataFile:"metadata/ISic020892.json",htmlFile:"html/ISic020892.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020892",title:"ISic020892",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020892_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020892","isic020892","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020893",metadataFile:"metadata/ISic020893.json",htmlFile:"html/ISic020893.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020893",title:"ISic020893",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020893_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020893","isic020893","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020894",metadataFile:"metadata/ISic020894.json",htmlFile:"html/ISic020894.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020894",title:"ISic020894",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020894_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020894","isic020894","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020895",metadataFile:"metadata/ISic020895.json",htmlFile:"html/ISic020895.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020895",title:"ISic020895",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020895_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020895","isic020895","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020896",metadataFile:"metadata/ISic020896.json",htmlFile:"html/ISic020896.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020896",title:"ISic020896",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020896_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020896","isic020896","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020897",metadataFile:"metadata/ISic020897.json",htmlFile:"html/ISic020897.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020897",title:"ISic020897",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020897_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020897","isic020897","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020898",metadataFile:"metadata/ISic020898.json",htmlFile:"html/ISic020898.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020898",title:"ISic020898",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020898_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020898","isic020898","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020899",metadataFile:"metadata/ISic020899.json",htmlFile:"html/ISic020899.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020899",title:"ISic020899",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020899_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020899","isic020899","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020900",metadataFile:"metadata/ISic020900.json",htmlFile:"html/ISic020900.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020900",title:"ISic020900",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020900_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020900","isic020900","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020901",metadataFile:"metadata/ISic020901.json",htmlFile:"html/ISic020901.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020901",title:"ISic020901",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020901_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020901","isic020901","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020902",metadataFile:"metadata/ISic020902.json",htmlFile:"html/ISic020902.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020902",title:"ISic020902",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020902_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020902","isic020902","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020903",metadataFile:"metadata/ISic020903.json",htmlFile:"html/ISic020903.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020903",title:"ISic020903",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020903_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020903","isic020903","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020904",metadataFile:"metadata/ISic020904.json",htmlFile:"html/ISic020904.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020904",title:"ISic020904",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020904_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020904","isic020904","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020905",metadataFile:"metadata/ISic020905.json",htmlFile:"html/ISic020905.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020905",title:"ISic020905",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020905_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020905","isic020905","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020906",metadataFile:"metadata/ISic020906.json",htmlFile:"html/ISic020906.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020906",title:"ISic020906",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020906_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020906","isic020906","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020907",metadataFile:"metadata/ISic020907.json",htmlFile:"html/ISic020907.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020907",title:"ISic020907",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020907_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020907","isic020907","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020908",metadataFile:"metadata/ISic020908.json",htmlFile:"html/ISic020908.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020908",title:"ISic020908",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020908_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020908","isic020908","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020909",metadataFile:"metadata/ISic020909.json",htmlFile:"html/ISic020909.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020909",title:"ISic020909",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020909_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020909","isic020909","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020910",metadataFile:"metadata/ISic020910.json",htmlFile:"html/ISic020910.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020910",title:"ISic020910",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020910_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020910","isic020910","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020911",metadataFile:"metadata/ISic020911.json",htmlFile:"html/ISic020911.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020911",title:"ISic020911",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020911_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020911","isic020911","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020912",metadataFile:"metadata/ISic020912.json",htmlFile:"html/ISic020912.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020912",title:"ISic020912",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020912_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020912","isic020912","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020913",metadataFile:"metadata/ISic020913.json",htmlFile:"html/ISic020913.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020913",title:"ISic020913",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020913_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020913","isic020913","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020914",metadataFile:"metadata/ISic020914.json",htmlFile:"html/ISic020914.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020914",title:"ISic020914",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020914_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020914","isic020914","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020915",metadataFile:"metadata/ISic020915.json",htmlFile:"html/ISic020915.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020915",title:"ISic020915",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020915_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020915","isic020915","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020916",metadataFile:"metadata/ISic020916.json",htmlFile:"html/ISic020916.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020916",title:"ISic020916",status:"unchecked",type:{_:"production or ownership (?)",ana:"#function.production-ownership",cert:"low",ref:"http://vocab.getty.edu/page/aat/300256090"},objectType:{ana:"#object.vessel",ref:"https://www.eagle-network.eu/voc/objtyp/lod/305.html"},notBefore:-575,notAfter:-459,geo:[37,14],facsimile:{url:"ISic020916_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Aidone",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020916","isic020916","unchecked","-575","-459","morgantina","morgantina","italy","sicily","aidone","museo archeologico di aidone","sikel","scx"]},{file:"ISic020917",metadataFile:"metadata/ISic020917.json",htmlFile:"html/ISic020917.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020917",title:"Funerary urn of Nouia Oppia",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"lekanis",ana:"#object.vessel.lekanis",ref:"http://kerameikos.org/id/lekanis"},notBefore:-250,notAfter:-200,geo:[38,15],facsimile:{url:"ISic020917_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",ref:"http://pleiades.stoa.org/places/462538",type:"ancient"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020917","funerary urn of nouia oppia","draft","-250","-200","messana","messina","italy","sicily","messina","soprintendenza beni culturali e ambientali di messina","ancient greek","grc"]},{file:"ISic020918",metadataFile:"metadata/ISic020918.json",htmlFile:"html/ISic020918.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020918",title:"Funerary urn of Pakua Pontia",status:"draft",type:{_:"funerary",ana:"#function.funerary",ref:"http://www.eagle-network.eu/voc/typeins/lod/92.html"},objectType:{_:"lekanis",ana:"#object.vessel.lekanis",ref:"http://kerameikos.org/id/lekanis"},notBefore:-200,notAfter:-150,geo:[38,15],facsimile:{url:"ISic020918_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",ref:"http://pleiades.stoa.org/places/462538",type:"ancient"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020918","funerary urn of pakua pontia","draft","-200","-150","messana","messina","italy","sicily","messina","soprintendenza beni culturali e ambientali di messina","ancient greek","grc"]},{file:"ISic020919",metadataFile:"metadata/ISic020919.json",htmlFile:"html/ISic020919.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020919",title:"ISic020919",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"skyphos",ana:"#object.vessel.skyphos",ref:"http://kerameikos.org/id/skyphos"},notBefore:-500,notAfter:-450,geo:[37,13],facsimile:{url:"ISic020919_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Entella",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020919","isic020919","draft","-500","-450","entella","rocca d'entella","italy","sicily","entella","museo archeologico/antiquarium comunale di entella","elymian","xly"]},{file:"ISic020920",metadataFile:"metadata/ISic020920.json",htmlFile:"html/ISic020920.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020920",title:"ISic020920",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"plate",ana:"#object.vessel.plate",ref:"http://kerameikos.org/id/plate"},notBefore:-500,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020920_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020920","isic020920","draft","-500","-400","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020921",metadataFile:"metadata/ISic020921.json",htmlFile:"html/ISic020921.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020921",title:"ISic020921",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"cup",ana:"#object.vessel.cup",ref:"http://kerameikos.org/id/cup"},notBefore:-500,notAfter:-400,geo:[37,12],facsimile:{url:"ISic020921_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Segesta",textLang:{_:"Elymian",mainLang:"xly",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Segesta",type:"ancient",ref:"https://pleiades.stoa.org/places/462487"},placeName:"Segesta",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020921","isic020921","draft","-500","-400","segesta","segesta","italy","sicily","segesta","parco archeologico di segesta","elymian","xly"]},{file:"ISic020930",metadataFile:"metadata/ISic020930.json",htmlFile:"html/ISic020930.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020930",title:"ISic020930",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"krater",ana:"#object.vessel.krater",ref:"http://kerameikos.org/id/krater"},notBefore:-400,notAfter:-200,geo:[37,15],facsimile:{url:"ISic020930_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020930","isic020930","draft","-400","-200","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020932",metadataFile:"metadata/ISic020932.json",htmlFile:"html/ISic020932.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020932",title:"ISic020932",status:"draft",type:{_:"prayer",ana:"#function.prayer",ref:"https://www.eagle-network.eu/voc/typeins/lod/85.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-300,notAfter:-100,geo:[37,15],facsimile:{url:"ISic020932_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020932","isic020932","draft","-300","-100","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020933",metadataFile:"metadata/ISic020933.json",htmlFile:"html/ISic020933.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020933",title:"ISic020933",status:"draft",type:{_:"prayer",ana:"#function.prayer",ref:"https://www.eagle-network.eu/voc/typeins/lod/85.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-300,notAfter:-100,geo:[37,15],facsimile:{url:"ISic020933_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020933","isic020933","draft","-300","-100","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020934",metadataFile:"metadata/ISic020934.json",htmlFile:"html/ISic020934.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020934",title:"ISic020934",status:"draft",type:{_:"prayer",ana:"#function.prayer",ref:"https://www.eagle-network.eu/voc/typeins/lod/85.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-300,notAfter:-100,geo:[37,15],facsimile:{url:"ISic020934_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020934","isic020934","draft","-300","-100","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020935",metadataFile:"metadata/ISic020935.json",htmlFile:"html/ISic020935.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020935",title:"ISic020935",status:"draft",type:{_:"commercial",ana:"#function.commercial",ref:"https://www.eagle-network.eu/voc/typeins/lod/126.html"},objectType:{_:"amphora",ana:"#object.vessel.amphora",ref:"http://kerameikos.org/id/amphora"},notBefore:-300,notAfter:-100,geo:[37,15],facsimile:{url:"ISic020935_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"https://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020935","isic020935","draft","-300","-100","syracusae","siracusa","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020936",metadataFile:"metadata/ISic020936.json",htmlFile:"html/ISic020936.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020936",title:"ISic020936",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"altar",ana:"#object.altar",ref:"http://www.eagle-network.eu/voc/objtyp/lod/29.html"},notBefore:-200,notAfter:-100,geo:[36,15],facsimile:{url:"ISic020936_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Helorus",type:"ancient",ref:"http://pleiades.stoa.org/places/462234"},placeName:"Helorus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020936","isic020936","draft","-200","-100","helorus","eloro","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic020942",metadataFile:"metadata/ISic020942.json",htmlFile:"html/ISic020942.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic020942",title:"ISic020942",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"https://www.eagle-network.eu/voc/typeins/lod/88"},objectType:{_:"Incense burner",ana:"#object.vessel.incense-burner",ref:"http://kerameikos.org/id/incense_burner"},notBefore:-350,notAfter:-250,geo:[37,12],facsimile:{url:"ISic020942_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic020942","isic020942","draft","-350","-250","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030001",metadataFile:"metadata/ISic030001.json",htmlFile:"html/ISic030001.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030001",title:"Contract for the sale of a house",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[37,14],facsimile:{url:"ISic030001_tiled.tif",desc:"Composite photo of the inscribed surface, R. Souza, courtesy Museo Regionale Interdisciplinare di Ragusa"},country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030001","contract for the sale of a house","draft","-200","-100","morgantina","aidone","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030002",metadataFile:"metadata/ISic030002.json",htmlFile:"html/ISic030002.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030002",title:"ISic030002",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"https://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-525,notAfter:-500,geo:[37,14],facsimile:{url:"ISic030002_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"USA",region:"New York",settlement:"New York",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kasmenai",type:"ancient",ref:"https://pleiades.stoa.org/places/462269",cert:"low"},placeName:"Kasmenai",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030002","isic030002","edited","-525","-500","kasmenai","monte casale","usa","new york","new york","the metropolitan museum of art","ancient greek","grc"]},{file:"ISic030003",metadataFile:"metadata/ISic030003.json",htmlFile:"html/ISic030003.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030003",title:"ISic030003",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:""},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030003_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030003","isic030003","unchecked","-600","-400","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic030004",metadataFile:"metadata/ISic030004.json",htmlFile:"html/ISic030004.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030004",title:"ISic030004",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:""},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030004_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030004","isic030004","unchecked","-600","-400","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic030005",metadataFile:"metadata/ISic030005.json",htmlFile:"html/ISic030005.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030005",title:"ISic030005",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:""},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030005_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030005","isic030005","unchecked","-600","-400","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic030006",metadataFile:"metadata/ISic030006.json",htmlFile:"html/ISic030006.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030006",title:"ISic030006",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:""},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030006_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030006","isic030006","unchecked","-600","-400","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic030007",metadataFile:"metadata/ISic030007.json",htmlFile:"html/ISic030007.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030007",title:"ISic030007",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:""},notBefore:-600,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030007_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030007","isic030007","unchecked","-600","-400","selinus","selinunte","italy","sicily","selinunte","ancient greek","grc"]},{file:"ISic030008",metadataFile:"metadata/ISic030008.json",htmlFile:"html/ISic030008.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030008",title:"ISic030008",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030008_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030008","isic030008","draft","-499","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030009",metadataFile:"metadata/ISic030009.json",htmlFile:"html/ISic030009.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030009",title:"ISic030009",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030009_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030009","isic030009","draft","-500","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030010",metadataFile:"metadata/ISic030010.json",htmlFile:"html/ISic030010.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030010",title:"ISic030010",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030010_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030010","isic030010","draft","-499","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030011",metadataFile:"metadata/ISic030011.json",htmlFile:"html/ISic030011.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030011",title:"ISic030011",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-475,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030011_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030011","isic030011","draft","-475","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030012",metadataFile:"metadata/ISic030012.json",htmlFile:"html/ISic030012.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030012",title:"ISic030012",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030012_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030012","isic030012","draft","-499","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030013",metadataFile:"metadata/ISic030013.json",htmlFile:"html/ISic030013.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030013",title:"ISic030013",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-475,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030013_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030013","isic030013","draft","-475","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030014",metadataFile:"metadata/ISic030014.json",htmlFile:"html/ISic030014.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030014",title:"ISic030014",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030014_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030014","isic030014","draft","-499","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030015",metadataFile:"metadata/ISic030015.json",htmlFile:"html/ISic030015.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030015",title:"ISic030015",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030015_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"https://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030015","isic030015","draft","-499","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030016",metadataFile:"metadata/ISic030016.json",htmlFile:"html/ISic030016.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030016",title:"ISic030016",status:"draft",type:{_:"private legal text",ana:"#function.legal #function.document.private",ref:"https://www.eagle-network.eu/voc/typeins/lod/49.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic030016_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela (area around)",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela (area around)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030016","isic030016","draft","-500","-475","gela (area around)","gela","italy","sicily","ancient greek","grc"]},{file:"ISic030017",metadataFile:"metadata/ISic030017.json",htmlFile:"html/ISic030017.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030017",title:"ISic030017",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/105"},objectType:{_:"weight",ana:"#object.weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/200"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic030017_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030017","isic030017","draft","-500","-480","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic030018",metadataFile:"metadata/ISic030018.json",htmlFile:"html/ISic030018.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030018",title:"ISic030018",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"https://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"weight",ana:"#object.weight",ref:"https://www.eagle-network.eu/voc/objtyp/lod/200"},notBefore:-500,notAfter:-475,geo:[37,14],facsimile:{url:"ISic030018_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Gela",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030018","isic030018","draft","-500","-475","gela","gela","italy","sicily","gela","museo archeologico regionale di gela","ancient greek","grc"]},{file:"ISic030019",metadataFile:"metadata/ISic030019.json",htmlFile:"html/ISic030019.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030019",title:"ISic030019",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030019_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"United States",region:"North Carolina",settlement:"Chapel Hill",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela",type:"modern",ref:"https://www.geonames.org/6541964"},placeName:"Gela",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030019","isic030019","draft","-475","-450","gela","united states","north carolina","chapel hill","rare book room, university of north carolina","ancient greek","grc"]},{file:"ISic030020",metadataFile:"metadata/ISic030020.json",htmlFile:"html/ISic030020.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030020",title:"ISic030020",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030020_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Gela (area of)",type:"ancient",ref:"https://pleiades.stoa.org/places/462214"},placeName:"Gela (area of)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030020","isic030020","unchecked","-475","-450","gela (area of)","gela","italy","sicily","ancient greek","grc"]},{file:"ISic030021",metadataFile:"metadata/ISic030021.json",htmlFile:"html/ISic030021.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030021",title:"ISic030021",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-450,notAfter:-425,geo:[37,12],facsimile:{url:"ISic030021_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Selinunte",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030021","isic030021","draft","-450","-425","selinus","selinunte","italy","sicily","selinunte","baglio florio selinunte","ancient greek","grc"]},{file:"ISic030022",metadataFile:"metadata/ISic030022.json",htmlFile:"html/ISic030022.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030022",title:"ISic030022",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,13],facsimile:{url:"ISic030022_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030022","isic030022","unchecked","-499","-400","agrigentum","agrigento","italy","sicily","ancient greek","grc"]},{file:"ISic030023",metadataFile:"metadata/ISic030023.json",htmlFile:"html/ISic030023.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030023",title:"ISic030023",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"handle",ana:"#object.handle",ref:"https://www.eagle-network.eu/voc/objtyp/lod/153.html"},notBefore:-500,notAfter:-475,geo:[37,13],facsimile:{url:"ISic030023_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Lost",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030023","isic030023","draft","-500","-475","agrigentum","agrigento","italy","sicily","lost","ancient greek","grc"]},{file:"ISic030024",metadataFile:"metadata/ISic030024.json",htmlFile:"html/ISic030024.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030024",title:"ISic030024",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"lebes",ana:"#object.vessel.lebes",ref:"http://kerameikos.org/id/lebes"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030024_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Sabucina",type:"modern",ref:"https://sws.geonames.org/11951865"},placeName:"Sabucina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030024","isic030024","draft","-475","-450","sabucina","italy","sicily","ancient greek","grc"]},{file:"ISic030025",metadataFile:"metadata/ISic030025.json",htmlFile:"html/ISic030025.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030025",title:"ISic030025",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-525,notAfter:-500,geo:[38,13],facsimile:{url:"ISic030025_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Palermo (area of)",type:"modern",ref:"http://sws.geonames.org/2523920/"},placeName:"Palermo (area of)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030025","isic030025","draft","-525","-500","palermo (area of)","italy","sicily","palermo","private collection","ancient greek","grc"]},{file:"ISic030026",metadataFile:"metadata/ISic030026.json",htmlFile:"html/ISic030026.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030026",title:"ISic030026",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[38,13],facsimile:{url:"ISic030026_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Panhormus",type:"ancient",ref:"http://pleiades.stoa.org/places/462410"},placeName:"Panhormus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030026","isic030026","draft","-500","-450","panhormus","palermo, area of","italy","private house","ancient greek","grc"]},{file:"ISic030027",metadataFile:"metadata/ISic030027.json",htmlFile:"html/ISic030027.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030027",title:"ISic030027",status:"draft",type:{_:"ownership",ana:"#function.ownership",ref:"https://www.eagle-network.eu/voc/typeins/lod/104.html"},objectType:{_:"greave",ana:"#object.greave",ref:"https://www.eagle-network.eu/voc/objtyp/lod/1980.html"},notBefore:-500,notAfter:-480,geo:[37,14],facsimile:{url:"ISic030027_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Sikel",mainLang:"scx",certainty:{locus:"value",match:"../@mainLang",assertedValue:"grc",desc:"Ancient Greek"}},place:{_:"Herbessus",type:"ancient",ref:"http://pleiades.stoa.org/places/462239"},placeName:"Herbessus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030027","isic030027","draft","-500","-480","herbessus","montagna di marzo","italy","sicily","sikel","scx"]},{file:"ISic030028",metadataFile:"metadata/ISic030028.json",htmlFile:"html/ISic030028.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030028",title:"ISic030028",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030028_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030028","isic030028","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030029",metadataFile:"metadata/ISic030029.json",htmlFile:"html/ISic030029.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030029",title:"ISic030029",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030029_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030029","isic030029","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030030",metadataFile:"metadata/ISic030030.json",htmlFile:"html/ISic030030.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030030",title:"ISic030030",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030030_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030030","isic030030","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030031",metadataFile:"metadata/ISic030031.json",htmlFile:"html/ISic030031.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030031",title:"ISic030031",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030031_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030031","isic030031","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030032",metadataFile:"metadata/ISic030032.json",htmlFile:"html/ISic030032.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030032",title:"ISic030032",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-460,notAfter:-440,geo:[36,14],facsimile:{url:"ISic030032_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030032","isic030032","draft","-460","-440","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030033",metadataFile:"metadata/ISic030033.json",htmlFile:"html/ISic030033.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030033",title:"ISic030033",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-460,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030033_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030033","isic030033","draft","-460","-450","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030034",metadataFile:"metadata/ISic030034.json",htmlFile:"html/ISic030034.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030034",title:"ISic030034",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/writing/lod/3.html"},notBefore:-420,notAfter:-400,geo:[36,14],facsimile:{url:"ISic030034_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030034","isic030034","draft","-420","-400","kamarina","santa croce camerina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030035",metadataFile:"metadata/ISic030035.json",htmlFile:"html/ISic030035.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030035",title:"ISic030035",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[36,14],facsimile:{url:"ISic030035_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030035","isic030035","draft","-499","-400","kamarina","camarina","italy","sicily","ancient greek","grc"]},{file:"ISic030036",metadataFile:"metadata/ISic030036.json",htmlFile:"html/ISic030036.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030036",title:"ISic030036",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-450,notAfter:-400,geo:[36,14],facsimile:{url:"ISic030036_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030036","isic030036","draft","-450","-400","kamarina","camarina","italy","sicily","ancient greek","grc"]},{file:"ISic030037",metadataFile:"metadata/ISic030037.json",htmlFile:"html/ISic030037.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030037",title:"ISic030037",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[36,14],facsimile:{url:"ISic030037_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030037","isic030037","draft","-499","-400","kamarina","camarina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030042",metadataFile:"metadata/ISic030042.json",htmlFile:"html/ISic030042.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030042",title:"ISic030042",status:"draft",type:{_:"law of murder",ana:"#function.regulatory",ref:"http://vocab.getty.edu/page/aat/300027842"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,14],facsimile:{url:"ISic030042_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Monte San Mauro (di Caltagirone)",type:"modern",ref:"https://sws.geonames.org/10626427/"},placeName:"Monte San Mauro (di Caltagirone)",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030042","isic030042","draft","-499","-400","monte san mauro (di caltagirone)","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030043",metadataFile:"metadata/ISic030043.json",htmlFile:"html/ISic030043.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030043",title:"ISic030043",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030043_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030043","isic030043","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030046",metadataFile:"metadata/ISic030046.json",htmlFile:"html/ISic030046.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030046",title:"ISic030046",status:"unchecked",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"caduceus, herald's bronze staff",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-475,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030046_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Imachara",type:"ancient",ref:"https://pleiades.stoa.org/places/462259"},placeName:"Imachara",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030046","isic030046","unchecked","-475","-450","imachara","italy","sicily","palermo",`museo archeologico - regionale antonino salinas`,"ancient greek","grc"]},{file:"ISic030047",metadataFile:"metadata/ISic030047.json",htmlFile:"html/ISic030047.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030047",title:"ISic030047",status:"draft",type:{_:"tessera (civic)?",ana:"#function.tessera.civic",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030047_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030047","isic030047","draft","-500","-450","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030048",metadataFile:"metadata/ISic030048.json",htmlFile:"html/ISic030048.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030048",title:"Fragment of a Greek inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-200,geo:[37,13],facsimile:{url:"ISic030048_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030048","fragment of a greek inscription on bronze","draft","-350","-200","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","ancient greek","grc"]},{file:"ISic030049",metadataFile:"metadata/ISic030049.json",htmlFile:"html/ISic030049.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030049",title:"Fragment of a Latin inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030049_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Latin",mainLang:"la"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030049","fragment of a latin inscription on bronze","draft","-200","-100","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","latin","la"]},{file:"ISic030050",metadataFile:"metadata/ISic030050.json",htmlFile:"html/ISic030050.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030050",title:"Fragment of a Latin inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030050_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Latin",mainLang:"la"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030050","fragment of a latin inscription on bronze","draft","-200","-100","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","latin","la"]},{file:"ISic030051",metadataFile:"metadata/ISic030051.json",htmlFile:"html/ISic030051.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030051",title:"Contract for the sale of land",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030051","contract for the sale of land","draft","-200","-100","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030052",metadataFile:"metadata/ISic030052.json",htmlFile:"html/ISic030052.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030052",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030052","contract for the sale of property","draft","-200","-100","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030053",metadataFile:"metadata/ISic030053.json",htmlFile:"html/ISic030053.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030053",title:"Contract for the sale of a house and a shop",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030053","contract for the sale of a house and a shop","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030054",metadataFile:"metadata/ISic030054.json",htmlFile:"html/ISic030054.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030054",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030054","contract for the sale of property","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030055",metadataFile:"metadata/ISic030055.json",htmlFile:"html/ISic030055.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030055",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030055","contract for the sale of property","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030056",metadataFile:"metadata/ISic030056.json",htmlFile:"html/ISic030056.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030056",title:"Contract for the sale of land",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030056","contract for the sale of land","draft","-250","-200","kamarina","kamarina","italy","sicily","unknown","private collection","ancient greek","grc"]},{file:"ISic030057",metadataFile:"metadata/ISic030057.json",htmlFile:"html/ISic030057.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030057",title:"Contract for the sale of a house and related structures",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030057","contract for the sale of a house and related structures","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030058",metadataFile:"metadata/ISic030058.json",htmlFile:"html/ISic030058.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030058",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030058","contract for the sale of property","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030059",metadataFile:"metadata/ISic030059.json",htmlFile:"html/ISic030059.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030059",title:"Contract label?",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030059","contract label?","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030060",metadataFile:"metadata/ISic030060.json",htmlFile:"html/ISic030060.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030060",title:"Contract for the sale of a vinyard and equipment",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030060","contract for the sale of a vinyard and equipment","draft","-250","-200","morgantina","morgantina","italy","sicily","unknown","in a private collection","ancient greek","grc"]},{file:"ISic030061",metadataFile:"metadata/ISic030061.json",htmlFile:"html/ISic030061.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030061",title:"Contract for the mortgage of land and equipment",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030061","contract for the mortgage of land and equipment","draft","-250","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030062",metadataFile:"metadata/ISic030062.json",htmlFile:"html/ISic030062.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030062",title:"Contract for the sale of houses",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030062","contract for the sale of houses","draft","-250","-200","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030063",metadataFile:"metadata/ISic030063.json",htmlFile:"html/ISic030063.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030063",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030063","contract for the sale of property","draft","-250","-200","morgantina","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030064",metadataFile:"metadata/ISic030064.json",htmlFile:"html/ISic030064.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030064",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030064","contract for the sale of property","draft","-250","-200","morgantina","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030067",metadataFile:"metadata/ISic030067.json",htmlFile:"html/ISic030067.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030067",title:"ISic030067",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030067_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030067","isic030067","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030068",metadataFile:"metadata/ISic030068.json",htmlFile:"html/ISic030068.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030068",title:"ISic030068",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030068_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030068","isic030068","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030069",metadataFile:"metadata/ISic030069.json",htmlFile:"html/ISic030069.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030069",title:"ISic030069",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030069_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030069","isic030069","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030070",metadataFile:"metadata/ISic030070.json",htmlFile:"html/ISic030070.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030070",title:"ISic030070",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030070_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030070","isic030070","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030071",metadataFile:"metadata/ISic030071.json",htmlFile:"html/ISic030071.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030071",title:"ISic030071",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030071_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030071","isic030071","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030072",metadataFile:"metadata/ISic030072.json",htmlFile:"html/ISic030072.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030072",title:"ISic030072",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030072_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030072","isic030072","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030073",metadataFile:"metadata/ISic030073.json",htmlFile:"html/ISic030073.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030073",title:"ISic030073",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030073_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030073","isic030073","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030074",metadataFile:"metadata/ISic030074.json",htmlFile:"html/ISic030074.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030074",title:"ISic030074",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030074_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030074","isic030074","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030075",metadataFile:"metadata/ISic030075.json",htmlFile:"html/ISic030075.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030075",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030075","greek defixio","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030076",metadataFile:"metadata/ISic030076.json",htmlFile:"html/ISic030076.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030076",title:"ISic030076",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030076_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030076","isic030076","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030077",metadataFile:"metadata/ISic030077.json",htmlFile:"html/ISic030077.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030077",title:"ISic030077",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030077_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030077","isic030077","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030078",metadataFile:"metadata/ISic030078.json",htmlFile:"html/ISic030078.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030078",title:"ISic030078",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030078_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030078","isic030078","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030079",metadataFile:"metadata/ISic030079.json",htmlFile:"html/ISic030079.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030079",title:"ISic030079",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030079_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030079","isic030079","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030080",metadataFile:"metadata/ISic030080.json",htmlFile:"html/ISic030080.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030080",title:"ISic030080",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030080_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030080","isic030080","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030081",metadataFile:"metadata/ISic030081.json",htmlFile:"html/ISic030081.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030081",title:"ISic030081",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030081_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030081","isic030081","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030082",metadataFile:"metadata/ISic030082.json",htmlFile:"html/ISic030082.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030082",title:"ISic030082",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030082_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030082","isic030082","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030083",metadataFile:"metadata/ISic030083.json",htmlFile:"html/ISic030083.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030083",title:"ISic030083",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030083_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030083","isic030083","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030084",metadataFile:"metadata/ISic030084.json",htmlFile:"html/ISic030084.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030084",title:"Greek defixio naming Baleria Arsinoe",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030084","greek defixio naming baleria arsinoe","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030085",metadataFile:"metadata/ISic030085.json",htmlFile:"html/ISic030085.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030085",title:"ISic030085",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030085_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030085","isic030085","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030086",metadataFile:"metadata/ISic030086.json",htmlFile:"html/ISic030086.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030086",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030086","greek defixio","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030087",metadataFile:"metadata/ISic030087.json",htmlFile:"html/ISic030087.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030087",title:"ISic030087",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030087_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030087","isic030087","draft","-500","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030088",metadataFile:"metadata/ISic030088.json",htmlFile:"html/ISic030088.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030088",title:"ISic030088",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030088_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030088","isic030088","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030089",metadataFile:"metadata/ISic030089.json",htmlFile:"html/ISic030089.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030089",title:"ISic030089",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030089_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030089","isic030089","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030090",metadataFile:"metadata/ISic030090.json",htmlFile:"html/ISic030090.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030090",title:"ISic030090",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030090_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030090","isic030090","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030091",metadataFile:"metadata/ISic030091.json",htmlFile:"html/ISic030091.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030091",title:"ISic030091",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-450,notAfter:-300,geo:[37,12],facsimile:{url:"ISic030091_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030091","isic030091","draft","-450","-300","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030092",metadataFile:"metadata/ISic030092.json",htmlFile:"html/ISic030092.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030092",title:"ISic030092",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html",cert:"low"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-251,geo:[37,12],facsimile:{url:"ISic030092_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030092","isic030092","draft","-300","-251","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030093",metadataFile:"metadata/ISic030093.json",htmlFile:"html/ISic030093.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030093",title:"ISic030093",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-250,geo:[37,12],facsimile:{url:"ISic030093_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030093","isic030093","draft","-300","-250","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030094",metadataFile:"metadata/ISic030094.json",htmlFile:"html/ISic030094.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030094",title:"ISic030094",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-250,geo:[37,12],facsimile:{url:"ISic030094_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030094","isic030094","draft","-300","-250","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030095",metadataFile:"metadata/ISic030095.json",htmlFile:"html/ISic030095.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030095",title:"ISic030095",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030095_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030095","isic030095","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030096",metadataFile:"metadata/ISic030096.json",htmlFile:"html/ISic030096.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030096",title:"ISic030096",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030096_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030096","isic030096","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030097",metadataFile:"metadata/ISic030097.json",htmlFile:"html/ISic030097.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030097",title:"ISic030097",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030097_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030097","isic030097","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030098",metadataFile:"metadata/ISic030098.json",htmlFile:"html/ISic030098.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030098",title:"ISic030098",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030098_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030098","isic030098","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030099",metadataFile:"metadata/ISic030099.json",htmlFile:"html/ISic030099.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030099",title:"ISic030099",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030099_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030099","isic030099","draft","-499","-400","selinus","selinunte","italy","sicily","martin von wagner museum der universität würzurbg","ancient greek","grc"]},{file:"ISic030100",metadataFile:"metadata/ISic030100.json",htmlFile:"html/ISic030100.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030100",title:"ISic030100",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030100_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030100","isic030100","draft","-499","-400","selinus","selinunte","italy","sicily","martin von wagner museum der universität würzurbg","ancient greek","grc"]},{file:"ISic030101",metadataFile:"metadata/ISic030101.json",htmlFile:"html/ISic030101.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030101",title:"ISic030101",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030101_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030101","isic030101","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030102",metadataFile:"metadata/ISic030102.json",htmlFile:"html/ISic030102.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030102",title:"ISic030102",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030102_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030102","isic030102","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030103",metadataFile:"metadata/ISic030103.json",htmlFile:"html/ISic030103.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030103",title:"ISic030103",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030103_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030103","isic030103","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030104",metadataFile:"metadata/ISic030104.json",htmlFile:"html/ISic030104.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030104",title:"ISic030104",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030104_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030104","isic030104","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030105",metadataFile:"metadata/ISic030105.json",htmlFile:"html/ISic030105.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030105",title:"ISic030105",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030105_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030105","isic030105","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030106",metadataFile:"metadata/ISic030106.json",htmlFile:"html/ISic030106.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030106",title:"ISic030106",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030106_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030106","isic030106","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030107",metadataFile:"metadata/ISic030107.json",htmlFile:"html/ISic030107.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030107",title:"ISic030107",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030107_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030107","isic030107","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030108",metadataFile:"metadata/ISic030108.json",htmlFile:"html/ISic030108.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030108",title:"ISic030108",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030108_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030108","isic030108","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030109",metadataFile:"metadata/ISic030109.json",htmlFile:"html/ISic030109.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030109",title:"ISic030109",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030109_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030109","isic030109","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030110",metadataFile:"metadata/ISic030110.json",htmlFile:"html/ISic030110.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030110",title:"ISic030110",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030110_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030110","isic030110","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030111",metadataFile:"metadata/ISic030111.json",htmlFile:"html/ISic030111.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030111",title:"ISic030111",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030111_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030111","isic030111","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030113",metadataFile:"metadata/ISic030113.json",htmlFile:"html/ISic030113.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030113",title:"Caduceus of the Rheginoi",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-450,geo:[38,15],facsimile:{url:"ISic030113_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Rhegion",type:"ancient",ref:"https://pleiades.stoa.org/places/452416"},placeName:"Rhegion",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030113","caduceus of the rheginoi","draft","-500","-450","rhegion","reggio calabria","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic030114",metadataFile:"metadata/ISic030114.json",htmlFile:"html/ISic030114.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030114",title:"Part of a caduceus of the Ichaninoi",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[null],facsimile:{url:"ISic030114_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Enna",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Ichana",type:"ancient",ref:"https://pleiades.stoa.org/places/465917"},placeName:"Ichana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030114","part of a caduceus of the ichaninoi","draft","-500","-401","ichana","italy","sicily","enna","private collection","ancient greek","grc"]},{file:"ISic030115",metadataFile:"metadata/ISic030115.json",htmlFile:"html/ISic030115.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030115",title:"Part of a caduceus of the city of Hi(p)pana",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[37,13],facsimile:{url:"ISic030115_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hippana",type:"ancient",ref:"http://pleiades.stoa.org/places/462247"},placeName:"Hippana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030115","part of a caduceus of the city of hi(p)pana","draft","-500","-401","hippana","montagna dei cavalli","italy","sicily","ancient greek","grc"]},{file:"ISic030116",metadataFile:"metadata/ISic030116.json",htmlFile:"html/ISic030116.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030116",title:"Caduceus from the city of Longane",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[38,15],facsimile:{url:"ISic030116_tiled.tif",desc:"Image from https://www.britishmuseum.org/collection/image/256673001 (c) The Trustees of the British Museum, under a CC-BY-NC-SA 4.0 licence."},country:"United Kingdom",settlement:"London",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Longane",type:"ancient",ref:"https://pleiades.stoa.org/places/462287"},placeName:"Longane",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030116","caduceus from the city of longane","draft","-500","-401","longane","rodì milici","united kingdom","london","the british museum","ancient greek","grc"]},{file:"ISic030117",metadataFile:"metadata/ISic030117.json",htmlFile:"html/ISic030117.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030117",title:"Caduceus from the city of Syracusae",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[37,15],facsimile:{url:"ISic030117_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Greece",settlement:"Olympia",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030117","caduceus from the city of syracusae","draft","-500","-401","syracusae","siracusa","greece","olympia","archaeological museum of olympia","ancient greek","grc"]},{file:"ISic030118",metadataFile:"metadata/ISic030118.json",htmlFile:"html/ISic030118.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030118",title:"Caduceus from the city of Syracusae",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-101,geo:[37,15],facsimile:{url:"ISic030118_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030118","caduceus from the city of syracusae","draft","-500","-101","syracusae","siracusa","sicily","siracusa","private collection","ancient greek","grc"]},{file:"ISic030119",metadataFile:"metadata/ISic030119.json",htmlFile:"html/ISic030119.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030119",title:"Caduceus from an unknown Sicilian location",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-201,facsimile:{url:"ISic030119_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sicilia",type:"ancient",ref:"http://pleiades.stoa.org/places/462492"},placeName:"Sicilia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030119","caduceus from an unknown sicilian location","draft","-400","-201","sicilia","sicily","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030120",metadataFile:"metadata/ISic030120.json",htmlFile:"html/ISic030120.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030120",title:"Caduceus from an unknown Sicilian location",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-201,facsimile:{url:"ISic030120_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sicilia",type:"ancient",ref:"http://pleiades.stoa.org/places/462492"},placeName:"Sicilia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030120","caduceus from an unknown sicilian location","draft","-400","-201","sicilia","sicily","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030121",metadataFile:"metadata/ISic030121.json",htmlFile:"html/ISic030121.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030121",title:"Caduceus of the people of Enna",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-301,geo:[37,14],facsimile:{url:"ISic030121_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Enna",type:"ancient",ref:"http://pleiades.stoa.org/places/462236"},placeName:"Enna",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030121","caduceus of the people of enna","draft","-400","-301","enna","enna","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030122",metadataFile:"metadata/ISic030122.json",htmlFile:"html/ISic030122.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030122",title:"ISic030122",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030122_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030122","isic030122","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030123",metadataFile:"metadata/ISic030123.json",htmlFile:"html/ISic030123.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030123",title:"ISic030123",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030123_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030123","isic030123","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030124",metadataFile:"metadata/ISic030124.json",htmlFile:"html/ISic030124.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030124",title:"ISic030124",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030124_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030124","isic030124","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030125",metadataFile:"metadata/ISic030125.json",htmlFile:"html/ISic030125.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030125",title:"ISic030125",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030125_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030125","isic030125","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030126",metadataFile:"metadata/ISic030126.json",htmlFile:"html/ISic030126.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030126",title:"ISic030126",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030126_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030126","isic030126","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030127",metadataFile:"metadata/ISic030127.json",htmlFile:"html/ISic030127.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030127",title:"ISic030127",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030127_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030127","isic030127","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030128",metadataFile:"metadata/ISic030128.json",htmlFile:"html/ISic030128.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030128",title:"ISic030128",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030128_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030128","isic030128","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030129",metadataFile:"metadata/ISic030129.json",htmlFile:"html/ISic030129.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030129",title:"ISic030129",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030129_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030129","isic030129","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030130",metadataFile:"metadata/ISic030130.json",htmlFile:"html/ISic030130.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030130",title:"ISic030130",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030130_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030130","isic030130","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030131",metadataFile:"metadata/ISic030131.json",htmlFile:"html/ISic030131.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030131",title:"ISic030131",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030131_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030131","isic030131","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030132",metadataFile:"metadata/ISic030132.json",htmlFile:"html/ISic030132.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030132",title:"ISic030132",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030132_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030132","isic030132","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030133",metadataFile:"metadata/ISic030133.json",htmlFile:"html/ISic030133.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030133",title:"ISic030133",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030133_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030133","isic030133","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030134",metadataFile:"metadata/ISic030134.json",htmlFile:"html/ISic030134.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030134",title:"ISic030134",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030134_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030134","isic030134","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030135",metadataFile:"metadata/ISic030135.json",htmlFile:"html/ISic030135.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030135",title:"ISic030135",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030135_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030135","isic030135","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030136",metadataFile:"metadata/ISic030136.json",htmlFile:"html/ISic030136.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030136",title:"ISic030136",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030136_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030136","isic030136","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030137",metadataFile:"metadata/ISic030137.json",htmlFile:"html/ISic030137.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030137",title:"ISic030137",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030137_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030137","isic030137","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030138",metadataFile:"metadata/ISic030138.json",htmlFile:"html/ISic030138.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030138",title:"ISic030138",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030138_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030138","isic030138","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030139",metadataFile:"metadata/ISic030139.json",htmlFile:"html/ISic030139.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030139",title:"ISic030139",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030139_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030139","isic030139","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030140",metadataFile:"metadata/ISic030140.json",htmlFile:"html/ISic030140.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030140",title:"ISic030140",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030140_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030140","isic030140","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030141",metadataFile:"metadata/ISic030141.json",htmlFile:"html/ISic030141.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030141",title:"ISic030141",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030141_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030141","isic030141","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030142",metadataFile:"metadata/ISic030142.json",htmlFile:"html/ISic030142.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030142",title:"ISic030142",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030142_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030142","isic030142","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030143",metadataFile:"metadata/ISic030143.json",htmlFile:"html/ISic030143.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030143",title:"ISic030143",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030143_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030143","isic030143","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030144",metadataFile:"metadata/ISic030144.json",htmlFile:"html/ISic030144.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030144",title:"ISic030144",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030144_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030144","isic030144","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030145",metadataFile:"metadata/ISic030145.json",htmlFile:"html/ISic030145.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030145",title:"ISic030145",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030145_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030145","isic030145","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030146",metadataFile:"metadata/ISic030146.json",htmlFile:"html/ISic030146.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030146",title:"ISic030146",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030146_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030146","isic030146","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030147",metadataFile:"metadata/ISic030147.json",htmlFile:"html/ISic030147.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030147",title:"ISic030147",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030147_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030147","isic030147","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030148",metadataFile:"metadata/ISic030148.json",htmlFile:"html/ISic030148.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030148",title:"ISic030148",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030148_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030148","isic030148","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030149",metadataFile:"metadata/ISic030149.json",htmlFile:"html/ISic030149.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030149",title:"ISic030149",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030149_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030149","isic030149","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030150",metadataFile:"metadata/ISic030150.json",htmlFile:"html/ISic030150.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030150",title:"ISic030150",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030150_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030150","isic030150","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030151",metadataFile:"metadata/ISic030151.json",htmlFile:"html/ISic030151.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030151",title:"ISic030151",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030151_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030151","isic030151","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030152",metadataFile:"metadata/ISic030152.json",htmlFile:"html/ISic030152.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030152",title:"ISic030152",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030152_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030152","isic030152","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030153",metadataFile:"metadata/ISic030153.json",htmlFile:"html/ISic030153.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030153",title:"ISic030153",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030153_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030153","isic030153","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030154",metadataFile:"metadata/ISic030154.json",htmlFile:"html/ISic030154.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030154",title:"ISic030154",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030154_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030154","isic030154","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030155",metadataFile:"metadata/ISic030155.json",htmlFile:"html/ISic030155.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030155",title:"ISic030155",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030155_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030155","isic030155","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030156",metadataFile:"metadata/ISic030156.json",htmlFile:"html/ISic030156.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030156",title:"ISic030156",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030156_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030156","isic030156","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030157",metadataFile:"metadata/ISic030157.json",htmlFile:"html/ISic030157.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030157",title:"ISic030157",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030157_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030157","isic030157","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030158",metadataFile:"metadata/ISic030158.json",htmlFile:"html/ISic030158.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030158",title:"ISic030158",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030158_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030158","isic030158","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030159",metadataFile:"metadata/ISic030159.json",htmlFile:"html/ISic030159.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030159",title:"ISic030159",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030159_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030159","isic030159","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030160",metadataFile:"metadata/ISic030160.json",htmlFile:"html/ISic030160.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030160",title:"ISic030160",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030160_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030160","isic030160","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030161",metadataFile:"metadata/ISic030161.json",htmlFile:"html/ISic030161.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030161",title:"ISic030161",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030161_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030161","isic030161","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030162",metadataFile:"metadata/ISic030162.json",htmlFile:"html/ISic030162.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030162",title:"ISic030162",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030162_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030162","isic030162","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030163",metadataFile:"metadata/ISic030163.json",htmlFile:"html/ISic030163.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030163",title:"ISic030163",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030163_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030163","isic030163","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030164",metadataFile:"metadata/ISic030164.json",htmlFile:"html/ISic030164.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030164",title:"ISic030164",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030164_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030164","isic030164","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030165",metadataFile:"metadata/ISic030165.json",htmlFile:"html/ISic030165.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030165",title:"ISic030165",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030165_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030165","isic030165","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030166",metadataFile:"metadata/ISic030166.json",htmlFile:"html/ISic030166.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030166",title:"ISic030166",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030166_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030166","isic030166","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030167",metadataFile:"metadata/ISic030167.json",htmlFile:"html/ISic030167.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030167",title:"ISic030167",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030167_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030167","isic030167","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030168",metadataFile:"metadata/ISic030168.json",htmlFile:"html/ISic030168.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030168",title:"ISic030168",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030168_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030168","isic030168","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030169",metadataFile:"metadata/ISic030169.json",htmlFile:"html/ISic030169.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030169",title:"ISic030169",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030169_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030169","isic030169","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030170",metadataFile:"metadata/ISic030170.json",htmlFile:"html/ISic030170.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030170",title:"ISic030170",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030170_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030170","isic030170","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030171",metadataFile:"metadata/ISic030171.json",htmlFile:"html/ISic030171.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030171",title:"ISic030171",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030171_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030171","isic030171","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030172",metadataFile:"metadata/ISic030172.json",htmlFile:"html/ISic030172.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030172",title:"ISic030172",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030172_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030172","isic030172","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030173",metadataFile:"metadata/ISic030173.json",htmlFile:"html/ISic030173.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030173",title:"ISic030173",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030173_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030173","isic030173","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030174",metadataFile:"metadata/ISic030174.json",htmlFile:"html/ISic030174.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030174",title:"ISic030174",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030174_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030174","isic030174","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030175",metadataFile:"metadata/ISic030175.json",htmlFile:"html/ISic030175.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030175",title:"ISic030175",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030175_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030175","isic030175","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030176",metadataFile:"metadata/ISic030176.json",htmlFile:"html/ISic030176.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030176",title:"ISic030176",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030176_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030176","isic030176","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030177",metadataFile:"metadata/ISic030177.json",htmlFile:"html/ISic030177.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030177",title:"ISic030177",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030177_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030177","isic030177","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030178",metadataFile:"metadata/ISic030178.json",htmlFile:"html/ISic030178.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030178",title:"ISic030178",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030178_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030178","isic030178","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030179",metadataFile:"metadata/ISic030179.json",htmlFile:"html/ISic030179.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030179",title:"ISic030179",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030179_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030179","isic030179","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030180",metadataFile:"metadata/ISic030180.json",htmlFile:"html/ISic030180.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030180",title:"ISic030180",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030180_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030180","isic030180","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030181",metadataFile:"metadata/ISic030181.json",htmlFile:"html/ISic030181.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030181",title:"ISic030181",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030181_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030181","isic030181","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030182",metadataFile:"metadata/ISic030182.json",htmlFile:"html/ISic030182.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030182",title:"ISic030182",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030182_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030182","isic030182","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030183",metadataFile:"metadata/ISic030183.json",htmlFile:"html/ISic030183.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030183",title:"ISic030183",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030183_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030183","isic030183","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030184",metadataFile:"metadata/ISic030184.json",htmlFile:"html/ISic030184.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030184",title:"ISic030184",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030184_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030184","isic030184","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030185",metadataFile:"metadata/ISic030185.json",htmlFile:"html/ISic030185.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030185",title:"ISic030185",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030185_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030185","isic030185","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030186",metadataFile:"metadata/ISic030186.json",htmlFile:"html/ISic030186.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030186",title:"ISic030186",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030186_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030186","isic030186","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030187",metadataFile:"metadata/ISic030187.json",htmlFile:"html/ISic030187.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030187",title:"ISic030187",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030187_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030187","isic030187","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030188",metadataFile:"metadata/ISic030188.json",htmlFile:"html/ISic030188.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030188",title:"ISic030188",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030188_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030188","isic030188","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030189",metadataFile:"metadata/ISic030189.json",htmlFile:"html/ISic030189.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030189",title:"ISic030189",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030189_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030189","isic030189","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030190",metadataFile:"metadata/ISic030190.json",htmlFile:"html/ISic030190.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030190",title:"ISic030190",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030190_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030190","isic030190","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030191",metadataFile:"metadata/ISic030191.json",htmlFile:"html/ISic030191.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030191",title:"ISic030191",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030191_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030191","isic030191","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030192",metadataFile:"metadata/ISic030192.json",htmlFile:"html/ISic030192.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030192",title:"ISic030192",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030192_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030192","isic030192","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030193",metadataFile:"metadata/ISic030193.json",htmlFile:"html/ISic030193.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030193",title:"ISic030193",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030193_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030193","isic030193","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030194",metadataFile:"metadata/ISic030194.json",htmlFile:"html/ISic030194.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030194",title:"ISic030194",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030194_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030194","isic030194","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030195",metadataFile:"metadata/ISic030195.json",htmlFile:"html/ISic030195.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030195",title:"ISic030195",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030195_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030195","isic030195","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030196",metadataFile:"metadata/ISic030196.json",htmlFile:"html/ISic030196.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030196",title:"ISic030196",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030196_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030196","isic030196","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030197",metadataFile:"metadata/ISic030197.json",htmlFile:"html/ISic030197.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030197",title:"ISic030197",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030197_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030197","isic030197","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030198",metadataFile:"metadata/ISic030198.json",htmlFile:"html/ISic030198.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030198",title:"ISic030198",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030198_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030198","isic030198","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030199",metadataFile:"metadata/ISic030199.json",htmlFile:"html/ISic030199.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030199",title:"ISic030199",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030199_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030199","isic030199","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030200",metadataFile:"metadata/ISic030200.json",htmlFile:"html/ISic030200.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030200",title:"ISic030200",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030200_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030200","isic030200","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030201",metadataFile:"metadata/ISic030201.json",htmlFile:"html/ISic030201.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030201",title:"ISic030201",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030201_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030201","isic030201","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030202",metadataFile:"metadata/ISic030202.json",htmlFile:"html/ISic030202.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030202",title:"ISic030202",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030202_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030202","isic030202","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030203",metadataFile:"metadata/ISic030203.json",htmlFile:"html/ISic030203.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030203",title:"ISic030203",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030203_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030203","isic030203","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030204",metadataFile:"metadata/ISic030204.json",htmlFile:"html/ISic030204.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030204",title:"ISic030204",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030204_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030204","isic030204","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030205",metadataFile:"metadata/ISic030205.json",htmlFile:"html/ISic030205.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030205",title:"ISic030205",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030205_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030205","isic030205","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030206",metadataFile:"metadata/ISic030206.json",htmlFile:"html/ISic030206.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030206",title:"ISic030206",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030206_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030206","isic030206","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030207",metadataFile:"metadata/ISic030207.json",htmlFile:"html/ISic030207.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030207",title:"ISic030207",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030207_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030207","isic030207","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030208",metadataFile:"metadata/ISic030208.json",htmlFile:"html/ISic030208.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030208",title:"ISic030208",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030208_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030208","isic030208","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030209",metadataFile:"metadata/ISic030209.json",htmlFile:"html/ISic030209.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030209",title:"ISic030209",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030209_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030209","isic030209","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030210",metadataFile:"metadata/ISic030210.json",htmlFile:"html/ISic030210.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030210",title:"ISic030210",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030210_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030210","isic030210","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030211",metadataFile:"metadata/ISic030211.json",htmlFile:"html/ISic030211.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030211",title:"ISic030211",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030211_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030211","isic030211","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030212",metadataFile:"metadata/ISic030212.json",htmlFile:"html/ISic030212.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030212",title:"ISic030212",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030212_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030212","isic030212","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030213",metadataFile:"metadata/ISic030213.json",htmlFile:"html/ISic030213.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030213",title:"ISic030213",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030213_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030213","isic030213","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030214",metadataFile:"metadata/ISic030214.json",htmlFile:"html/ISic030214.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030214",title:"ISic030214",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030214_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030214","isic030214","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030215",metadataFile:"metadata/ISic030215.json",htmlFile:"html/ISic030215.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030215",title:"ISic030215",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030215_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030215","isic030215","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030216",metadataFile:"metadata/ISic030216.json",htmlFile:"html/ISic030216.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030216",title:"ISic030216",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030216_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030216","isic030216","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030217",metadataFile:"metadata/ISic030217.json",htmlFile:"html/ISic030217.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030217",title:"ISic030217",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030217_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030217","isic030217","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030218",metadataFile:"metadata/ISic030218.json",htmlFile:"html/ISic030218.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030218",title:"ISic030218",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030218_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030218","isic030218","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030219",metadataFile:"metadata/ISic030219.json",htmlFile:"html/ISic030219.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030219",title:"ISic030219",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030219_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030219","isic030219","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030220",metadataFile:"metadata/ISic030220.json",htmlFile:"html/ISic030220.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030220",title:"ISic030220",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030220_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030220","isic030220","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030221",metadataFile:"metadata/ISic030221.json",htmlFile:"html/ISic030221.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030221",title:"ISic030221",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030221_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030221","isic030221","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030222",metadataFile:"metadata/ISic030222.json",htmlFile:"html/ISic030222.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030222",title:"ISic030222",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030222_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030222","isic030222","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030223",metadataFile:"metadata/ISic030223.json",htmlFile:"html/ISic030223.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030223",title:"ISic030223",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030223_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030223","isic030223","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030224",metadataFile:"metadata/ISic030224.json",htmlFile:"html/ISic030224.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030224",title:"ISic030224",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030224_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030224","isic030224","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030225",metadataFile:"metadata/ISic030225.json",htmlFile:"html/ISic030225.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030225",title:"ISic030225",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030225_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030225","isic030225","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030226",metadataFile:"metadata/ISic030226.json",htmlFile:"html/ISic030226.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030226",title:"ISic030226",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030226_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030226","isic030226","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030227",metadataFile:"metadata/ISic030227.json",htmlFile:"html/ISic030227.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030227",title:"ISic030227",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030227_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030227","isic030227","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030228",metadataFile:"metadata/ISic030228.json",htmlFile:"html/ISic030228.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030228",title:"ISic030228",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030228_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030228","isic030228","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030229",metadataFile:"metadata/ISic030229.json",htmlFile:"html/ISic030229.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030229",title:"ISic030229",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030229_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030229","isic030229","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030230",metadataFile:"metadata/ISic030230.json",htmlFile:"html/ISic030230.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030230",title:"ISic030230",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030230_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030230","isic030230","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030231",metadataFile:"metadata/ISic030231.json",htmlFile:"html/ISic030231.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030231",title:"ISic030231",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030231_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030231","isic030231","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030232",metadataFile:"metadata/ISic030232.json",htmlFile:"html/ISic030232.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030232",title:"ISic030232",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030232_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030232","isic030232","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030233",metadataFile:"metadata/ISic030233.json",htmlFile:"html/ISic030233.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030233",title:"ISic030233",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030233_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030233","isic030233","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030234",metadataFile:"metadata/ISic030234.json",htmlFile:"html/ISic030234.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030234",title:"ISic030234",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030234_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030234","isic030234","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030235",metadataFile:"metadata/ISic030235.json",htmlFile:"html/ISic030235.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030235",title:"ISic030235",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030235_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030235","isic030235","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030236",metadataFile:"metadata/ISic030236.json",htmlFile:"html/ISic030236.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030236",title:"ISic030236",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030236_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030236","isic030236","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030237",metadataFile:"metadata/ISic030237.json",htmlFile:"html/ISic030237.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030237",title:"ISic030237",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030237_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030237","isic030237","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030238",metadataFile:"metadata/ISic030238.json",htmlFile:"html/ISic030238.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030238",title:"ISic030238",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030238_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030238","isic030238","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030239",metadataFile:"metadata/ISic030239.json",htmlFile:"html/ISic030239.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030239",title:"ISic030239",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030239_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030239","isic030239","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030240",metadataFile:"metadata/ISic030240.json",htmlFile:"html/ISic030240.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030240",title:"ISic030240",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030240_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030240","isic030240","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030241",metadataFile:"metadata/ISic030241.json",htmlFile:"html/ISic030241.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030241",title:"ISic030241",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030241_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030241","isic030241","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030242",metadataFile:"metadata/ISic030242.json",htmlFile:"html/ISic030242.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030242",title:"ISic030242",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030242_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030242","isic030242","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030243",metadataFile:"metadata/ISic030243.json",htmlFile:"html/ISic030243.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030243",title:"ISic030243",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030243_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030243","isic030243","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030244",metadataFile:"metadata/ISic030244.json",htmlFile:"html/ISic030244.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030244",title:"ISic030244",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030244_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030244","isic030244","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030245",metadataFile:"metadata/ISic030245.json",htmlFile:"html/ISic030245.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030245",title:"ISic030245",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030245_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030245","isic030245","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030246",metadataFile:"metadata/ISic030246.json",htmlFile:"html/ISic030246.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030246",title:"ISic030246",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030246_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030246","isic030246","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030247",metadataFile:"metadata/ISic030247.json",htmlFile:"html/ISic030247.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030247",title:"ISic030247",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030247_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030247","isic030247","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030248",metadataFile:"metadata/ISic030248.json",htmlFile:"html/ISic030248.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030248",title:"ISic030248",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030248_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030248","isic030248","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030249",metadataFile:"metadata/ISic030249.json",htmlFile:"html/ISic030249.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030249",title:"ISic030249",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030249_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030249","isic030249","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030250",metadataFile:"metadata/ISic030250.json",htmlFile:"html/ISic030250.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030250",title:"ISic030250",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030250_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030250","isic030250","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030251",metadataFile:"metadata/ISic030251.json",htmlFile:"html/ISic030251.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030251",title:"ISic030251",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030251_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030251","isic030251","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030252",metadataFile:"metadata/ISic030252.json",htmlFile:"html/ISic030252.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030252",title:"ISic030252",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030252_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030252","isic030252","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030253",metadataFile:"metadata/ISic030253.json",htmlFile:"html/ISic030253.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030253",title:"ISic030253",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030253_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030253","isic030253","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030254",metadataFile:"metadata/ISic030254.json",htmlFile:"html/ISic030254.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030254",title:"ISic030254",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030254_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030254","isic030254","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030255",metadataFile:"metadata/ISic030255.json",htmlFile:"html/ISic030255.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030255",title:"ISic030255",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030255_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030255","isic030255","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030256",metadataFile:"metadata/ISic030256.json",htmlFile:"html/ISic030256.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030256",title:"ISic030256",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030256_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030256","isic030256","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030257",metadataFile:"metadata/ISic030257.json",htmlFile:"html/ISic030257.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030257",title:"ISic030257",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030257_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030257","isic030257","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030258",metadataFile:"metadata/ISic030258.json",htmlFile:"html/ISic030258.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030258",title:"ISic030258",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030258_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030258","isic030258","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030259",metadataFile:"metadata/ISic030259.json",htmlFile:"html/ISic030259.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030259",title:"ISic030259",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030259_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030259","isic030259","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030260",metadataFile:"metadata/ISic030260.json",htmlFile:"html/ISic030260.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030260",title:"ISic030260",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030260_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030260","isic030260","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030261",metadataFile:"metadata/ISic030261.json",htmlFile:"html/ISic030261.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030261",title:"ISic030261",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030261_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030261","isic030261","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030262",metadataFile:"metadata/ISic030262.json",htmlFile:"html/ISic030262.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030262",title:"ISic030262",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030262_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030262","isic030262","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030263",metadataFile:"metadata/ISic030263.json",htmlFile:"html/ISic030263.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030263",title:"ISic030263",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030263_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030263","isic030263","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030264",metadataFile:"metadata/ISic030264.json",htmlFile:"html/ISic030264.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030264",title:"ISic030264",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030264_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030264","isic030264","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030265",metadataFile:"metadata/ISic030265.json",htmlFile:"html/ISic030265.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030265",title:"ISic030265",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030265_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030265","isic030265","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030266",metadataFile:"metadata/ISic030266.json",htmlFile:"html/ISic030266.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030266",title:"ISic030266",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030266_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030266","isic030266","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030267",metadataFile:"metadata/ISic030267.json",htmlFile:"html/ISic030267.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030267",title:"ISic030267",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030267_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030267","isic030267","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030268",metadataFile:"metadata/ISic030268.json",htmlFile:"html/ISic030268.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030268",title:"ISic030268",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030268_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030268","isic030268","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030269",metadataFile:"metadata/ISic030269.json",htmlFile:"html/ISic030269.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030269",title:"ISic030269",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030269_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030269","isic030269","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030270",metadataFile:"metadata/ISic030270.json",htmlFile:"html/ISic030270.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030270",title:"ISic030270",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030270_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030270","isic030270","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030271",metadataFile:"metadata/ISic030271.json",htmlFile:"html/ISic030271.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030271",title:"I.Sicily inscription 030271",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030271_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030271","i.sicily inscription 030271","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030272",metadataFile:"metadata/ISic030272.json",htmlFile:"html/ISic030272.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030272",title:"I.Sicily inscription 030272",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030272_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030272","i.sicily inscription 030272","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030273",metadataFile:"metadata/ISic030273.json",htmlFile:"html/ISic030273.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030273",title:"I.Sicily inscription 030273",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030273_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030273","i.sicily inscription 030273","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030274",metadataFile:"metadata/ISic030274.json",htmlFile:"html/ISic030274.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030274",title:"I.Sicily inscription 030274",status:"draft",type:{_:"list",ana:"#function.list",ref:"http://www.eagle-network.eu/voc/typeins/lod/108.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030274_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030274","i.sicily inscription 030274","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030275",metadataFile:"metadata/ISic030275.json",htmlFile:"html/ISic030275.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030275",title:"I.Sicily inscription 030275",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-100,geo:[null],facsimile:{url:"ISic030275_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"unknown",type:"ancient"},placeName:"unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030275","i.sicily inscription 030275","draft","-300","-100","unknown","unknown","italy","sicily","private collection","ancient greek","grc"]},{file:"ISic030276",metadataFile:"metadata/ISic030276.json",htmlFile:"html/ISic030276.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030276",title:"I.Sicily inscription 030276",status:"draft",type:{_:"list",ana:"#function.list",ref:"http://www.eagle-network.eu/voc/typeins/lod/108.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-400,notAfter:-200,geo:[null],facsimile:{url:"ISic030276_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"unknown",type:"ancient"},placeName:"unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030276","i.sicily inscription 030276","draft","-400","-200","unknown","unknown","italy","sicily","private collection","ancient greek","grc"]},{file:"ISic030277",metadataFile:"metadata/ISic030277.json",htmlFile:"html/ISic030277.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030277",title:"Decree in honour of Nemenios (copy A)",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-100,notAfter:-46,geo:[37,14],facsimile:{url:"ISic030277_tiled.tif",desc:"Photo J.Prag, 09.07.2018, courtesy Soprintendenza BBCCAA di Messina"},country:"Italy",region:"Sicily",settlement:"Halaesa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Halaesa",type:"ancient",ref:"http://pleiades.stoa.org/places/462225"},placeName:"Halaesa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030277","decree in honour of nemenios (copy a)","edited","-100","-46","halaesa","castel di tusa","italy","sicily","halaesa","antiquarium e sito archeologico di halaesa","ancient greek","grc"]},{file:"ISic030278",metadataFile:"metadata/ISic030278.json",htmlFile:"html/ISic030278.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030278",title:"Decree in honour of Nemenios (copy B)",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-100,notAfter:-46,geo:[37,14],facsimile:{url:"ISic030278_tiled.tif",desc:"Photo J.Prag, 09.07.2018, courtesy Soprintendenza BBCCAA di Messina"},country:"Italy",region:"Sicily",settlement:"Halaesa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Halaesa",type:"ancient",ref:"http://pleiades.stoa.org/places/462225"},placeName:"Halaesa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030278","decree in honour of nemenios (copy b)","edited","-100","-46","halaesa","castel di tusa","italy","sicily","halaesa","antiquarium e sito archeologico di halaesa","ancient greek","grc"]},{file:"ISic030279",metadataFile:"metadata/ISic030279.json",htmlFile:"html/ISic030279.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030279",title:"ISicily 030279",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030279_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Campania",settlement:"Napoli",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030279","isicily 030279","draft","-250","-100","agrigentum","agrigento","italy","campania","napoli","museo archeologico nazionale di napoli","ancient greek","grc"]},{file:"ISic030280",metadataFile:"metadata/ISic030280.json",htmlFile:"html/ISic030280.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030280",title:"ISicily 030280",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-100,geo:[35,14],facsimile:null,country:"Italy",region:"Campania",settlement:"Napoli",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Melita",type:"ancient",ref:"http://pleiades.stoa.org/places/462311"},placeName:"Melita",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030280","isicily 030280","draft","-250","-100","melita","malta","italy","campania","napoli","museo archeologico nazionale di napoli","ancient greek","grc"]},{file:"ISic030281",metadataFile:"metadata/ISic030281.json",htmlFile:"html/ISic030281.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030281",title:"ISicily 030281",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-46,notAfter:-1,geo:[37,13],facsimile:{url:"ISic030281_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"France",region:"",settlement:"Paris",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030281","isicily 030281","draft","-46","-1","agrigentum","agrigento","france","paris","formerly in the collection froehner","ancient greek","grc"]},{file:"ISic030294",metadataFile:"metadata/ISic030294.json",htmlFile:"html/ISic030294.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030294",title:"Entella 1 (Nenci) = C2 (Ampolo): friendship and alliance with the Herbitaioi",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030294_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford (tablet pre-cleaning, c.1977)"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030294","entella 1 (nenci) = c2 (ampolo): friendship and alliance with the herbitaioi","edited","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030295",metadataFile:"metadata/ISic030295.json",htmlFile:"html/ISic030295.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030295",title:"Entella 2 = C3: friendship and alliance with the Geloans",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030295_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford (tablet pre-cleaning, c.1977)"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030295","entella 2 = c3: friendship and alliance with the geloans","edited","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030296",metadataFile:"metadata/ISic030296.json",htmlFile:"html/ISic030296.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030296",title:"Entella 3 = Nakone A: decree of reconciliation",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[null],facsimile:{url:"ISic030296_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Nakone",type:"ancient",ref:"https://pleiades.stoa.org/places/465958"},placeName:"Nakone",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030296","entella 3 = nakone a: decree of reconciliation","edited","-264","-241","nakone","unknown private location","ancient greek","grc"]},{file:"ISic030297",metadataFile:"metadata/ISic030297.json",htmlFile:"html/ISic030297.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030297",title:"Entella 4 = B1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030297_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030297","entella 4 = b1","draft","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030298",metadataFile:"metadata/ISic030298.json",htmlFile:"html/ISic030298.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030298",title:"Entella 5 = A1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030298_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030298","entella 5 = a1","draft","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030299",metadataFile:"metadata/ISic030299.json",htmlFile:"html/ISic030299.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030299",title:"Entella 6 = C1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030299_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030299","entella 6 = c1","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030300",metadataFile:"metadata/ISic030300.json",htmlFile:"html/ISic030300.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030300",title:"Entella 8 = A2",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030300_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030300","entella 8 = a2","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030301",metadataFile:"metadata/ISic030301.json",htmlFile:"html/ISic030301.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030301",title:"Entella 9 = A3",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030301_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030301","entella 9 = a3","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030302",metadataFile:"metadata/ISic030302.json",htmlFile:"html/ISic030302.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030223",title:"ISic030302",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030223_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030223","isic030302","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030303",metadataFile:"metadata/ISic030303.json",htmlFile:"html/ISic030303.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030303",title:"ISic030303",status:"draft",type:{_:"Revenge doll (Rachepuppe)",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"statue",ana:"#object.statue",ref:"http://www.eagle-network.eu/voc/objtyp/lod/241.html"},notBefore:-500,notAfter:-380,geo:[37,14],facsimile:{url:"ISic030303_detail_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030303","isic030303","draft","-500","-380","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030304",metadataFile:"metadata/ISic030304.json",htmlFile:"html/ISic030304.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030304",title:"ISic030304",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030304_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030304","isic030304","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030305",metadataFile:"metadata/ISic030305.json",htmlFile:"html/ISic030305.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030305",title:"ISic030305",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030305_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030305","isic030305","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030306",metadataFile:"metadata/ISic030306.json",htmlFile:"html/ISic030306.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030306",title:"ISic030306",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030306_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030306","isic030306","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030307",metadataFile:"metadata/ISic030307.json",htmlFile:"html/ISic030307.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030307",title:"ISic030307",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030307_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030307","isic030307","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030308",metadataFile:"metadata/ISic030308.json",htmlFile:"html/ISic030308.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030308",title:"ISic030308",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030308_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030308","isic030308","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030309",metadataFile:"metadata/ISic030309.json",htmlFile:"html/ISic030309.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030309",title:"ISic030309",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030309_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030309","isic030309","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030310",metadataFile:"metadata/ISic030310.json",htmlFile:"html/ISic030310.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030310",title:"ISic030310",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030310_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030310","isic030310","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030311",metadataFile:"metadata/ISic030311.json",htmlFile:"html/ISic030311.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030311",title:"ISic030311",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030311_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030311","isic030311","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030312",metadataFile:"metadata/ISic030312.json",htmlFile:"html/ISic030312.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030312",title:"ISic030312",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030312_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030312","isic030312","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030313",metadataFile:"metadata/ISic030313.json",htmlFile:"html/ISic030313.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030313",title:"ISic030313",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030313_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030313","isic030313","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030314",metadataFile:"metadata/ISic030314.json",htmlFile:"html/ISic030314.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030314",title:"ISic030314",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030314_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030314","isic030314","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030315",metadataFile:"metadata/ISic030315.json",htmlFile:"html/ISic030315.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030315",title:"ISic030315",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030315_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030315","isic030315","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030317",metadataFile:"metadata/ISic030317.json",htmlFile:"html/ISic030317.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030317",title:"ISic030317",status:"draft",type:{_:"magical",ana:"#function.magical",ref:"https://www.eagle-network.eu/voc/typeins/lod/366.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic030317_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Camarina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030317","isic030317","draft","-599","-550","monte casasia","italy","sicily","camarina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030319",metadataFile:"metadata/ISic030319.json",htmlFile:"html/ISic030319.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030319",title:"ISic030319",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"belt",ana:"#object.belt",ref:"https://www.eagle-network.eu/voc/objtyp/lod/139.html"},notBefore:-350,notAfter:-300,geo:[37,14],facsimile:{url:"ISic030319_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Palikè",type:"ancient",ref:"https://pleiades.stoa.org/places/465970"},placeName:"Palikè",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030319","isic030319","draft","-350","-300","palikè","area archeologica di palikè","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030330",metadataFile:"metadata/ISic030330.json",htmlFile:"html/ISic030330.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030330",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-275,notAfter:-225,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030330","greek defixio","draft","-275","-225","messana","messina","italy","sicily","messina","soprintendenza beni culturali e ambientali di messina","ancient greek","grc"]},{file:"ISic031001",metadataFile:"metadata/ISic031001.json",htmlFile:"html/ISic031001.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic031001",title:"ISicily inscription 031001",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"http://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-525,notAfter:-475,geo:[37,12],facsimile:{url:"ISic031001_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic031001","isicily inscription 031001","draft","-525","-475","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]}];async function jI(I,p=1,f=Do.limit){p<1&&(p=1),f>5*Do.limit&&(f=Do.limit);let h=Zd;I&&(h=Zd.filter(E=>I.toLocaleLowerCase().split(" ").every(_i=>E.keywords.some(ti=>ti.includes(_i)))));const g=h.length,b=(p-1)*f,w=b+f0&&p-1,P=wh.notBefore).map(h=>h.notBefore));return Math.max(...I.filter(h=>h.notAfter).map(h=>h.notAfter))-p}function vI(I){return I?new Set(I.map(p=>p.placeName)).size:0}let Wr=String.fromCharCode,jy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",Xr={};function AI(I,p){if(!Xr[I]){Xr[I]={};for(let f=0;fz.charCodeAt(0)){for(h=0;h>=1}else{for(h=0,g=1;h>=1}--U==0&&(U=Math.pow(2,E),E++),delete w[z]}else for(h=0,g=b[z];h>=1;--U==0&&(U=Math.pow(2,E),E++),b[P]=V++,z=String(r)}if(z!==""){if(Object.prototype.hasOwnProperty.call(w,z)){if(256>z.charCodeAt(0)){for(h=0;h>=1}else{for(h=0,g=1;h>=1}--U==0&&(U=Math.pow(2,E),E++),delete w[z]}else for(h=0,g=b[z];h>=1;--U==0&&(U=Math.pow(2,E),E++)}for(h=0,g=2;h>=1;for(;;){if(ti<<=1,hi==p-1){_i.push(f(ti));break}hi++}return _i.join("")}function FI(I,p,f){let h=[],g=4,b=4,w=3,r="",P=[],z,U,V,E,_i,ti,hi,pi={val:f(0),position:p,index:1};for(z=0;z<3;z+=1)h[z]=z;for(V=0,_i=4,ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;switch(V){case 0:for(V=0,_i=256,ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;hi=Wr(V);break;case 1:for(V=0,_i=65536,ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;hi=Wr(V);break;case 2:return""}for(h[3]=hi,U=hi,P.push(hi);;){if(pi.index>I)return"";for(V=0,_i=Math.pow(2,w),ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;switch(hi=V){case 0:for(V=0,_i=256,ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;h[b++]=Wr(V),hi=b-1,g--;break;case 1:for(V=0,_i=65536,ti=1;ti!=_i;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;h[b++]=Wr(V),hi=b-1,g--;break;case 2:return P.join("")}if(g==0&&(g=Math.pow(2,w),w++),h[hi])r=h[hi];else{if(hi!==b)return null;r=U+U.charAt(0)}P.push(r),h[b++]=U+r.charAt(0),g--,U=r,g==0&&(g=Math.pow(2,w),w++)}}let by;by=Dh;const TI={keepFocus:!0,noScroll:!0,replaceState:!0},RI={keepFocus:!0,noScroll:!0,replaceState:!1};function Sp(I,p,f=(h,g)=>JSON.stringify(h)===JSON.stringify(g)){return typeof I=="object"&&typeof p=="object"&&f(I,p)}const Ip={object:I=>({encode:p=>JSON.stringify(p),decode:p=>{if(p===null)return null;try{return JSON.parse(p)}catch{return null}},defaultValue:I}),array:I=>({encode:p=>JSON.stringify(p),decode:p=>{if(p===null)return null;try{return JSON.parse(p)}catch{return null}},defaultValue:I}),number:I=>({encode:p=>p.toString(),decode:p=>p?parseFloat(p):null,defaultValue:I}),boolean:I=>({encode:p=>p+"",decode:p=>p!==null&&p!=="false",defaultValue:I}),string:I=>({encode:p=>p??"",decode:p=>p,defaultValue:I}),lz:I=>({encode:p=>LI(JSON.stringify(p)),decode:p=>{if(!p)return null;try{return JSON.parse(BI(p)??"")}catch{return null}},defaultValue:I})},wp=new Set;let Wd;const Xd=new Map,kp={encode:I=>I.toString(),decode:I=>I?I.toString():null};function _p(I,{encode:p=kp.encode,decode:f=kp.decode,defaultValue:h}=kp,{debounceHistory:g=0,pushHistory:b=!0,sort:w=!0,showDefaults:r=!0,equalityFn:P}={}){const z=e0(null);let U=!0,V;function E(ti,hi){U=!1;const pi=window.location.hash,Li=Pi=>{if(ti==null)Pi.delete(I);else{const Ui=p(ti);Ui==null?Pi.delete(I):Pi.set(I,Ui)}};wp.add(Li),clearTimeout(Wd);const Vi=new URLSearchParams(window.location.search);Wd=setTimeout(async()=>{wp.forEach(Pi=>{Pi(Vi)}),clearTimeout(Xd.get(I));{z.set(ti);async function Pi(){w&&Vi.sort(),await Rh(`?${Vi}${pi}`,b?RI:TI),z.set(null)}hi||g===0?Pi():Xd.set(I,setTimeout(Pi,g))}wp.clear()})}const{subscribe:_i}=i0([by,z],([ti,hi],pi)=>{var Pi,Ui,Ki;if(hi!=null)return Sp(V,hi,P)?void 0:(V=structuredClone(hi),pi(hi));const Li=(Ki=(Ui=(Pi=ti==null?void 0:ti.url)==null?void 0:Pi.searchParams)==null?void 0:Ui.get)==null?void 0:Ki.call(Ui,I);if(Li==null&&h!=null)return r&&E(h,U),Sp(V,h,P)?void 0:(V=structuredClone(h),pi(h));const Vi=f(Li);if(!Sp(V,Vi,P))return V=structuredClone(Vi),pi(Vi)});return{set(ti){E(ti)},subscribe:_i,update:ti=>{const hi=ti(V);E(hi)}}}function DI(I){let p;return{c(){p=Ne("Search")},l(f){p=Ge(f,"Search")},m(f,h){oe(f,p,h)},d(f){f&&ji(p)}}}function NI(I){let p;return{c(){p=Ne("Reset")},l(f){p=Ge(f,"Reset")},m(f,h){oe(f,p,h)},d(f){f&&ji(p)}}}function Yd(I){let p,f,h=I[0].split(" ").join(", ")+"",g;return{c(){p=Ne(`, matching - `),f=ce("em"),g=Ne(h)},l(b){p=Ge(b,`, matching - `),f=se(b,"EM",{});var w=Se(f);g=Ge(w,h),w.forEach(ji)},m(b,w){oe(b,p,w),oe(b,f,w),Mi(f,g)},p(b,w){w&1&&h!==(h=b[0].split(" ").join(", ")+"")&&Nt(g,h)},d(b){b&&(ji(p),ji(f))}}}function GI(I){let p,f,h;return p=new xy({}),{c(){Pe(p.$$.fragment),f=Ne(" Table")},l(g){Me(p.$$.fragment,g),f=Ge(g," Table")},m(g,b){ze(p,g,b),oe(g,f,b),h=!0},i(g){h||(Fi(p.$$.fragment,g),h=!0)},o(g){Di(p.$$.fragment,g),h=!1},d(g){g&&ji(f),Ee(p,g)}}}function PI(I){let p,f,h;return p=new _y({}),{c(){Pe(p.$$.fragment),f=Ne(" Card")},l(g){Me(p.$$.fragment,g),f=Ge(g," Card")},m(g,b){ze(p,g,b),oe(g,f,b),h=!0},i(g){h||(Fi(p.$$.fragment,g),h=!0)},o(g){Di(p.$$.fragment,g),h=!1},d(g){g&&ji(f),Ee(p,g)}}}function MI(I){let p,f,h;return p=new _y({}),{c(){Pe(p.$$.fragment),f=Ne("View cards")},l(g){Me(p.$$.fragment,g),f=Ge(g,"View cards")},m(g,b){ze(p,g,b),oe(g,f,b),h=!0},i(g){h||(Fi(p.$$.fragment,g),h=!0)},o(g){Di(p.$$.fragment,g),h=!1},d(g){g&&ji(f),Ee(p,g)}}}function zI(I){let p,f,h;return p=new xy({}),{c(){Pe(p.$$.fragment),f=Ne("View table")},l(g){Me(p.$$.fragment,g),f=Ge(g,"View table")},m(g,b){ze(p,g,b),oe(g,f,b),h=!0},i(g){h||(Fi(p.$$.fragment,g),h=!0)},o(g){Di(p.$$.fragment,g),h=!1},d(g){g&&ji(f),Ee(p,g)}}}function EI(I){let p,f,h,g;const b=[zI,MI],w=[];function r(P,z){return P[5]?0:1}return p=r(I),f=w[p]=b[p](I),{c(){f.c(),h=wt()},l(P){f.l(P),h=wt()},m(P,z){w[p].m(P,z),oe(P,h,z),g=!0},p(P,z){let U=p;p=r(P),p!==U&&(Ka(),Di(w[U],1,1,()=>{w[U]=null}),Ja(),f=w[p],f||(f=w[p]=b[p](P),f.c()),Fi(f,1),f.m(h.parentNode,h))},i(P){g||(Fi(f),g=!0)},o(P){Di(f),g=!1},d(P){P&&ji(h),w[p].d(P)}}}function qI(I){let p;return{c(){p=Ne("Show map")},l(f){p=Ge(f,"Show map")},m(f,h){oe(f,p,h)},d(f){f&&ji(p)}}}function HI(I){let p;return{c(){p=Ne("Hide map")},l(f){p=Ge(f,"Hide map")},m(f,h){oe(f,p,h)},d(f){f&&ji(p)}}}function VI(I){let p,f,h;p=new tI({});function g(r,P){return r[6]?HI:qI}let b=g(I),w=b(I);return{c(){Pe(p.$$.fragment),w.c(),f=wt()},l(r){Me(p.$$.fragment,r),w.l(r),f=wt()},m(r,P){ze(p,r,P),w.m(r,P),oe(r,f,P),h=!0},p(r,P){b!==(b=g(r))&&(w.d(1),w=b(r),w&&(w.c(),w.m(f.parentNode,f)))},i(r){h||(Fi(p.$$.fragment,r),h=!0)},o(r){Di(p.$$.fragment,r),h=!1},d(r){r&&ji(f),Ee(p,r),w.d(r)}}}function OI(I){let p,f,h,g,b,w,r;p=new Ud({props:{page:I[7],count:I[2],perPage:I[1],onPageChange:I[14]}});const P=[KI,UI],z=[];function U(V,E){return V[5]?0:1}return h=U(I),g=z[h]=P[h](I),w=new Ud({props:{page:I[7],count:I[2],perPage:I[1],onPageChange:I[14]}}),{c(){Pe(p.$$.fragment),f=lt(),g.c(),b=lt(),Pe(w.$$.fragment)},l(V){Me(p.$$.fragment,V),f=ct(V),g.l(V),b=ct(V),Me(w.$$.fragment,V)},m(V,E){ze(p,V,E),oe(V,f,E),z[h].m(V,E),oe(V,b,E),ze(w,V,E),r=!0},p(V,E){const _i={};E&128&&(_i.page=V[7]),E&4&&(_i.count=V[2]),E&2&&(_i.perPage=V[1]),p.$set(_i);let ti=h;h=U(V),h===ti?z[h].p(V,E):(Ka(),Di(z[ti],1,1,()=>{z[ti]=null}),Ja(),g=z[h],g?g.p(V,E):(g=z[h]=P[h](V),g.c()),Fi(g,1),g.m(b.parentNode,b));const hi={};E&128&&(hi.page=V[7]),E&4&&(hi.count=V[2]),E&2&&(hi.perPage=V[1]),w.$set(hi)},i(V){r||(Fi(p.$$.fragment,V),Fi(g),Fi(w.$$.fragment,V),r=!0)},o(V){Di(p.$$.fragment,V),Di(g),Di(w.$$.fragment,V),r=!1},d(V){V&&(ji(f),ji(b)),Ee(p,V),z[h].d(V),Ee(w,V)}}}function $I(I){let p,f;return p=new YS({}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p:bn,i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function UI(I){let p,f;return p=new xI({props:{inscriptions:I[3].inscriptions}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&8&&(b.inscriptions=h[3].inscriptions),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function KI(I){let p,f;return p=new Dg({props:{inscriptions:I[3].inscriptions}}),{c(){Pe(p.$$.fragment)},l(h){Me(p.$$.fragment,h)},m(h,g){ze(p,h,g),f=!0},p(h,g){const b={};g&8&&(b.inscriptions=h[3].inscriptions),p.$set(b)},i(h){f||(Fi(p.$$.fragment,h),f=!0)},o(h){Di(p.$$.fragment,h),f=!1},d(h){Ee(p,h)}}}function JI(I){let p,f,h,g=Bh+"",b,w,r,P,z,U="Search query:",V,E,_i,ti,hi,pi,Li,Vi,Pi,Ui,Ki=I[2].toLocaleString()+"",de,ue,dt,Be=I[3].yearSpan.toLocaleString()+"",we,Yi,ke,qe=I[3].numberOfLocations.toLocaleString()+"",He,Le,Gt,We,qi,Kt,fe,ye,Ye,Jt,kt,st,Ct,qt,jt,an,Ht,ia,la,Wa,nn;ti=new Zr({props:{class:"surface-4",type:"submit",disabled:!I[8],$$slots:{default:[DI]},$$scope:{ctx:I}}}),pi=new Zr({props:{class:"surface-1",type:"reset",disabled:!I[8],$$slots:{default:[NI]},$$scope:{ctx:I}}});let At=I[0]&&Yd(I);We=new qg({props:{inscriptions:I[3].inscriptions,show:I[6]}});const gi=[PI,GI],ja=[];function Nn(me,Fe){return me[5]?0:1}ye=Nn(I),Ye=ja[ye]=gi[ye](I),Ct=new Zr({props:{class:"surface-4",$$slots:{default:[EI]},$$scope:{ctx:I}}}),Ct.$on("click",I[17]),jt=new Zr({props:{$$slots:{default:[VI]},$$scope:{ctx:I}}}),jt.$on("click",I[18]);const Ve=[$I,OI],Xe=[];function Gn(me,Fe){return me[4]?0:1}return Ht=Gn(I),ia=Xe[Ht]=Ve[Ht](I),{c(){p=ce("article"),f=ce("section"),h=ce("h1"),b=Ne(g),w=lt(),r=ce("section"),P=ce("form"),z=ce("label"),z.textContent=U,V=lt(),E=ce("input"),_i=lt(),Pe(ti.$$.fragment),hi=lt(),Pe(pi.$$.fragment),Li=lt(),Vi=ce("section"),Pi=ce("h2"),Ui=ce("em"),de=Ne(Ki),ue=Ne(` Inscriptions over - `),dt=ce("em"),we=Ne(Be),Yi=Ne(` + regionale antonino salinas`,"ancient greek","grc"]},{file:"ISic030047",metadataFile:"metadata/ISic030047.json",htmlFile:"html/ISic030047.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030047",title:"ISic030047",status:"draft",type:{_:"tessera (civic)?",ana:"#function.tessera.civic",cert:"low",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[37,14],facsimile:{url:"ISic030047_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030047","isic030047","draft","-500","-450","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030048",metadataFile:"metadata/ISic030048.json",htmlFile:"html/ISic030048.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030048",title:"Fragment of a Greek inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-200,geo:[37,13],facsimile:{url:"ISic030048_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030048","fragment of a greek inscription on bronze","draft","-350","-200","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","ancient greek","grc"]},{file:"ISic030049",metadataFile:"metadata/ISic030049.json",htmlFile:"html/ISic030049.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030049",title:"Fragment of a Latin inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030049_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Latin",mainLang:"la"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030049","fragment of a latin inscription on bronze","draft","-200","-100","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","latin","la"]},{file:"ISic030050",metadataFile:"metadata/ISic030050.json",htmlFile:"html/ISic030050.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030050",title:"Fragment of a Latin inscription on bronze",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"http://www.eagle-network.eu/voc/typeins/lod/143.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030050_tiled.tif",desc:"Photo courtesy Zurich Ietas excavations"},country:"Italy",region:"Sicily",settlement:"San Cipirello",textLang:{_:"Latin",mainLang:"la"},place:{_:"Ietas",type:"ancient",ref:"http://pleiades.stoa.org/places/462258",cert:"low"},placeName:"Ietas",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030050","fragment of a latin inscription on bronze","draft","-200","-100","ietas","monte iato","italy","sicily","san cipirello","depot of the zurich ietas excavation","latin","la"]},{file:"ISic030051",metadataFile:"metadata/ISic030051.json",htmlFile:"html/ISic030051.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030051",title:"Contract for the sale of land",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030051","contract for the sale of land","draft","-200","-100","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030052",metadataFile:"metadata/ISic030052.json",htmlFile:"html/ISic030052.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030052",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-200,notAfter:-100,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030052","contract for the sale of property","draft","-200","-100","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030053",metadataFile:"metadata/ISic030053.json",htmlFile:"html/ISic030053.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030053",title:"Contract for the sale of a house and a shop",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030053","contract for the sale of a house and a shop","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030054",metadataFile:"metadata/ISic030054.json",htmlFile:"html/ISic030054.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030054",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030054","contract for the sale of property","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030055",metadataFile:"metadata/ISic030055.json",htmlFile:"html/ISic030055.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030055",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-350,notAfter:-250,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030055","contract for the sale of property","draft","-350","-250","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030056",metadataFile:"metadata/ISic030056.json",htmlFile:"html/ISic030056.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030056",title:"Contract for the sale of land",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030056","contract for the sale of land","draft","-250","-200","kamarina","kamarina","italy","sicily","unknown","private collection","ancient greek","grc"]},{file:"ISic030057",metadataFile:"metadata/ISic030057.json",htmlFile:"html/ISic030057.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030057",title:"Contract for the sale of a house and related structures",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030057","contract for the sale of a house and related structures","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030058",metadataFile:"metadata/ISic030058.json",htmlFile:"html/ISic030058.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030058",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030058","contract for the sale of property","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030059",metadataFile:"metadata/ISic030059.json",htmlFile:"html/ISic030059.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030059",title:"Contract label?",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[36,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"https://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030059","contract label?","draft","-250","-200","kamarina","kamarina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030060",metadataFile:"metadata/ISic030060.json",htmlFile:"html/ISic030060.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030060",title:"Contract for the sale of a vinyard and equipment",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030060","contract for the sale of a vinyard and equipment","draft","-250","-200","morgantina","morgantina","italy","sicily","unknown","in a private collection","ancient greek","grc"]},{file:"ISic030061",metadataFile:"metadata/ISic030061.json",htmlFile:"html/ISic030061.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030061",title:"Contract for the mortgage of land and equipment",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030061","contract for the mortgage of land and equipment","draft","-250","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030062",metadataFile:"metadata/ISic030062.json",htmlFile:"html/ISic030062.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030062",title:"Contract for the sale of houses",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"https://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030062","contract for the sale of houses","draft","-250","-200","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030063",metadataFile:"metadata/ISic030063.json",htmlFile:"html/ISic030063.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030063",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030063","contract for the sale of property","draft","-250","-200","morgantina","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030064",metadataFile:"metadata/ISic030064.json",htmlFile:"html/ISic030064.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030064",title:"Contract for the sale of property",status:"draft",type:{_:"Private contract",ana:"#function.legal.private.contract",ref:"https://www.eagle-network.eu/voc/typeins/lod/375.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-200,geo:[37,14],facsimile:null,country:"Italy",region:"Sicily",settlement:"Ragusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030064","contract for the sale of property","draft","-250","-200","morgantina","morgantina","italy","sicily","ragusa","museo archeologico ibleo","ancient greek","grc"]},{file:"ISic030067",metadataFile:"metadata/ISic030067.json",htmlFile:"html/ISic030067.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030067",title:"ISic030067",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030067_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030067","isic030067","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030068",metadataFile:"metadata/ISic030068.json",htmlFile:"html/ISic030068.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030068",title:"ISic030068",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030068_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030068","isic030068","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030069",metadataFile:"metadata/ISic030069.json",htmlFile:"html/ISic030069.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030069",title:"ISic030069",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030069_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030069","isic030069","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030070",metadataFile:"metadata/ISic030070.json",htmlFile:"html/ISic030070.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030070",title:"ISic030070",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030070_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030070","isic030070","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030071",metadataFile:"metadata/ISic030071.json",htmlFile:"html/ISic030071.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030071",title:"ISic030071",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030071_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030071","isic030071","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030072",metadataFile:"metadata/ISic030072.json",htmlFile:"html/ISic030072.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030072",title:"ISic030072",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030072_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030072","isic030072","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030073",metadataFile:"metadata/ISic030073.json",htmlFile:"html/ISic030073.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030073",title:"ISic030073",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030073_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030073","isic030073","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030074",metadataFile:"metadata/ISic030074.json",htmlFile:"html/ISic030074.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030074",title:"ISic030074",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030074_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030074","isic030074","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030075",metadataFile:"metadata/ISic030075.json",htmlFile:"html/ISic030075.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030075",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030075","greek defixio","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030076",metadataFile:"metadata/ISic030076.json",htmlFile:"html/ISic030076.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030076",title:"ISic030076",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030076_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030076","isic030076","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030077",metadataFile:"metadata/ISic030077.json",htmlFile:"html/ISic030077.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030077",title:"ISic030077",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030077_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030077","isic030077","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030078",metadataFile:"metadata/ISic030078.json",htmlFile:"html/ISic030078.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030078",title:"ISic030078",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030078_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030078","isic030078","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030079",metadataFile:"metadata/ISic030079.json",htmlFile:"html/ISic030079.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030079",title:"ISic030079",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030079_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030079","isic030079","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030080",metadataFile:"metadata/ISic030080.json",htmlFile:"html/ISic030080.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030080",title:"ISic030080",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030080_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030080","isic030080","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030081",metadataFile:"metadata/ISic030081.json",htmlFile:"html/ISic030081.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030081",title:"ISic030081",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030081_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030081","isic030081","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030082",metadataFile:"metadata/ISic030082.json",htmlFile:"html/ISic030082.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030082",title:"ISic030082",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030082_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030082","isic030082","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030083",metadataFile:"metadata/ISic030083.json",htmlFile:"html/ISic030083.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030083",title:"ISic030083",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030083_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030083","isic030083","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030084",metadataFile:"metadata/ISic030084.json",htmlFile:"html/ISic030084.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030084",title:"Greek defixio naming Baleria Arsinoe",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030084","greek defixio naming baleria arsinoe","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030085",metadataFile:"metadata/ISic030085.json",htmlFile:"html/ISic030085.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030085",title:"ISic030085",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030085_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030085","isic030085","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030086",metadataFile:"metadata/ISic030086.json",htmlFile:"html/ISic030086.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030086",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:1,notAfter:200,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030086","greek defixio","draft","1","200","messana","messina","italy","sicily","messina","museo regionale interdisciplinare di messina","ancient greek","grc"]},{file:"ISic030087",metadataFile:"metadata/ISic030087.json",htmlFile:"html/ISic030087.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030087",title:"ISic030087",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-500,notAfter:-450,geo:[37,12],facsimile:{url:"ISic030087_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030087","isic030087","draft","-500","-450","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030088",metadataFile:"metadata/ISic030088.json",htmlFile:"html/ISic030088.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030088",title:"ISic030088",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030088_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030088","isic030088","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030089",metadataFile:"metadata/ISic030089.json",htmlFile:"html/ISic030089.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030089",title:"ISic030089",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030089_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030089","isic030089","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030090",metadataFile:"metadata/ISic030090.json",htmlFile:"html/ISic030090.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030090",title:"ISic030090",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-470,notAfter:-430,geo:[37,12],facsimile:{url:"ISic030090_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030090","isic030090","draft","-470","-430","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030091",metadataFile:"metadata/ISic030091.json",htmlFile:"html/ISic030091.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030091",title:"ISic030091",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-450,notAfter:-300,geo:[37,12],facsimile:{url:"ISic030091_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030091","isic030091","draft","-450","-300","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030092",metadataFile:"metadata/ISic030092.json",htmlFile:"html/ISic030092.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030092",title:"ISic030092",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html",cert:"low"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-251,geo:[37,12],facsimile:{url:"ISic030092_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030092","isic030092","draft","-300","-251","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030093",metadataFile:"metadata/ISic030093.json",htmlFile:"html/ISic030093.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030093",title:"ISic030093",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-250,geo:[37,12],facsimile:{url:"ISic030093_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030093","isic030093","draft","-300","-250","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030094",metadataFile:"metadata/ISic030094.json",htmlFile:"html/ISic030094.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030094",title:"ISic030094",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-250,geo:[37,12],facsimile:{url:"ISic030094_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030094","isic030094","draft","-300","-250","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030095",metadataFile:"metadata/ISic030095.json",htmlFile:"html/ISic030095.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030095",title:"ISic030095",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030095_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030095","isic030095","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale antonio salinas","ancient greek","grc"]},{file:"ISic030096",metadataFile:"metadata/ISic030096.json",htmlFile:"html/ISic030096.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030096",title:"ISic030096",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030096_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030096","isic030096","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030097",metadataFile:"metadata/ISic030097.json",htmlFile:"html/ISic030097.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030097",title:"ISic030097",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030097_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030097","isic030097","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030098",metadataFile:"metadata/ISic030098.json",htmlFile:"html/ISic030098.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030098",title:"ISic030098",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030098_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030098","isic030098","draft","-499","-400","selinus","selinunte","italy","sicily","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030099",metadataFile:"metadata/ISic030099.json",htmlFile:"html/ISic030099.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030099",title:"ISic030099",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030099_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030099","isic030099","draft","-499","-400","selinus","selinunte","italy","sicily","martin von wagner museum der universität würzurbg","ancient greek","grc"]},{file:"ISic030100",metadataFile:"metadata/ISic030100.json",htmlFile:"html/ISic030100.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030100",title:"ISic030100",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[37,12],facsimile:{url:"ISic030100_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030100","isic030100","draft","-499","-400","selinus","selinunte","italy","sicily","martin von wagner museum der universität würzurbg","ancient greek","grc"]},{file:"ISic030101",metadataFile:"metadata/ISic030101.json",htmlFile:"html/ISic030101.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030101",title:"ISic030101",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030101_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030101","isic030101","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030102",metadataFile:"metadata/ISic030102.json",htmlFile:"html/ISic030102.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030102",title:"ISic030102",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030102_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030102","isic030102","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030103",metadataFile:"metadata/ISic030103.json",htmlFile:"html/ISic030103.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030103",title:"ISic030103",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030103_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030103","isic030103","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030104",metadataFile:"metadata/ISic030104.json",htmlFile:"html/ISic030104.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030104",title:"ISic030104",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030104_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030104","isic030104","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030105",metadataFile:"metadata/ISic030105.json",htmlFile:"html/ISic030105.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030105",title:"ISic030105",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030105_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030105","isic030105","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030106",metadataFile:"metadata/ISic030106.json",htmlFile:"html/ISic030106.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030106",title:"ISic030106",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030106_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030106","isic030106","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030107",metadataFile:"metadata/ISic030107.json",htmlFile:"html/ISic030107.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030107",title:"ISic030107",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030107_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030107","isic030107","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030108",metadataFile:"metadata/ISic030108.json",htmlFile:"html/ISic030108.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030108",title:"ISic030108",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030108_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030108","isic030108","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030109",metadataFile:"metadata/ISic030109.json",htmlFile:"html/ISic030109.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030109",title:"ISic030109",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030109_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030109","isic030109","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030110",metadataFile:"metadata/ISic030110.json",htmlFile:"html/ISic030110.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030110",title:"ISic030110",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030110_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030110","isic030110","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030111",metadataFile:"metadata/ISic030111.json",htmlFile:"html/ISic030111.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030111",title:"ISic030111",status:"unchecked",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-499,notAfter:-400,geo:[null],facsimile:{url:"ISic030111_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030111","isic030111","unchecked","-499","-400","italy","sicily","ancient greek","grc"]},{file:"ISic030113",metadataFile:"metadata/ISic030113.json",htmlFile:"html/ISic030113.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030113",title:"Caduceus of the Rheginoi",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-450,geo:[38,15],facsimile:{url:"ISic030113_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Paternò",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Rhegion",type:"ancient",ref:"https://pleiades.stoa.org/places/452416"},placeName:"Rhegion",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030113","caduceus of the rheginoi","draft","-500","-450","rhegion","reggio calabria","italy","sicily","paternò","museo civico gaetano savasta","ancient greek","grc"]},{file:"ISic030114",metadataFile:"metadata/ISic030114.json",htmlFile:"html/ISic030114.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030114",title:"Part of a caduceus of the Ichaninoi",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[null],facsimile:{url:"ISic030114_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Enna",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Ichana",type:"ancient",ref:"https://pleiades.stoa.org/places/465917"},placeName:"Ichana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030114","part of a caduceus of the ichaninoi","draft","-500","-401","ichana","italy","sicily","enna","private collection","ancient greek","grc"]},{file:"ISic030115",metadataFile:"metadata/ISic030115.json",htmlFile:"html/ISic030115.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030115",title:"Part of a caduceus of the city of Hi(p)pana",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[37,13],facsimile:{url:"ISic030115_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Hippana",type:"ancient",ref:"http://pleiades.stoa.org/places/462247"},placeName:"Hippana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030115","part of a caduceus of the city of hi(p)pana","draft","-500","-401","hippana","montagna dei cavalli","italy","sicily","ancient greek","grc"]},{file:"ISic030116",metadataFile:"metadata/ISic030116.json",htmlFile:"html/ISic030116.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030116",title:"Caduceus from the city of Longane",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[38,15],facsimile:{url:"ISic030116_tiled.tif",desc:"Image from https://www.britishmuseum.org/collection/image/256673001 (c) The Trustees of the British Museum, under a CC-BY-NC-SA 4.0 licence."},country:"United Kingdom",settlement:"London",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Longane",type:"ancient",ref:"https://pleiades.stoa.org/places/462287"},placeName:"Longane",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030116","caduceus from the city of longane","draft","-500","-401","longane","rodì milici","united kingdom","london","the british museum","ancient greek","grc"]},{file:"ISic030117",metadataFile:"metadata/ISic030117.json",htmlFile:"html/ISic030117.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030117",title:"Caduceus from the city of Syracusae",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-401,geo:[37,15],facsimile:{url:"ISic030117_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Greece",settlement:"Olympia",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030117","caduceus from the city of syracusae","draft","-500","-401","syracusae","siracusa","greece","olympia","archaeological museum of olympia","ancient greek","grc"]},{file:"ISic030118",metadataFile:"metadata/ISic030118.json",htmlFile:"html/ISic030118.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030118",title:"Caduceus from the city of Syracusae",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-500,notAfter:-101,geo:[37,15],facsimile:{url:"ISic030118_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Syracusae",type:"ancient",ref:"http://pleiades.stoa.org/places/462503"},placeName:"Syracusae",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030118","caduceus from the city of syracusae","draft","-500","-101","syracusae","siracusa","sicily","siracusa","private collection","ancient greek","grc"]},{file:"ISic030119",metadataFile:"metadata/ISic030119.json",htmlFile:"html/ISic030119.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030119",title:"Caduceus from an unknown Sicilian location",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-201,facsimile:{url:"ISic030119_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sicilia",type:"ancient",ref:"http://pleiades.stoa.org/places/462492"},placeName:"Sicilia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030119","caduceus from an unknown sicilian location","draft","-400","-201","sicilia","sicily","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030120",metadataFile:"metadata/ISic030120.json",htmlFile:"html/ISic030120.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030120",title:"Caduceus from an unknown Sicilian location",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-201,facsimile:{url:"ISic030120_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Sicilia",type:"ancient",ref:"http://pleiades.stoa.org/places/462492"},placeName:"Sicilia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030120","caduceus from an unknown sicilian location","draft","-400","-201","sicilia","sicily","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030121",metadataFile:"metadata/ISic030121.json",htmlFile:"html/ISic030121.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030121",title:"Caduceus of the people of Enna",status:"draft",type:{_:"public document",ana:"#function.document.public",ref:"http://www.eagle-network.eu/voc/typeins/lod/360.html"},objectType:{_:"caduceus",ana:"#object.caduceus",ref:"https://www.eagle-network.eu/voc/objtyp/lod/58.html"},notBefore:-400,notAfter:-301,geo:[37,14],facsimile:{url:"ISic030121_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"unknown",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Enna",type:"ancient",ref:"http://pleiades.stoa.org/places/462236"},placeName:"Enna",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030121","caduceus of the people of enna","draft","-400","-301","enna","enna","italy","sicily","unknown","apparently in a private collection","ancient greek","grc"]},{file:"ISic030122",metadataFile:"metadata/ISic030122.json",htmlFile:"html/ISic030122.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030122",title:"ISic030122",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030122_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030122","isic030122","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030123",metadataFile:"metadata/ISic030123.json",htmlFile:"html/ISic030123.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030123",title:"ISic030123",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030123_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030123","isic030123","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030124",metadataFile:"metadata/ISic030124.json",htmlFile:"html/ISic030124.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030124",title:"ISic030124",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030124_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030124","isic030124","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030125",metadataFile:"metadata/ISic030125.json",htmlFile:"html/ISic030125.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030125",title:"ISic030125",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030125_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030125","isic030125","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030126",metadataFile:"metadata/ISic030126.json",htmlFile:"html/ISic030126.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030126",title:"ISic030126",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030126_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030126","isic030126","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030127",metadataFile:"metadata/ISic030127.json",htmlFile:"html/ISic030127.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030127",title:"ISic030127",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030127_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030127","isic030127","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030128",metadataFile:"metadata/ISic030128.json",htmlFile:"html/ISic030128.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030128",title:"ISic030128",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030128_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030128","isic030128","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030129",metadataFile:"metadata/ISic030129.json",htmlFile:"html/ISic030129.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030129",title:"ISic030129",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030129_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030129","isic030129","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030130",metadataFile:"metadata/ISic030130.json",htmlFile:"html/ISic030130.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030130",title:"ISic030130",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030130_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030130","isic030130","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030131",metadataFile:"metadata/ISic030131.json",htmlFile:"html/ISic030131.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030131",title:"ISic030131",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030131_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030131","isic030131","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030132",metadataFile:"metadata/ISic030132.json",htmlFile:"html/ISic030132.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030132",title:"ISic030132",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030132_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030132","isic030132","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030133",metadataFile:"metadata/ISic030133.json",htmlFile:"html/ISic030133.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030133",title:"ISic030133",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030133_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030133","isic030133","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030134",metadataFile:"metadata/ISic030134.json",htmlFile:"html/ISic030134.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030134",title:"ISic030134",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030134_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030134","isic030134","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030135",metadataFile:"metadata/ISic030135.json",htmlFile:"html/ISic030135.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030135",title:"ISic030135",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030135_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030135","isic030135","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030136",metadataFile:"metadata/ISic030136.json",htmlFile:"html/ISic030136.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030136",title:"ISic030136",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030136_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030136","isic030136","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030137",metadataFile:"metadata/ISic030137.json",htmlFile:"html/ISic030137.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030137",title:"ISic030137",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030137_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030137","isic030137","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030138",metadataFile:"metadata/ISic030138.json",htmlFile:"html/ISic030138.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030138",title:"ISic030138",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030138_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030138","isic030138","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030139",metadataFile:"metadata/ISic030139.json",htmlFile:"html/ISic030139.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030139",title:"ISic030139",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030139_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030139","isic030139","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030140",metadataFile:"metadata/ISic030140.json",htmlFile:"html/ISic030140.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030140",title:"ISic030140",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030140_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030140","isic030140","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030141",metadataFile:"metadata/ISic030141.json",htmlFile:"html/ISic030141.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030141",title:"ISic030141",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030141_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030141","isic030141","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030142",metadataFile:"metadata/ISic030142.json",htmlFile:"html/ISic030142.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030142",title:"ISic030142",status:"draft",type:{_:"dedication",ana:"#function.dedication",ref:"http://www.eagle-network.eu/voc/typeins/lod/88.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030142_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030142","isic030142","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030143",metadataFile:"metadata/ISic030143.json",htmlFile:"html/ISic030143.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030143",title:"ISic030143",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030143_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030143","isic030143","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030144",metadataFile:"metadata/ISic030144.json",htmlFile:"html/ISic030144.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030144",title:"ISic030144",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030144_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030144","isic030144","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030145",metadataFile:"metadata/ISic030145.json",htmlFile:"html/ISic030145.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030145",title:"ISic030145",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030145_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030145","isic030145","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030146",metadataFile:"metadata/ISic030146.json",htmlFile:"html/ISic030146.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030146",title:"ISic030146",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030146_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030146","isic030146","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030147",metadataFile:"metadata/ISic030147.json",htmlFile:"html/ISic030147.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030147",title:"ISic030147",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030147_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030147","isic030147","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030148",metadataFile:"metadata/ISic030148.json",htmlFile:"html/ISic030148.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030148",title:"ISic030148",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030148_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030148","isic030148","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030149",metadataFile:"metadata/ISic030149.json",htmlFile:"html/ISic030149.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030149",title:"ISic030149",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030149_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030149","isic030149","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030150",metadataFile:"metadata/ISic030150.json",htmlFile:"html/ISic030150.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030150",title:"ISic030150",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030150_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030150","isic030150","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030151",metadataFile:"metadata/ISic030151.json",htmlFile:"html/ISic030151.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030151",title:"ISic030151",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030151_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030151","isic030151","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030152",metadataFile:"metadata/ISic030152.json",htmlFile:"html/ISic030152.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030152",title:"ISic030152",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030152_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030152","isic030152","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030153",metadataFile:"metadata/ISic030153.json",htmlFile:"html/ISic030153.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030153",title:"ISic030153",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030153_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030153","isic030153","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030154",metadataFile:"metadata/ISic030154.json",htmlFile:"html/ISic030154.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030154",title:"ISic030154",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030154_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030154","isic030154","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030155",metadataFile:"metadata/ISic030155.json",htmlFile:"html/ISic030155.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030155",title:"ISic030155",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030155_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030155","isic030155","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030156",metadataFile:"metadata/ISic030156.json",htmlFile:"html/ISic030156.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030156",title:"ISic030156",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030156_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030156","isic030156","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030157",metadataFile:"metadata/ISic030157.json",htmlFile:"html/ISic030157.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030157",title:"ISic030157",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030157_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030157","isic030157","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030158",metadataFile:"metadata/ISic030158.json",htmlFile:"html/ISic030158.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030158",title:"ISic030158",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030158_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030158","isic030158","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030159",metadataFile:"metadata/ISic030159.json",htmlFile:"html/ISic030159.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030159",title:"ISic030159",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030159_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030159","isic030159","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030160",metadataFile:"metadata/ISic030160.json",htmlFile:"html/ISic030160.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030160",title:"ISic030160",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030160_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030160","isic030160","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030161",metadataFile:"metadata/ISic030161.json",htmlFile:"html/ISic030161.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030161",title:"ISic030161",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030161_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030161","isic030161","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030162",metadataFile:"metadata/ISic030162.json",htmlFile:"html/ISic030162.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030162",title:"ISic030162",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030162_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030162","isic030162","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030163",metadataFile:"metadata/ISic030163.json",htmlFile:"html/ISic030163.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030163",title:"ISic030163",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030163_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030163","isic030163","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030164",metadataFile:"metadata/ISic030164.json",htmlFile:"html/ISic030164.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030164",title:"ISic030164",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030164_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030164","isic030164","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030165",metadataFile:"metadata/ISic030165.json",htmlFile:"html/ISic030165.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030165",title:"ISic030165",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030165_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030165","isic030165","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030166",metadataFile:"metadata/ISic030166.json",htmlFile:"html/ISic030166.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030166",title:"ISic030166",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030166_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030166","isic030166","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030167",metadataFile:"metadata/ISic030167.json",htmlFile:"html/ISic030167.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030167",title:"ISic030167",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030167_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030167","isic030167","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030168",metadataFile:"metadata/ISic030168.json",htmlFile:"html/ISic030168.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030168",title:"ISic030168",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030168_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030168","isic030168","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030169",metadataFile:"metadata/ISic030169.json",htmlFile:"html/ISic030169.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030169",title:"ISic030169",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030169_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030169","isic030169","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030170",metadataFile:"metadata/ISic030170.json",htmlFile:"html/ISic030170.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030170",title:"ISic030170",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030170_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030170","isic030170","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030171",metadataFile:"metadata/ISic030171.json",htmlFile:"html/ISic030171.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030171",title:"ISic030171",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030171_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030171","isic030171","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030172",metadataFile:"metadata/ISic030172.json",htmlFile:"html/ISic030172.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030172",title:"ISic030172",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030172_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030172","isic030172","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030173",metadataFile:"metadata/ISic030173.json",htmlFile:"html/ISic030173.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030173",title:"ISic030173",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030173_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030173","isic030173","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030174",metadataFile:"metadata/ISic030174.json",htmlFile:"html/ISic030174.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030174",title:"ISic030174",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030174_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030174","isic030174","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030175",metadataFile:"metadata/ISic030175.json",htmlFile:"html/ISic030175.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030175",title:"ISic030175",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030175_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030175","isic030175","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030176",metadataFile:"metadata/ISic030176.json",htmlFile:"html/ISic030176.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030176",title:"ISic030176",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030176_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030176","isic030176","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030177",metadataFile:"metadata/ISic030177.json",htmlFile:"html/ISic030177.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030177",title:"ISic030177",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030177_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030177","isic030177","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030178",metadataFile:"metadata/ISic030178.json",htmlFile:"html/ISic030178.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030178",title:"ISic030178",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030178_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030178","isic030178","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030179",metadataFile:"metadata/ISic030179.json",htmlFile:"html/ISic030179.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030179",title:"ISic030179",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030179_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030179","isic030179","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030180",metadataFile:"metadata/ISic030180.json",htmlFile:"html/ISic030180.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030180",title:"ISic030180",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030180_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030180","isic030180","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030181",metadataFile:"metadata/ISic030181.json",htmlFile:"html/ISic030181.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030181",title:"ISic030181",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030181_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030181","isic030181","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030182",metadataFile:"metadata/ISic030182.json",htmlFile:"html/ISic030182.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030182",title:"ISic030182",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030182_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030182","isic030182","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030183",metadataFile:"metadata/ISic030183.json",htmlFile:"html/ISic030183.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030183",title:"ISic030183",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030183_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030183","isic030183","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030184",metadataFile:"metadata/ISic030184.json",htmlFile:"html/ISic030184.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030184",title:"ISic030184",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030184_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030184","isic030184","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030185",metadataFile:"metadata/ISic030185.json",htmlFile:"html/ISic030185.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030185",title:"ISic030185",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030185_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030185","isic030185","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030186",metadataFile:"metadata/ISic030186.json",htmlFile:"html/ISic030186.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030186",title:"ISic030186",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030186_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030186","isic030186","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030187",metadataFile:"metadata/ISic030187.json",htmlFile:"html/ISic030187.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030187",title:"ISic030187",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030187_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030187","isic030187","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030188",metadataFile:"metadata/ISic030188.json",htmlFile:"html/ISic030188.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030188",title:"ISic030188",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030188_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030188","isic030188","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030189",metadataFile:"metadata/ISic030189.json",htmlFile:"html/ISic030189.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030189",title:"ISic030189",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030189_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030189","isic030189","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030190",metadataFile:"metadata/ISic030190.json",htmlFile:"html/ISic030190.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030190",title:"ISic030190",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030190_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030190","isic030190","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030191",metadataFile:"metadata/ISic030191.json",htmlFile:"html/ISic030191.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030191",title:"ISic030191",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030191_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030191","isic030191","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030192",metadataFile:"metadata/ISic030192.json",htmlFile:"html/ISic030192.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030192",title:"ISic030192",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030192_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030192","isic030192","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030193",metadataFile:"metadata/ISic030193.json",htmlFile:"html/ISic030193.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030193",title:"ISic030193",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030193_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030193","isic030193","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030194",metadataFile:"metadata/ISic030194.json",htmlFile:"html/ISic030194.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030194",title:"ISic030194",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030194_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030194","isic030194","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030195",metadataFile:"metadata/ISic030195.json",htmlFile:"html/ISic030195.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030195",title:"ISic030195",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030195_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030195","isic030195","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030196",metadataFile:"metadata/ISic030196.json",htmlFile:"html/ISic030196.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030196",title:"ISic030196",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030196_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030196","isic030196","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030197",metadataFile:"metadata/ISic030197.json",htmlFile:"html/ISic030197.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030197",title:"ISic030197",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030197_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030197","isic030197","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030198",metadataFile:"metadata/ISic030198.json",htmlFile:"html/ISic030198.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030198",title:"ISic030198",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030198_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030198","isic030198","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030199",metadataFile:"metadata/ISic030199.json",htmlFile:"html/ISic030199.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030199",title:"ISic030199",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030199_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030199","isic030199","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030200",metadataFile:"metadata/ISic030200.json",htmlFile:"html/ISic030200.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030200",title:"ISic030200",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030200_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030200","isic030200","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030201",metadataFile:"metadata/ISic030201.json",htmlFile:"html/ISic030201.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030201",title:"ISic030201",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030201_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030201","isic030201","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030202",metadataFile:"metadata/ISic030202.json",htmlFile:"html/ISic030202.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030202",title:"ISic030202",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030202_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030202","isic030202","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030203",metadataFile:"metadata/ISic030203.json",htmlFile:"html/ISic030203.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030203",title:"ISic030203",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030203_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030203","isic030203","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030204",metadataFile:"metadata/ISic030204.json",htmlFile:"html/ISic030204.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030204",title:"ISic030204",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030204_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030204","isic030204","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030205",metadataFile:"metadata/ISic030205.json",htmlFile:"html/ISic030205.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030205",title:"ISic030205",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030205_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030205","isic030205","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030206",metadataFile:"metadata/ISic030206.json",htmlFile:"html/ISic030206.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030206",title:"ISic030206",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030206_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030206","isic030206","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030207",metadataFile:"metadata/ISic030207.json",htmlFile:"html/ISic030207.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030207",title:"ISic030207",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030207_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030207","isic030207","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030208",metadataFile:"metadata/ISic030208.json",htmlFile:"html/ISic030208.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030208",title:"ISic030208",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030208_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030208","isic030208","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030209",metadataFile:"metadata/ISic030209.json",htmlFile:"html/ISic030209.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030209",title:"ISic030209",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030209_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030209","isic030209","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030210",metadataFile:"metadata/ISic030210.json",htmlFile:"html/ISic030210.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030210",title:"ISic030210",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030210_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030210","isic030210","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030211",metadataFile:"metadata/ISic030211.json",htmlFile:"html/ISic030211.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030211",title:"ISic030211",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030211_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030211","isic030211","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030212",metadataFile:"metadata/ISic030212.json",htmlFile:"html/ISic030212.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030212",title:"ISic030212",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030212_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030212","isic030212","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030213",metadataFile:"metadata/ISic030213.json",htmlFile:"html/ISic030213.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030213",title:"ISic030213",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030213_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030213","isic030213","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030214",metadataFile:"metadata/ISic030214.json",htmlFile:"html/ISic030214.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030214",title:"ISic030214",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030214_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030214","isic030214","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030215",metadataFile:"metadata/ISic030215.json",htmlFile:"html/ISic030215.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030215",title:"ISic030215",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030215_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030215","isic030215","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030216",metadataFile:"metadata/ISic030216.json",htmlFile:"html/ISic030216.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030216",title:"ISic030216",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030216_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030216","isic030216","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030217",metadataFile:"metadata/ISic030217.json",htmlFile:"html/ISic030217.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030217",title:"ISic030217",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030217_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030217","isic030217","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030218",metadataFile:"metadata/ISic030218.json",htmlFile:"html/ISic030218.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030218",title:"ISic030218",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030218_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030218","isic030218","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030219",metadataFile:"metadata/ISic030219.json",htmlFile:"html/ISic030219.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030219",title:"ISic030219",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030219_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030219","isic030219","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030220",metadataFile:"metadata/ISic030220.json",htmlFile:"html/ISic030220.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030220",title:"ISic030220",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030220_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030220","isic030220","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030221",metadataFile:"metadata/ISic030221.json",htmlFile:"html/ISic030221.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030221",title:"ISic030221",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030221_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030221","isic030221","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030222",metadataFile:"metadata/ISic030222.json",htmlFile:"html/ISic030222.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030222",title:"ISic030222",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030222_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030222","isic030222","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030223",metadataFile:"metadata/ISic030223.json",htmlFile:"html/ISic030223.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030223",title:"ISic030223",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030223_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030223","isic030223","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030224",metadataFile:"metadata/ISic030224.json",htmlFile:"html/ISic030224.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030224",title:"ISic030224",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030224_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030224","isic030224","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030225",metadataFile:"metadata/ISic030225.json",htmlFile:"html/ISic030225.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030225",title:"ISic030225",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030225_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030225","isic030225","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030226",metadataFile:"metadata/ISic030226.json",htmlFile:"html/ISic030226.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030226",title:"ISic030226",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030226_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030226","isic030226","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030227",metadataFile:"metadata/ISic030227.json",htmlFile:"html/ISic030227.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030227",title:"ISic030227",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030227_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030227","isic030227","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030228",metadataFile:"metadata/ISic030228.json",htmlFile:"html/ISic030228.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030228",title:"ISic030228",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030228_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030228","isic030228","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030229",metadataFile:"metadata/ISic030229.json",htmlFile:"html/ISic030229.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030229",title:"ISic030229",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030229_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030229","isic030229","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030230",metadataFile:"metadata/ISic030230.json",htmlFile:"html/ISic030230.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030230",title:"ISic030230",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030230_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030230","isic030230","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030231",metadataFile:"metadata/ISic030231.json",htmlFile:"html/ISic030231.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030231",title:"ISic030231",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030231_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030231","isic030231","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030232",metadataFile:"metadata/ISic030232.json",htmlFile:"html/ISic030232.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030232",title:"ISic030232",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030232_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030232","isic030232","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030233",metadataFile:"metadata/ISic030233.json",htmlFile:"html/ISic030233.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030233",title:"ISic030233",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030233_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030233","isic030233","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030234",metadataFile:"metadata/ISic030234.json",htmlFile:"html/ISic030234.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030234",title:"ISic030234",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030234_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030234","isic030234","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030235",metadataFile:"metadata/ISic030235.json",htmlFile:"html/ISic030235.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030235",title:"ISic030235",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030235_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030235","isic030235","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030236",metadataFile:"metadata/ISic030236.json",htmlFile:"html/ISic030236.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030236",title:"ISic030236",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030236_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030236","isic030236","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030237",metadataFile:"metadata/ISic030237.json",htmlFile:"html/ISic030237.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030237",title:"ISic030237",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030237_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030237","isic030237","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030238",metadataFile:"metadata/ISic030238.json",htmlFile:"html/ISic030238.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030238",title:"ISic030238",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030238_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030238","isic030238","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030239",metadataFile:"metadata/ISic030239.json",htmlFile:"html/ISic030239.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030239",title:"ISic030239",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030239_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030239","isic030239","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030240",metadataFile:"metadata/ISic030240.json",htmlFile:"html/ISic030240.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030240",title:"ISic030240",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030240_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030240","isic030240","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030241",metadataFile:"metadata/ISic030241.json",htmlFile:"html/ISic030241.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030241",title:"ISic030241",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030241_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030241","isic030241","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030242",metadataFile:"metadata/ISic030242.json",htmlFile:"html/ISic030242.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030242",title:"ISic030242",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030242_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030242","isic030242","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030243",metadataFile:"metadata/ISic030243.json",htmlFile:"html/ISic030243.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030243",title:"ISic030243",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030243_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030243","isic030243","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030244",metadataFile:"metadata/ISic030244.json",htmlFile:"html/ISic030244.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030244",title:"ISic030244",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030244_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030244","isic030244","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030245",metadataFile:"metadata/ISic030245.json",htmlFile:"html/ISic030245.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030245",title:"ISic030245",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030245_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030245","isic030245","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030246",metadataFile:"metadata/ISic030246.json",htmlFile:"html/ISic030246.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030246",title:"ISic030246",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030246_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030246","isic030246","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030247",metadataFile:"metadata/ISic030247.json",htmlFile:"html/ISic030247.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030247",title:"ISic030247",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030247_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030247","isic030247","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030248",metadataFile:"metadata/ISic030248.json",htmlFile:"html/ISic030248.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030248",title:"ISic030248",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030248_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030248","isic030248","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030249",metadataFile:"metadata/ISic030249.json",htmlFile:"html/ISic030249.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030249",title:"ISic030249",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030249_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030249","isic030249","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030250",metadataFile:"metadata/ISic030250.json",htmlFile:"html/ISic030250.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030250",title:"ISic030250",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030250_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030250","isic030250","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030251",metadataFile:"metadata/ISic030251.json",htmlFile:"html/ISic030251.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030251",title:"ISic030251",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030251_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030251","isic030251","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030252",metadataFile:"metadata/ISic030252.json",htmlFile:"html/ISic030252.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030252",title:"ISic030252",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030252_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030252","isic030252","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030253",metadataFile:"metadata/ISic030253.json",htmlFile:"html/ISic030253.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030253",title:"ISic030253",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030253_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030253","isic030253","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030254",metadataFile:"metadata/ISic030254.json",htmlFile:"html/ISic030254.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030254",title:"ISic030254",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030254_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030254","isic030254","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030255",metadataFile:"metadata/ISic030255.json",htmlFile:"html/ISic030255.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030255",title:"ISic030255",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030255_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030255","isic030255","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030256",metadataFile:"metadata/ISic030256.json",htmlFile:"html/ISic030256.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030256",title:"ISic030256",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030256_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030256","isic030256","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030257",metadataFile:"metadata/ISic030257.json",htmlFile:"html/ISic030257.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030257",title:"ISic030257",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030257_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030257","isic030257","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030258",metadataFile:"metadata/ISic030258.json",htmlFile:"html/ISic030258.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030258",title:"ISic030258",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030258_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030258","isic030258","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030259",metadataFile:"metadata/ISic030259.json",htmlFile:"html/ISic030259.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030259",title:"ISic030259",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030259_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030259","isic030259","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030260",metadataFile:"metadata/ISic030260.json",htmlFile:"html/ISic030260.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030260",title:"ISic030260",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030260_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030260","isic030260","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030261",metadataFile:"metadata/ISic030261.json",htmlFile:"html/ISic030261.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030261",title:"ISic030261",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030261_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030261","isic030261","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030262",metadataFile:"metadata/ISic030262.json",htmlFile:"html/ISic030262.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030262",title:"ISic030262",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030262_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030262","isic030262","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030263",metadataFile:"metadata/ISic030263.json",htmlFile:"html/ISic030263.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030263",title:"ISic030263",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030263_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030263","isic030263","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030264",metadataFile:"metadata/ISic030264.json",htmlFile:"html/ISic030264.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030264",title:"ISic030264",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030264_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030264","isic030264","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030265",metadataFile:"metadata/ISic030265.json",htmlFile:"html/ISic030265.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030265",title:"ISic030265",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030265_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030265","isic030265","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030266",metadataFile:"metadata/ISic030266.json",htmlFile:"html/ISic030266.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030266",title:"ISic030266",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030266_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030266","isic030266","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030267",metadataFile:"metadata/ISic030267.json",htmlFile:"html/ISic030267.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030267",title:"ISic030267",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030267_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030267","isic030267","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030268",metadataFile:"metadata/ISic030268.json",htmlFile:"html/ISic030268.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030268",title:"ISic030268",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030268_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030268","isic030268","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030269",metadataFile:"metadata/ISic030269.json",htmlFile:"html/ISic030269.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030269",title:"ISic030269",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030269_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030269","isic030269","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030270",metadataFile:"metadata/ISic030270.json",htmlFile:"html/ISic030270.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030270",title:"ISic030270",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030270_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030270","isic030270","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030271",metadataFile:"metadata/ISic030271.json",htmlFile:"html/ISic030271.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030271",title:"I.Sicily inscription 030271",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030271_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030271","i.sicily inscription 030271","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030272",metadataFile:"metadata/ISic030272.json",htmlFile:"html/ISic030272.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030272",title:"I.Sicily inscription 030272",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030272_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030272","i.sicily inscription 030272","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030273",metadataFile:"metadata/ISic030273.json",htmlFile:"html/ISic030273.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030273",title:"I.Sicily inscription 030273",status:"draft",type:{_:"accounts",ana:"#function.account",ref:"http://www.eagle-network.eu/voc/typeins/lod/410.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030273_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030273","i.sicily inscription 030273","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030274",metadataFile:"metadata/ISic030274.json",htmlFile:"html/ISic030274.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030274",title:"I.Sicily inscription 030274",status:"draft",type:{_:"list",ana:"#function.list",ref:"http://www.eagle-network.eu/voc/typeins/lod/108.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-200,geo:[37,14],facsimile:{url:"ISic030274_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Morgantina",type:"ancient",ref:"http://pleiades.stoa.org/places/462372"},placeName:"Morgantina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030274","i.sicily inscription 030274","draft","-300","-200","morgantina","morgantina","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030275",metadataFile:"metadata/ISic030275.json",htmlFile:"html/ISic030275.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030275",title:"I.Sicily inscription 030275",status:"draft",type:{_:"unknown",ana:"#function.unknown",ref:"https://www.eagle-network.eu/voc/objtyp/lod/2.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-300,notAfter:-100,geo:[null],facsimile:{url:"ISic030275_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"unknown",type:"ancient"},placeName:"unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030275","i.sicily inscription 030275","draft","-300","-100","unknown","unknown","italy","sicily","private collection","ancient greek","grc"]},{file:"ISic030276",metadataFile:"metadata/ISic030276.json",htmlFile:"html/ISic030276.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030276",title:"I.Sicily inscription 030276",status:"draft",type:{_:"list",ana:"#function.list",ref:"http://www.eagle-network.eu/voc/typeins/lod/108.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-400,notAfter:-200,geo:[null],facsimile:{url:"ISic030276_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"unknown",type:"ancient"},placeName:"unknown",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030276","i.sicily inscription 030276","draft","-400","-200","unknown","unknown","italy","sicily","private collection","ancient greek","grc"]},{file:"ISic030277",metadataFile:"metadata/ISic030277.json",htmlFile:"html/ISic030277.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030277",title:"Decree in honour of Nemenios (copy A)",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-100,notAfter:-46,geo:[37,14],facsimile:{url:"ISic030277_tiled.tif",desc:"Photo J.Prag, 09.07.2018, courtesy Soprintendenza BBCCAA di Messina"},country:"Italy",region:"Sicily",settlement:"Halaesa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Halaesa",type:"ancient",ref:"http://pleiades.stoa.org/places/462225"},placeName:"Halaesa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030277","decree in honour of nemenios (copy a)","edited","-100","-46","halaesa","castel di tusa","italy","sicily","halaesa","antiquarium e sito archeologico di halaesa","ancient greek","grc"]},{file:"ISic030278",metadataFile:"metadata/ISic030278.json",htmlFile:"html/ISic030278.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030278",title:"Decree in honour of Nemenios (copy B)",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-100,notAfter:-46,geo:[37,14],facsimile:{url:"ISic030278_tiled.tif",desc:"Photo J.Prag, 09.07.2018, courtesy Soprintendenza BBCCAA di Messina"},country:"Italy",region:"Sicily",settlement:"Halaesa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Halaesa",type:"ancient",ref:"http://pleiades.stoa.org/places/462225"},placeName:"Halaesa",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030278","decree in honour of nemenios (copy b)","edited","-100","-46","halaesa","castel di tusa","italy","sicily","halaesa","antiquarium e sito archeologico di halaesa","ancient greek","grc"]},{file:"ISic030279",metadataFile:"metadata/ISic030279.json",htmlFile:"html/ISic030279.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030279",title:"ISicily 030279",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-100,geo:[37,13],facsimile:{url:"ISic030279_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Campania",settlement:"Napoli",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030279","isicily 030279","draft","-250","-100","agrigentum","agrigento","italy","campania","napoli","museo archeologico nazionale di napoli","ancient greek","grc"]},{file:"ISic030280",metadataFile:"metadata/ISic030280.json",htmlFile:"html/ISic030280.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030280",title:"ISicily 030280",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-250,notAfter:-100,geo:[35,14],facsimile:null,country:"Italy",region:"Campania",settlement:"Napoli",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Melita",type:"ancient",ref:"http://pleiades.stoa.org/places/462311"},placeName:"Melita",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030280","isicily 030280","draft","-250","-100","melita","malta","italy","campania","napoli","museo archeologico nazionale di napoli","ancient greek","grc"]},{file:"ISic030281",metadataFile:"metadata/ISic030281.json",htmlFile:"html/ISic030281.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030281",title:"ISicily 030281",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-46,notAfter:-1,geo:[37,13],facsimile:{url:"ISic030281_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"France",region:"",settlement:"Paris",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Agrigentum",type:"ancient",ref:"http://pleiades.stoa.org/places/462086"},placeName:"Agrigentum",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030281","isicily 030281","draft","-46","-1","agrigentum","agrigento","france","paris","formerly in the collection froehner","ancient greek","grc"]},{file:"ISic030294",metadataFile:"metadata/ISic030294.json",htmlFile:"html/ISic030294.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030294",title:"Entella 1 (Nenci) = C2 (Ampolo): friendship and alliance with the Herbitaioi",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030294_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford (tablet pre-cleaning, c.1977)"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030294","entella 1 (nenci) = c2 (ampolo): friendship and alliance with the herbitaioi","edited","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030295",metadataFile:"metadata/ISic030295.json",htmlFile:"html/ISic030295.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030295",title:"Entella 2 = C3: friendship and alliance with the Geloans",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030295_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford (tablet pre-cleaning, c.1977)"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030295","entella 2 = c3: friendship and alliance with the geloans","edited","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030296",metadataFile:"metadata/ISic030296.json",htmlFile:"html/ISic030296.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030296",title:"Entella 3 = Nakone A: decree of reconciliation",status:"edited",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[null],facsimile:{url:"ISic030296_tiled.tif",desc:"Image courtesy of the Centre for the Study of Ancient Documents, Faculty of Classics, University of Oxford"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Nakone",type:"ancient",ref:"https://pleiades.stoa.org/places/465958"},placeName:"Nakone",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030296","entella 3 = nakone a: decree of reconciliation","edited","-264","-241","nakone","unknown private location","ancient greek","grc"]},{file:"ISic030297",metadataFile:"metadata/ISic030297.json",htmlFile:"html/ISic030297.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030297",title:"Entella 4 = B1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030297_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030297","entella 4 = b1","draft","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030298",metadataFile:"metadata/ISic030298.json",htmlFile:"html/ISic030298.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030298",title:"Entella 5 = A1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030298_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"",region:"",settlement:"",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030298","entella 5 = a1","draft","-264","-241","entella","rocca d'entella","unknown private location","ancient greek","grc"]},{file:"ISic030299",metadataFile:"metadata/ISic030299.json",htmlFile:"html/ISic030299.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030299",title:"Entella 6 = C1",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030299_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030299","entella 6 = c1","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030300",metadataFile:"metadata/ISic030300.json",htmlFile:"html/ISic030300.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030300",title:"Entella 8 = A2",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030300_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030300","entella 8 = a2","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030301",metadataFile:"metadata/ISic030301.json",htmlFile:"html/ISic030301.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030301",title:"Entella 9 = A3",status:"draft",type:{_:"decree",ana:"#function.decree",ref:"http://www.eagle-network.eu/voc/typeins/lod/384.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-264,notAfter:-241,geo:[37,13],facsimile:{url:"ISic030301_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Entella",type:"ancient",ref:"http://pleiades.stoa.org/places/462197"},placeName:"Entella",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030301","entella 9 = a3","draft","-264","-241","entella","rocca d'entella","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]},{file:"ISic030302",metadataFile:"metadata/ISic030302.json",htmlFile:"html/ISic030302.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030223",title:"ISic030302",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030223_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030223","isic030302","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030303",metadataFile:"metadata/ISic030303.json",htmlFile:"html/ISic030303.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030303",title:"ISic030303",status:"draft",type:{_:"Revenge doll (Rachepuppe)",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"statue",ana:"#object.statue",ref:"http://www.eagle-network.eu/voc/objtyp/lod/241.html"},notBefore:-500,notAfter:-380,geo:[37,14],facsimile:{url:"ISic030303_detail_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc",certainty:{locus:"value",match:"../@mainLang",assertedValue:"scx",desc:"Sikel"}},place:{_:"Terravecchia di Grammichele",type:"modern",ref:"https://sws.geonames.org/2524583"},placeName:"Terravecchia di Grammichele",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030303","isic030303","draft","-500","-380","terravecchia di grammichele","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030304",metadataFile:"metadata/ISic030304.json",htmlFile:"html/ISic030304.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030304",title:"ISic030304",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030304_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030304","isic030304","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030305",metadataFile:"metadata/ISic030305.json",htmlFile:"html/ISic030305.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030305",title:"ISic030305",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030305_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030305","isic030305","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030306",metadataFile:"metadata/ISic030306.json",htmlFile:"html/ISic030306.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030306",title:"ISic030306",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030306_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030306","isic030306","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030307",metadataFile:"metadata/ISic030307.json",htmlFile:"html/ISic030307.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030307",title:"ISic030307",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030307_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030307","isic030307","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030308",metadataFile:"metadata/ISic030308.json",htmlFile:"html/ISic030308.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030308",title:"ISic030308",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030308_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030308","isic030308","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030309",metadataFile:"metadata/ISic030309.json",htmlFile:"html/ISic030309.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030309",title:"ISic030309",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030309_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030309","isic030309","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030310",metadataFile:"metadata/ISic030310.json",htmlFile:"html/ISic030310.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030310",title:"ISic030310",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030310_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030310","isic030310","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030311",metadataFile:"metadata/ISic030311.json",htmlFile:"html/ISic030311.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030311",title:"ISic030311",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030311_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030311","isic030311","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030312",metadataFile:"metadata/ISic030312.json",htmlFile:"html/ISic030312.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030312",title:"ISic030312",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030312_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030312","isic030312","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030313",metadataFile:"metadata/ISic030313.json",htmlFile:"html/ISic030313.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030313",title:"ISic030313",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030313_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030313","isic030313","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030314",metadataFile:"metadata/ISic030314.json",htmlFile:"html/ISic030314.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030314",title:"ISic030314",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030314_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030314","isic030314","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030315",metadataFile:"metadata/ISic030315.json",htmlFile:"html/ISic030315.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030315",title:"ISic030315",status:"draft",type:{_:"tessera (civic)",ana:"#function.tessera.civic",ref:"https://www.eagle-network.eu/voc/typeins/lod/130.html"},objectType:{_:"tessera",ana:"#object.tessera",ref:"http://www.eagle-network.eu/voc/objtyp/lod/276.html"},notBefore:-480,notAfter:-450,geo:[36,14],facsimile:{url:"ISic030315_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Santa Croce Camerina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Kamarina",type:"ancient",ref:"http://pleiades.stoa.org/places/462126"},placeName:"Kamarina",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030315","isic030315","draft","-480","-450","kamarina","santa croce camerina","italy","sicily","santa croce camerina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030317",metadataFile:"metadata/ISic030317.json",htmlFile:"html/ISic030317.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030317",title:"ISic030317",status:"draft",type:{_:"magical",ana:"#function.magical",ref:"https://www.eagle-network.eu/voc/typeins/lod/366.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-599,notAfter:-550,geo:[37,14],facsimile:{url:"ISic030317_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Camarina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Monte Casasia",type:"modern",ref:"https://www.geonames.org/6537815/"},placeName:"Monte Casasia",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030317","isic030317","draft","-599","-550","monte casasia","italy","sicily","camarina","museo archeologico regionale di kamarina","ancient greek","grc"]},{file:"ISic030319",metadataFile:"metadata/ISic030319.json",htmlFile:"html/ISic030319.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030319",title:"ISic030319",status:"draft",type:{_:"votive",ana:"#function.votive",ref:"http://www.eagle-network.eu/voc/typeins/lod/83"},objectType:{_:"belt",ana:"#object.belt",ref:"https://www.eagle-network.eu/voc/objtyp/lod/139.html"},notBefore:-350,notAfter:-300,geo:[37,14],facsimile:{url:"ISic030319_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Siracusa",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Palikè",type:"ancient",ref:"https://pleiades.stoa.org/places/465970"},placeName:"Palikè",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030319","isic030319","draft","-350","-300","palikè","area archeologica di palikè","italy","sicily","siracusa","museo archeologico regionale paolo orsi","ancient greek","grc"]},{file:"ISic030330",metadataFile:"metadata/ISic030330.json",htmlFile:"html/ISic030330.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic030330",title:"Greek defixio",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"https://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"https://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-275,notAfter:-225,geo:[38,15],facsimile:null,country:"Italy",region:"Sicily",settlement:"Messina",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Messana",type:"ancient",ref:"http://pleiades.stoa.org/places/462538"},placeName:"Messana",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic030330","greek defixio","draft","-275","-225","messana","messina","italy","sicily","messina","soprintendenza beni culturali e ambientali di messina","ancient greek","grc"]},{file:"ISic031001",metadataFile:"metadata/ISic031001.json",htmlFile:"html/ISic031001.json",uri:"http://sicily.classics.ox.ac.uk/inscription/ISic031001",title:"ISicily inscription 031001",status:"draft",type:{_:"defixio",ana:"#function.defixio",ref:"http://www.eagle-network.eu/voc/typeins/lod/76.html"},objectType:{_:"lamina",ana:"#object.lamina",ref:"http://www.eagle-network.eu/voc/objtyp/lod/145.html"},notBefore:-525,notAfter:-475,geo:[37,12],facsimile:{url:"ISic031001_tiled.tif",desc:"I.Sicily with the permission of the Assessorato Regionale dei Beni Culturali e dell’Identità Siciliana - Dipartimento dei Beni Culturali e dell’Identità Siciliana"},country:"Italy",region:"Sicily",settlement:"Palermo",textLang:{_:"Ancient Greek",mainLang:"grc"},place:{_:"Selinus",type:"ancient",ref:"http://pleiades.stoa.org/places/462489"},placeName:"Selinus",keywords:["http://sicily.classics.ox.ac.uk/inscription/isic031001","isicily inscription 031001","draft","-525","-475","selinus","selinunte","italy","sicily","palermo","museo archeologico regionale antonino salinas","ancient greek","grc"]}];async function LI(I,p=1,f=Do.limit){p<1&&(p=1),f>5*Do.limit&&(f=Do.limit);let h=Zd;I&&(h=Zd.filter(E=>I.toLocaleLowerCase().split(" ").every(xi=>E.keywords.some(ti=>ti.includes(xi)))));const g=h.length,j=(p-1)*f,w=j+f0&&p-1,G=wh.notBefore).map(h=>h.notBefore));return Math.max(...I.filter(h=>h.notAfter).map(h=>h.notAfter))-p}function CI(I){return I?new Set(I.map(p=>p.placeName)).size:0}let Wr=String.fromCharCode,jy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",Xr={};function FI(I,p){if(!Xr[I]){Xr[I]={};for(let f=0;fz.charCodeAt(0)){for(h=0;h>=1}else{for(h=0,g=1;h>=1}--U==0&&(U=Math.pow(2,E),E++),delete w[z]}else for(h=0,g=j[z];h>=1;--U==0&&(U=Math.pow(2,E),E++),j[G]=V++,z=String(r)}if(z!==""){if(Object.prototype.hasOwnProperty.call(w,z)){if(256>z.charCodeAt(0)){for(h=0;h>=1}else{for(h=0,g=1;h>=1}--U==0&&(U=Math.pow(2,E),E++),delete w[z]}else for(h=0,g=j[z];h>=1;--U==0&&(U=Math.pow(2,E),E++)}for(h=0,g=2;h>=1;for(;;){if(ti<<=1,hi==p-1){xi.push(f(ti));break}hi++}return xi.join("")}function NI(I,p,f){let h=[],g=4,j=4,w=3,r="",G=[],z,U,V,E,xi,ti,hi,pi={val:f(0),position:p,index:1};for(z=0;z<3;z+=1)h[z]=z;for(V=0,xi=4,ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;switch(V){case 0:for(V=0,xi=256,ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;hi=Wr(V);break;case 1:for(V=0,xi=65536,ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;hi=Wr(V);break;case 2:return""}for(h[3]=hi,U=hi,G.push(hi);;){if(pi.index>I)return"";for(V=0,xi=Math.pow(2,w),ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;switch(hi=V){case 0:for(V=0,xi=256,ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;h[j++]=Wr(V),hi=j-1,g--;break;case 1:for(V=0,xi=65536,ti=1;ti!=xi;)E=pi.val&pi.position,pi.position>>=1,pi.position==0&&(pi.position=p,pi.val=f(pi.index++)),V|=(E>0?1:0)*ti,ti<<=1;h[j++]=Wr(V),hi=j-1,g--;break;case 2:return G.join("")}if(g==0&&(g=Math.pow(2,w),w++),h[hi])r=h[hi];else{if(hi!==j)return null;r=U+U.charAt(0)}G.push(r),h[j++]=U+r.charAt(0),g--,U=r,g==0&&(g=Math.pow(2,w),w++)}}let by;by=Dh;const GI={keepFocus:!0,noScroll:!0,replaceState:!0},PI={keepFocus:!0,noScroll:!0,replaceState:!1};function Sp(I,p,f=(h,g)=>JSON.stringify(h)===JSON.stringify(g)){return typeof I=="object"&&typeof p=="object"&&f(I,p)}const Ip={object:I=>({encode:p=>JSON.stringify(p),decode:p=>{if(p===null)return null;try{return JSON.parse(p)}catch{return null}},defaultValue:I}),array:I=>({encode:p=>JSON.stringify(p),decode:p=>{if(p===null)return null;try{return JSON.parse(p)}catch{return null}},defaultValue:I}),number:I=>({encode:p=>p.toString(),decode:p=>p?parseFloat(p):null,defaultValue:I}),boolean:I=>({encode:p=>p+"",decode:p=>p!==null&&p!=="false",defaultValue:I}),string:I=>({encode:p=>p??"",decode:p=>p,defaultValue:I}),lz:I=>({encode:p=>TI(JSON.stringify(p)),decode:p=>{if(!p)return null;try{return JSON.parse(RI(p)??"")}catch{return null}},defaultValue:I})},wp=new Set;let Wd;const Xd=new Map,kp={encode:I=>I.toString(),decode:I=>I?I.toString():null};function _p(I,{encode:p=kp.encode,decode:f=kp.decode,defaultValue:h}=kp,{debounceHistory:g=0,pushHistory:j=!0,sort:w=!0,showDefaults:r=!0,equalityFn:G}={}){const z=e0(null);let U=!0,V;function E(ti,hi){U=!1;const pi=window.location.hash,Bi=Ei=>{if(ti==null)Ei.delete(I);else{const $i=p(ti);$i==null?Ei.delete(I):Ei.set(I,$i)}};wp.add(Bi),clearTimeout(Wd);const zi=new URLSearchParams(window.location.search);Wd=setTimeout(async()=>{wp.forEach(Ei=>{Ei(zi)}),clearTimeout(Xd.get(I));{z.set(ti);async function Ei(){w&&zi.sort(),await Rh(`?${zi}${pi}`,j?PI:GI),z.set(null)}hi||g===0?Ei():Xd.set(I,setTimeout(Ei,g))}wp.clear()})}const{subscribe:xi}=i0([by,z],([ti,hi],pi)=>{var Ei,$i,Ji;if(hi!=null)return Sp(V,hi,G)?void 0:(V=structuredClone(hi),pi(hi));const Bi=(Ji=($i=(Ei=ti==null?void 0:ti.url)==null?void 0:Ei.searchParams)==null?void 0:$i.get)==null?void 0:Ji.call($i,I);if(Bi==null&&h!=null)return r&&E(h,U),Sp(V,h,G)?void 0:(V=structuredClone(h),pi(h));const zi=f(Bi);if(!Sp(V,zi,G))return V=structuredClone(zi),pi(zi)});return{set(ti){E(ti)},subscribe:xi,update:ti=>{const hi=ti(V);E(hi)}}}function MI(I){let p;return{c(){p=Le("Search")},l(f){p=Be(f,"Search")},m(f,h){ce(f,p,h)},d(f){f&&ki(p)}}}function zI(I){let p;return{c(){p=Le("Reset")},l(f){p=Be(f,"Reset")},m(f,h){ce(f,p,h)},d(f){f&&ki(p)}}}function Yd(I){let p,f,h=I[0].split(" ").join(", ")+"",g;return{c(){p=Le(`, matching + `),f=ne("em"),g=Le(h)},l(j){p=Be(j,`, matching + `),f=le(j,"EM",{});var w=ye(f);g=Be(w,h),w.forEach(ki)},m(j,w){ce(j,p,w),ce(j,f,w),Di(f,g)},p(j,w){w&1&&h!==(h=j[0].split(" ").join(", ")+"")&&Lt(g,h)},d(j){j&&(ki(p),ki(f))}}}function EI(I){let p,f,h;return p=new xy({}),{c(){Ge(p.$$.fragment),f=Le(" Table")},l(g){Pe(p.$$.fragment,g),f=Be(g," Table")},m(g,j){Me(p,g,j),ce(g,f,j),h=!0},i(g){h||(Ti(p.$$.fragment,g),h=!0)},o(g){Gi(p.$$.fragment,g),h=!1},d(g){g&&ki(f),ze(p,g)}}}function qI(I){let p,f,h;return p=new _y({}),{c(){Ge(p.$$.fragment),f=Le(" Card")},l(g){Pe(p.$$.fragment,g),f=Be(g," Card")},m(g,j){Me(p,g,j),ce(g,f,j),h=!0},i(g){h||(Ti(p.$$.fragment,g),h=!0)},o(g){Gi(p.$$.fragment,g),h=!1},d(g){g&&ki(f),ze(p,g)}}}function HI(I){let p,f,h;return p=new _y({}),{c(){Ge(p.$$.fragment),f=Le("View cards")},l(g){Pe(p.$$.fragment,g),f=Be(g,"View cards")},m(g,j){Me(p,g,j),ce(g,f,j),h=!0},i(g){h||(Ti(p.$$.fragment,g),h=!0)},o(g){Gi(p.$$.fragment,g),h=!1},d(g){g&&ki(f),ze(p,g)}}}function VI(I){let p,f,h;return p=new xy({}),{c(){Ge(p.$$.fragment),f=Le("View table")},l(g){Pe(p.$$.fragment,g),f=Be(g,"View table")},m(g,j){Me(p,g,j),ce(g,f,j),h=!0},i(g){h||(Ti(p.$$.fragment,g),h=!0)},o(g){Gi(p.$$.fragment,g),h=!1},d(g){g&&ki(f),ze(p,g)}}}function OI(I){let p,f,h,g;const j=[VI,HI],w=[];function r(G,z){return G[5]?0:1}return p=r(I),f=w[p]=j[p](I),{c(){f.c(),h=At()},l(G){f.l(G),h=At()},m(G,z){w[p].m(G,z),ce(G,h,z),g=!0},p(G,z){let U=p;p=r(G),p!==U&&(Za(),Gi(w[U],1,1,()=>{w[U]=null}),Wa(),f=w[p],f||(f=w[p]=j[p](G),f.c()),Ti(f,1),f.m(h.parentNode,h))},i(G){g||(Ti(f),g=!0)},o(G){Gi(f),g=!1},d(G){G&&ki(h),w[p].d(G)}}}function $I(I){let p;return{c(){p=Le("Show map")},l(f){p=Be(f,"Show map")},m(f,h){ce(f,p,h)},d(f){f&&ki(p)}}}function UI(I){let p;return{c(){p=Le("Hide map")},l(f){p=Be(f,"Hide map")},m(f,h){ce(f,p,h)},d(f){f&&ki(p)}}}function KI(I){let p,f,h;p=new nI({});function g(r,G){return r[6]?UI:$I}let j=g(I),w=j(I);return{c(){Ge(p.$$.fragment),w.c(),f=At()},l(r){Pe(p.$$.fragment,r),w.l(r),f=At()},m(r,G){Me(p,r,G),w.m(r,G),ce(r,f,G),h=!0},p(r,G){j!==(j=g(r))&&(w.d(1),w=j(r),w&&(w.c(),w.m(f.parentNode,f)))},i(r){h||(Ti(p.$$.fragment,r),h=!0)},o(r){Gi(p.$$.fragment,r),h=!1},d(r){r&&ki(f),ze(p,r),w.d(r)}}}function JI(I){let p,f,h,g,j,w,r;p=new Ud({props:{page:I[7],count:I[2],perPage:I[1],onPageChange:I[14]}});const G=[XI,WI],z=[];function U(V,E){return V[5]?0:1}return h=U(I),g=z[h]=G[h](I),w=new Ud({props:{page:I[7],count:I[2],perPage:I[1],onPageChange:I[14]}}),{c(){Ge(p.$$.fragment),f=st(),g.c(),j=st(),Ge(w.$$.fragment)},l(V){Pe(p.$$.fragment,V),f=ot(V),g.l(V),j=ot(V),Pe(w.$$.fragment,V)},m(V,E){Me(p,V,E),ce(V,f,E),z[h].m(V,E),ce(V,j,E),Me(w,V,E),r=!0},p(V,E){const xi={};E&128&&(xi.page=V[7]),E&4&&(xi.count=V[2]),E&2&&(xi.perPage=V[1]),p.$set(xi);let ti=h;h=U(V),h===ti?z[h].p(V,E):(Za(),Gi(z[ti],1,1,()=>{z[ti]=null}),Wa(),g=z[h],g?g.p(V,E):(g=z[h]=G[h](V),g.c()),Ti(g,1),g.m(j.parentNode,j));const hi={};E&128&&(hi.page=V[7]),E&4&&(hi.count=V[2]),E&2&&(hi.perPage=V[1]),w.$set(hi)},i(V){r||(Ti(p.$$.fragment,V),Ti(g),Ti(w.$$.fragment,V),r=!0)},o(V){Gi(p.$$.fragment,V),Gi(g),Gi(w.$$.fragment,V),r=!1},d(V){V&&(ki(f),ki(j)),ze(p,V),z[h].d(V),ze(w,V)}}}function ZI(I){let p,f;return p=new iI({}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p:bn,i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function WI(I){let p,f;return p=new AI({props:{inscriptions:I[3].inscriptions}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&8&&(j.inscriptions=h[3].inscriptions),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function XI(I){let p,f;return p=new Gg({props:{inscriptions:I[3].inscriptions}}),{c(){Ge(p.$$.fragment)},l(h){Pe(p.$$.fragment,h)},m(h,g){Me(p,h,g),f=!0},p(h,g){const j={};g&8&&(j.inscriptions=h[3].inscriptions),p.$set(j)},i(h){f||(Ti(p.$$.fragment,h),f=!0)},o(h){Gi(p.$$.fragment,h),f=!1},d(h){ze(p,h)}}}function YI(I){let p,f,h,g=Bh+"",j,w,r,G,z,U="Search query:",V,E,xi,ti,hi,pi,Bi,zi,Ei,$i,Ji=I[2].toLocaleString()+"",me,pe,St,qe=I[3].yearSpan.toLocaleString()+"",Ie,we,yt,Ze=I[3].numberOfLocations.toLocaleString()+"",We,Ye,Pt,Ki,Ai,it,Ee,Oe,$e,at,ta,oe,ke,pt,nt,It,ut,Ft,Ut,ba,nn;ti=new Zr({props:{class:"surface-4",type:"submit",disabled:!I[8],$$slots:{default:[MI]},$$scope:{ctx:I}}}),pi=new Zr({props:{class:"surface-1",type:"reset",disabled:!I[8],$$slots:{default:[zI]},$$scope:{ctx:I}}});let Dt=I[0]&&Yd(I);Ki=new Vg({props:{inscriptions:I[3].inscriptions,show:I[6]}});const gi=[qI,EI],va=[];function Nn(he,Fe){return he[5]?0:1}Oe=Nn(I),$e=va[Oe]=gi[Oe](I),ke=new Zr({props:{class:"surface-4",$$slots:{default:[OI]},$$scope:{ctx:I}}}),ke.$on("click",I[17]),nt=new Zr({props:{$$slots:{default:[KI]},$$scope:{ctx:I}}}),nt.$on("click",I[18]);const He=[ZI,JI],Qe=[];function Gn(he,Fe){return he[4]?0:1}return ut=Gn(I),Ft=Qe[ut]=He[ut](I),{c(){p=ne("article"),f=ne("section"),h=ne("h1"),j=Le(g),w=st(),r=ne("section"),G=ne("form"),z=ne("label"),z.textContent=U,V=st(),E=ne("input"),xi=st(),Ge(ti.$$.fragment),hi=st(),Ge(pi.$$.fragment),Bi=st(),zi=ne("section"),Ei=ne("h2"),$i=ne("em"),me=Le(Ji),pe=Le(` Inscriptions over + `),St=ne("em"),Ie=Le(qe),we=Le(` years across - `),ke=ce("em"),He=Ne(qe),Le=Ne(` - locations`),At&&At.c(),Gt=lt(),Pe(We.$$.fragment),qi=lt(),Kt=ce("section"),fe=ce("div"),Ye.c(),Jt=Ne(" view"),kt=lt(),st=ce("div"),Pe(Ct.$$.fragment),qt=lt(),Pe(jt.$$.fragment),an=lt(),ia.c(),this.h()},l(me){p=se(me,"ARTICLE",{});var Fe=Se(p);f=se(Fe,"SECTION",{class:!0});var Pa=Se(f);h=se(Pa,"H1",{class:!0});var Zt=Se(h);b=Ge(Zt,g),Zt.forEach(ji),Pa.forEach(ji),w=ct(Fe),r=se(Fe,"SECTION",{});var Xa=Se(r);P=se(Xa,"FORM",{class:!0});var ea=Se(P);z=se(ea,"LABEL",{class:!0,for:!0,"data-svelte-h":!0}),yc(z)!=="svelte-fosd4u"&&(z.textContent=U),V=ct(ea),E=se(ea,"INPUT",{type:!0,name:!0,id:!0,placeholder:!0}),_i=ct(ea),Me(ti.$$.fragment,ea),hi=ct(ea),Me(pi.$$.fragment,ea),ea.forEach(ji),Xa.forEach(ji),Li=ct(Fe),Vi=se(Fe,"SECTION",{class:!0});var bi=Se(Vi);Pi=se(bi,"H2",{class:!0});var Ft=Se(Pi);Ui=se(Ft,"EM",{});var Tt=Se(Ui);de=Ge(Tt,Ki),Tt.forEach(ji),ue=Ge(Ft,` Inscriptions over - `),dt=se(Ft,"EM",{});var Ma=Se(dt);we=Ge(Ma,Be),Ma.forEach(ji),Yi=Ge(Ft,` + `),yt=ne("em"),We=Le(Ze),Ye=Le(` + locations`),Dt&&Dt.c(),Pt=st(),Ge(Ki.$$.fragment),Ai=st(),it=ne("section"),Ee=ne("div"),$e.c(),at=Le(" view"),ta=st(),oe=ne("div"),Ge(ke.$$.fragment),pt=st(),Ge(nt.$$.fragment),It=st(),Ft.c(),this.h()},l(he){p=le(he,"ARTICLE",{});var Fe=ye(p);f=le(Fe,"SECTION",{class:!0});var za=ye(f);h=le(za,"H1",{class:!0});var Xt=ye(h);j=Be(Xt,g),Xt.forEach(ki),za.forEach(ki),w=ot(Fe),r=le(Fe,"SECTION",{});var Ya=ye(r);G=le(Ya,"FORM",{class:!0});var aa=ye(G);z=le(aa,"LABEL",{class:!0,for:!0,"data-svelte-h":!0}),Gl(z)!=="svelte-fosd4u"&&(z.textContent=U),V=ot(aa),E=le(aa,"INPUT",{type:!0,name:!0,id:!0,placeholder:!0}),xi=ot(aa),Pe(ti.$$.fragment,aa),hi=ot(aa),Pe(pi.$$.fragment,aa),aa.forEach(ki),Ya.forEach(ki),Bi=ot(Fe),zi=le(Fe,"SECTION",{class:!0});var bi=ye(zi);Ei=le(bi,"H2",{class:!0});var Mt=ye(Ei);$i=le(Mt,"EM",{});var zt=ye($i);me=Be(zt,Ji),zt.forEach(ki),pe=Be(Mt,` Inscriptions over + `),St=le(Mt,"EM",{});var Ea=ye(St);Ie=Be(Ea,qe),Ea.forEach(ki),we=Be(Mt,` years across - `),ke=se(Ft,"EM",{});var ln=Se(ke);He=Ge(ln,qe),ln.forEach(ji),Le=Ge(Ft,` - locations`),At&&At.l(Ft),Ft.forEach(ji),Gt=ct(bi),Me(We.$$.fragment,bi),qi=ct(bi),Kt=se(bi,"SECTION",{class:!0});var Ci=Se(Kt);fe=se(Ci,"DIV",{class:!0});var je=Se(fe);Ye.l(je),Jt=Ge(je," view"),je.forEach(ji),kt=ct(Ci),st=se(Ci,"DIV",{class:!0});var re=Se(st);Me(Ct.$$.fragment,re),qt=ct(re),Me(jt.$$.fragment,re),re.forEach(ji),Ci.forEach(ji),an=ct(bi),ia.l(bi),bi.forEach(ji),Fe.forEach(ji),this.h()},h(){Je(h,"class","svelte-1m4f4x3"),Je(f,"class","hero svelte-1m4f4x3"),Je(z,"class","visually-hidden"),Je(z,"for","q"),Je(E,"type","text"),Je(E,"name","q"),Je(E,"id","q"),Je(E,"placeholder","Search inscriptions metadata"),Je(P,"class","svelte-1m4f4x3"),Je(Pi,"class","svelte-1m4f4x3"),Je(fe,"class","info"),Je(st,"class","toggles"),Je(Kt,"class","controls svelte-1m4f4x3"),Je(Vi,"class","inscriptions svelte-1m4f4x3")},m(me,Fe){oe(me,p,Fe),Mi(p,f),Mi(f,h),Mi(h,b),Mi(p,w),Mi(p,r),Mi(r,P),Mi(P,z),Mi(P,V),Mi(P,E),fd(E,I[8]),Mi(P,_i),ze(ti,P,null),Mi(P,hi),ze(pi,P,null),Mi(p,Li),Mi(p,Vi),Mi(Vi,Pi),Mi(Pi,Ui),Mi(Ui,de),Mi(Pi,ue),Mi(Pi,dt),Mi(dt,we),Mi(Pi,Yi),Mi(Pi,ke),Mi(ke,He),Mi(Pi,Le),At&&At.m(Pi,null),Mi(Vi,Gt),ze(We,Vi,null),Mi(Vi,qi),Mi(Vi,Kt),Mi(Kt,fe),ja[ye].m(fe,null),Mi(fe,Jt),Mi(Kt,kt),Mi(Kt,st),ze(Ct,st,null),Mi(st,qt),ze(jt,st,null),Mi(Vi,an),Xe[Ht].m(Vi,null),la=!0,Wa||(nn=[It(E,"input",I[16]),It(P,"submit",I[12]),It(P,"reset",I[13])],Wa=!0)},p(me,[Fe]){Fe&256&&E.value!==me[8]&&fd(E,me[8]);const Pa={};Fe&256&&(Pa.disabled=!me[8]),Fe&1048576&&(Pa.$$scope={dirty:Fe,ctx:me}),ti.$set(Pa);const Zt={};Fe&256&&(Zt.disabled=!me[8]),Fe&1048576&&(Zt.$$scope={dirty:Fe,ctx:me}),pi.$set(Zt),(!la||Fe&4)&&Ki!==(Ki=me[2].toLocaleString()+"")&&Nt(de,Ki),(!la||Fe&8)&&Be!==(Be=me[3].yearSpan.toLocaleString()+"")&&Nt(we,Be),(!la||Fe&8)&&qe!==(qe=me[3].numberOfLocations.toLocaleString()+"")&&Nt(He,qe),me[0]?At?At.p(me,Fe):(At=Yd(me),At.c(),At.m(Pi,null)):At&&(At.d(1),At=null);const Xa={};Fe&8&&(Xa.inscriptions=me[3].inscriptions),Fe&64&&(Xa.show=me[6]),We.$set(Xa);let ea=ye;ye=Nn(me),ye!==ea&&(Ka(),Di(ja[ea],1,1,()=>{ja[ea]=null}),Ja(),Ye=ja[ye],Ye||(Ye=ja[ye]=gi[ye](me),Ye.c()),Fi(Ye,1),Ye.m(fe,Jt));const bi={};Fe&1048608&&(bi.$$scope={dirty:Fe,ctx:me}),Ct.$set(bi);const Ft={};Fe&1048640&&(Ft.$$scope={dirty:Fe,ctx:me}),jt.$set(Ft);let Tt=Ht;Ht=Gn(me),Ht===Tt?Xe[Ht].p(me,Fe):(Ka(),Di(Xe[Tt],1,1,()=>{Xe[Tt]=null}),Ja(),ia=Xe[Ht],ia?ia.p(me,Fe):(ia=Xe[Ht]=Ve[Ht](me),ia.c()),Fi(ia,1),ia.m(Vi,null))},i(me){la||(Fi(ti.$$.fragment,me),Fi(pi.$$.fragment,me),Fi(We.$$.fragment,me),Fi(Ye),Fi(Ct.$$.fragment,me),Fi(jt.$$.fragment,me),Fi(ia),la=!0)},o(me){Di(ti.$$.fragment,me),Di(pi.$$.fragment,me),Di(We.$$.fragment,me),Di(Ye),Di(Ct.$$.fragment,me),Di(jt.$$.fragment,me),Di(ia),la=!1},d(me){me&&ji(p),Ee(ti),Ee(pi),At&&At.d(),Ee(We),ja[ye].d(),Ee(Ct),Ee(jt),Xe[Ht].d(),Wa=!1,hc(nn)}}}function ZI(I,p,f){let h,g,b,{data:w}=p,{query:r,limit:P,total:z,results:U}=w,V=!1,E=!0,_i=!0;const ti=_p("q",Ip.string(""));yl(I,ti,ue=>f(8,b=ue));const hi=_p("page",Ip.number(1));yl(I,hi,ue=>f(7,g=ue));const pi=_p("limit",Ip.number(Do.limit));yl(I,pi,ue=>f(19,h=ue));async function Li(){f(4,V=!0),f(0,{query:r,limit:P,total:z,results:U}=await jI(b,g,h),r,f(1,P),f(2,z),f(3,U)),f(4,V=!1)}async function Vi(){Ur(ti,b="",b),Ur(hi,g=1,g),Ur(pi,h=Do.limit,h),Li()}async function Pi(ue){Ur(hi,g=ue,g),Li()}Qd(()=>{f(4,V=!0),(b||g||h)&&Li(),f(4,V=!1)});function Ui(){b=this.value,ti.set(b)}const Ki=()=>f(5,E=!E),de=()=>f(6,_i=!_i);return I.$$set=ue=>{"data"in ue&&f(15,w=ue.data)},[r,P,z,U,V,E,_i,g,b,ti,hi,pi,Li,Vi,Pi,w,Ui,Ki,de]}class sw extends zt{constructor(p){super(),Et(this,p,ZI,JI,vt,{data:15})}}export{sw as component}; + `),yt=le(Mt,"EM",{});var ln=ye(yt);We=Be(ln,Ze),ln.forEach(ki),Ye=Be(Mt,` + locations`),Dt&&Dt.l(Mt),Mt.forEach(ki),Pt=ot(bi),Pe(Ki.$$.fragment,bi),Ai=ot(bi),it=le(bi,"SECTION",{class:!0});var Fi=ye(it);Ee=le(Fi,"DIV",{class:!0});var je=ye(Ee);$e.l(je),at=Be(je," view"),je.forEach(ki),ta=ot(Fi),oe=le(Fi,"DIV",{class:!0});var ue=ye(oe);Pe(ke.$$.fragment,ue),pt=ot(ue),Pe(nt.$$.fragment,ue),ue.forEach(ki),Fi.forEach(ki),It=ot(bi),Ft.l(bi),bi.forEach(ki),Fe.forEach(ki),this.h()},h(){De(h,"class","svelte-1m4f4x3"),De(f,"class","hero svelte-1m4f4x3"),De(z,"class","visually-hidden"),De(z,"for","q"),De(E,"type","text"),De(E,"name","q"),De(E,"id","q"),De(E,"placeholder","Search inscriptions metadata"),De(G,"class","svelte-1m4f4x3"),De(Ei,"class","svelte-1m4f4x3"),De(Ee,"class","info"),De(oe,"class","toggles"),De(it,"class","controls svelte-1m4f4x3"),De(zi,"class","inscriptions svelte-1m4f4x3")},m(he,Fe){ce(he,p,Fe),Di(p,f),Di(f,h),Di(h,j),Di(p,w),Di(p,r),Di(r,G),Di(G,z),Di(G,V),Di(G,E),fd(E,I[8]),Di(G,xi),Me(ti,G,null),Di(G,hi),Me(pi,G,null),Di(p,Bi),Di(p,zi),Di(zi,Ei),Di(Ei,$i),Di($i,me),Di(Ei,pe),Di(Ei,St),Di(St,Ie),Di(Ei,we),Di(Ei,yt),Di(yt,We),Di(Ei,Ye),Dt&&Dt.m(Ei,null),Di(zi,Pt),Me(Ki,zi,null),Di(zi,Ai),Di(zi,it),Di(it,Ee),va[Oe].m(Ee,null),Di(Ee,at),Di(it,ta),Di(it,oe),Me(ke,oe,null),Di(oe,pt),Me(nt,oe,null),Di(zi,It),Qe[ut].m(zi,null),Ut=!0,ba||(nn=[vt(E,"input",I[16]),vt(G,"submit",I[12]),vt(G,"reset",I[13])],ba=!0)},p(he,[Fe]){Fe&256&&E.value!==he[8]&&fd(E,he[8]);const za={};Fe&256&&(za.disabled=!he[8]),Fe&1048576&&(za.$$scope={dirty:Fe,ctx:he}),ti.$set(za);const Xt={};Fe&256&&(Xt.disabled=!he[8]),Fe&1048576&&(Xt.$$scope={dirty:Fe,ctx:he}),pi.$set(Xt),(!Ut||Fe&4)&&Ji!==(Ji=he[2].toLocaleString()+"")&&Lt(me,Ji),(!Ut||Fe&8)&&qe!==(qe=he[3].yearSpan.toLocaleString()+"")&&Lt(Ie,qe),(!Ut||Fe&8)&&Ze!==(Ze=he[3].numberOfLocations.toLocaleString()+"")&&Lt(We,Ze),he[0]?Dt?Dt.p(he,Fe):(Dt=Yd(he),Dt.c(),Dt.m(Ei,null)):Dt&&(Dt.d(1),Dt=null);const Ya={};Fe&8&&(Ya.inscriptions=he[3].inscriptions),Fe&64&&(Ya.show=he[6]),Ki.$set(Ya);let aa=Oe;Oe=Nn(he),Oe!==aa&&(Za(),Gi(va[aa],1,1,()=>{va[aa]=null}),Wa(),$e=va[Oe],$e||($e=va[Oe]=gi[Oe](he),$e.c()),Ti($e,1),$e.m(Ee,at));const bi={};Fe&1048608&&(bi.$$scope={dirty:Fe,ctx:he}),ke.$set(bi);const Mt={};Fe&1048640&&(Mt.$$scope={dirty:Fe,ctx:he}),nt.$set(Mt);let zt=ut;ut=Gn(he),ut===zt?Qe[ut].p(he,Fe):(Za(),Gi(Qe[zt],1,1,()=>{Qe[zt]=null}),Wa(),Ft=Qe[ut],Ft?Ft.p(he,Fe):(Ft=Qe[ut]=He[ut](he),Ft.c()),Ti(Ft,1),Ft.m(zi,null))},i(he){Ut||(Ti(ti.$$.fragment,he),Ti(pi.$$.fragment,he),Ti(Ki.$$.fragment,he),Ti($e),Ti(ke.$$.fragment,he),Ti(nt.$$.fragment,he),Ti(Ft),Ut=!0)},o(he){Gi(ti.$$.fragment,he),Gi(pi.$$.fragment,he),Gi(Ki.$$.fragment,he),Gi($e),Gi(ke.$$.fragment,he),Gi(nt.$$.fragment,he),Gi(Ft),Ut=!1},d(he){he&&ki(p),ze(ti),ze(pi),Dt&&Dt.d(),ze(Ki),va[Oe].d(),ze(ke),ze(nt),Qe[ut].d(),ba=!1,hc(nn)}}}function QI(I,p,f){let h,g,j,{data:w}=p,{query:r,limit:G,total:z,results:U}=w,V=!1,E=!0,xi=!0;const ti=_p("q",Ip.string(""));yl(I,ti,pe=>f(8,j=pe));const hi=_p("page",Ip.number(1));yl(I,hi,pe=>f(7,g=pe));const pi=_p("limit",Ip.number(Do.limit));yl(I,pi,pe=>f(19,h=pe));async function Bi(){f(4,V=!0),f(0,{query:r,limit:G,total:z,results:U}=await LI(j,g,h),r,f(1,G),f(2,z),f(3,U)),f(4,V=!1)}async function zi(){Ur(ti,j="",j),Ur(hi,g=1,g),Ur(pi,h=Do.limit,h),Bi()}async function Ei(pe){Ur(hi,g=pe,g),Bi()}Qd(()=>{f(4,V=!0),(j||g||h)&&Bi(),f(4,V=!1)});function $i(){j=this.value,ti.set(j)}const Ji=()=>f(5,E=!E),me=()=>f(6,xi=!xi);return I.$$set=pe=>{"data"in pe&&f(15,w=pe.data)},[r,G,z,U,V,E,xi,g,j,ti,hi,pi,Bi,zi,Ei,w,$i,Ji,me]}class uw extends Ot{constructor(p){super(),$t(this,p,QI,YI,Rt,{data:15})}}export{uw as component}; diff --git a/_app/immutable/nodes/3.Dlr5A1Wc.js b/_app/immutable/nodes/3.B0Yc1Hjf.js similarity index 98% rename from _app/immutable/nodes/3.Dlr5A1Wc.js rename to _app/immutable/nodes/3.B0Yc1Hjf.js index 944f230cf8a..2518a8eaab7 100644 --- a/_app/immutable/nodes/3.Dlr5A1Wc.js +++ b/_app/immutable/nodes/3.B0Yc1Hjf.js @@ -1 +1 @@ -import{s as pe,e as b,a as B,c as $,b as k,m as z,g as O,f as g,i as P,j as f,h as N,o as K,t as M,d as I,k as R,p as me,q as ge,u as ve}from"../chunks/scheduler.DGe1Kl3e.js";import{S as be,i as $e,a as S,t as w,c as F,g as J,b as he,d as ce,m as ue,e as de}from"../chunks/index.BvMsa8xL.js";import{e as Q}from"../chunks/each.CkTSCmMZ.js";import{B as _e}from"../chunks/BaseLink.B6XhkuU3.js";function te(o,e,a){const s=o.slice();return s[1]=e[a],s}function le(o,e,a){const s=o.slice();return s[4]=e[a],s}function ae(o,e,a){const s=o.slice();return s[7]=e[a],s}function re(o){let e,a,s="Accessibility issues",d,T,m=Q(Object.keys(o[0].axe)),h=[];for(let t=0;tw(h[t],1,1,()=>{h[t]=null});return{c(){e=b("section"),a=b("h2"),a.textContent=s,d=B();for(let t=0;tID Impact Description Target Help",C,L,j,H;a=new _e({props:{href:o[4],$$slots:{default:[Ee]},$$scope:{ctx:o}}});let A=Q(o[0].axe[o[4]]),p=[];for(let n=0;nTimestamp Path Referrer Message",H,A,p,n=Q(o[0].prerender),l=[];for(let c=0;cw(l[c],1,1,()=>{l[c]=null});return{c(){e=b("section"),a=b("hgroup"),s=b("h2"),s.textContent=d,T=B(),m=b("h3"),h=b("small"),t=M(u),i=M(" build errors found!"),r=B(),C=b("table"),L=b("thead"),L.innerHTML=j,H=B(),A=b("tbody");for(let c=0;c0,m,h,u=T&&re(o),t=o[0].prerender&&se(o);return{c(){e=b("article"),a=b("h1"),a.textContent=s,d=B(),u&&u.c(),m=B(),t&&t.c()},l(i){e=$(i,"ARTICLE",{});var r=k(e);a=$(r,"H1",{"data-svelte-h":!0}),z(a)!=="svelte-105je56"&&(a.textContent=s),d=O(r),u&&u.l(r),m=O(r),t&&t.l(r),r.forEach(g)},m(i,r){P(i,e,r),f(e,a),f(e,d),u&&u.m(e,null),f(e,m),t&&t.m(e,null),h=!0},p(i,[r]){r&1&&(T=Object.keys(i[0].axe).length>0),T?u?(u.p(i,r),r&1&&S(u,1)):(u=re(i),u.c(),S(u,1),u.m(e,m)):u&&(J(),w(u,1,1,()=>{u=null}),F()),i[0].prerender?t?(t.p(i,r),r&1&&S(t,1)):(t=se(i),t.c(),S(t,1),t.m(e,null)):t&&(J(),w(t,1,1,()=>{t=null}),F())},i(i){h||(S(u),S(t),h=!0)},o(i){w(u),w(t),h=!1},d(i){i&&g(e),u&&u.d(),t&&t.d()}}}function fe(o){navigator.clipboard.writeText(`inspect($$("${o}")[0])`),alert("Copied to clipboard!")}function Ce(o,e,a){let{data:s}=e;return o.$$set=d=>{"data"in d&&a(0,s=d.data)},[s]}class Be extends be{constructor(e){super(),$e(this,e,Ce,ke,pe,{data:0})}}export{Be as component}; +import{s as pe,e as b,a as B,c as $,b as k,m as z,g as O,f as g,i as P,j as f,h as N,o as K,t as M,d as I,k as R,p as me,q as ge,u as ve}from"../chunks/scheduler.DGe1Kl3e.js";import{S as be,i as $e,a as S,t as w,c as F,g as J,b as he,d as ce,m as ue,e as de}from"../chunks/index.BvMsa8xL.js";import{e as Q}from"../chunks/each.CkTSCmMZ.js";import{B as _e}from"../chunks/BaseLink.B7sDv3Ux.js";function te(o,e,a){const s=o.slice();return s[1]=e[a],s}function le(o,e,a){const s=o.slice();return s[4]=e[a],s}function ae(o,e,a){const s=o.slice();return s[7]=e[a],s}function re(o){let e,a,s="Accessibility issues",d,T,m=Q(Object.keys(o[0].axe)),h=[];for(let t=0;tw(h[t],1,1,()=>{h[t]=null});return{c(){e=b("section"),a=b("h2"),a.textContent=s,d=B();for(let t=0;tID Impact Description Target Help",C,L,j,H;a=new _e({props:{href:o[4],$$slots:{default:[Ee]},$$scope:{ctx:o}}});let A=Q(o[0].axe[o[4]]),p=[];for(let n=0;nTimestamp Path Referrer Message",H,A,p,n=Q(o[0].prerender),l=[];for(let c=0;cw(l[c],1,1,()=>{l[c]=null});return{c(){e=b("section"),a=b("hgroup"),s=b("h2"),s.textContent=d,T=B(),m=b("h3"),h=b("small"),t=M(u),i=M(" build errors found!"),r=B(),C=b("table"),L=b("thead"),L.innerHTML=j,H=B(),A=b("tbody");for(let c=0;c0,m,h,u=T&&re(o),t=o[0].prerender&&se(o);return{c(){e=b("article"),a=b("h1"),a.textContent=s,d=B(),u&&u.c(),m=B(),t&&t.c()},l(i){e=$(i,"ARTICLE",{});var r=k(e);a=$(r,"H1",{"data-svelte-h":!0}),z(a)!=="svelte-105je56"&&(a.textContent=s),d=O(r),u&&u.l(r),m=O(r),t&&t.l(r),r.forEach(g)},m(i,r){P(i,e,r),f(e,a),f(e,d),u&&u.m(e,null),f(e,m),t&&t.m(e,null),h=!0},p(i,[r]){r&1&&(T=Object.keys(i[0].axe).length>0),T?u?(u.p(i,r),r&1&&S(u,1)):(u=re(i),u.c(),S(u,1),u.m(e,m)):u&&(J(),w(u,1,1,()=>{u=null}),F()),i[0].prerender?t?(t.p(i,r),r&1&&S(t,1)):(t=se(i),t.c(),S(t,1),t.m(e,null)):t&&(J(),w(t,1,1,()=>{t=null}),F())},i(i){h||(S(u),S(t),h=!0)},o(i){w(u),w(t),h=!1},d(i){i&&g(e),u&&u.d(),t&&t.d()}}}function fe(o){navigator.clipboard.writeText(`inspect($$("${o}")[0])`),alert("Copied to clipboard!")}function Ce(o,e,a){let{data:s}=e;return o.$$set=d=>{"data"in d&&a(0,s=d.data)},[s]}class Be extends be{constructor(e){super(),$e(this,e,Ce,ke,pe,{data:0})}}export{Be as component}; diff --git a/_app/immutable/nodes/4.BsWpSaoR.js b/_app/immutable/nodes/4.BC4TC24m.js similarity index 96% rename from _app/immutable/nodes/4.BsWpSaoR.js rename to _app/immutable/nodes/4.BC4TC24m.js index c35922aab2a..72d58d58ce5 100644 --- a/_app/immutable/nodes/4.BsWpSaoR.js +++ b/_app/immutable/nodes/4.BC4TC24m.js @@ -1,2 +1,2 @@ const __vite__fileDeps=["../chunks/openseadragon.B_jtJpHz.js","../chunks/_commonjsHelpers.Cpj98o6Y.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -import{_ as J}from"../chunks/preload-helper.D6kgxu3v.js";import{s as K,e as g,t as $,a as H,c as v,b as E,d as D,g as I,f as m,h as d,v as Q,i as F,j as c,k as j,n as q,o as X,w as Y,H as Z,x as ee,y as N}from"../chunks/scheduler.DGe1Kl3e.js";import{e as x}from"../chunks/each.CkTSCmMZ.js";import{S as te,i as ae}from"../chunks/index.BvMsa8xL.js";import{b as se}from"../chunks/paths.B7C1zKLQ.js";import{p as G,i as ie}from"../chunks/config.BRz4fPYa.js";function W(h,e,i){const s=h.slice();return s[3]=e[i],s}function B(h){let e,i,s=h[3].html+"",_,f,l;return{c(){e=g("section"),i=new Z(!1),_=H(),this.h()},l(r){e=v(r,"SECTION",{id:!0,class:!0});var o=E(e);i=ee(o,!1),_=I(o),o.forEach(m),this.h()},h(){i.a=_,d(e,"id",f=h[3].id),d(e,"class",l=N(h[3].cls)+" svelte-zx9d9k")},m(r,o){F(r,e,o),i.m(s,e),c(e,_)},p(r,o){o&1&&s!==(s=r[3].html+"")&&i.p(s),o&1&&f!==(f=r[3].id)&&d(e,"id",f),o&1&&l!==(l=N(r[3].cls)+" svelte-zx9d9k")&&d(e,"class",l)},d(r){r&&m(e)}}}function le(h){let e,i,s,_=h[0].inscription.title+"",f,l,r,o=h[0].metadata.status+"",O,z,y,k,A,P,C,p,S,L,b=x(h[0].inscription.divs),n=[];for(let a=0;al.image.endsWith(".tif")).map(l=>`${ie}${s.slug}/${l.image}/info.json`),f;return Y(async()=>{f=(await J(async()=>{const{default:l}=await import("../chunks/openseadragon.B_jtJpHz.js").then(r=>r.o);return{default:l}},__vite__mapDeps([0,1]),import.meta.url)).default,f({id:"facsimile-images",prefixUrl:`${se}/openseadragon/images/`,tileSources:_,sequenceMode:!0})}),h.$$set=l=>{"data"in l&&i(0,s=l.data)},[s]}class ue extends te{constructor(e){super(),ae(this,e,re,le,K,{data:0})}}export{ue as component}; +import{_ as J}from"../chunks/preload-helper.D6kgxu3v.js";import{s as K,e as g,t as $,a as H,c as v,b as E,d as D,g as I,f as m,h as d,v as Q,i as F,j as c,k as j,n as q,o as X,w as Y,H as Z,x as ee,y as N}from"../chunks/scheduler.DGe1Kl3e.js";import{e as x}from"../chunks/each.CkTSCmMZ.js";import{S as te,i as ae}from"../chunks/index.BvMsa8xL.js";import{b as se}from"../chunks/paths.CJUchZ3i.js";import{p as G,i as ie}from"../chunks/config.BRz4fPYa.js";function W(h,e,i){const s=h.slice();return s[3]=e[i],s}function B(h){let e,i,s=h[3].html+"",_,f,l;return{c(){e=g("section"),i=new Z(!1),_=H(),this.h()},l(r){e=v(r,"SECTION",{id:!0,class:!0});var o=E(e);i=ee(o,!1),_=I(o),o.forEach(m),this.h()},h(){i.a=_,d(e,"id",f=h[3].id),d(e,"class",l=N(h[3].cls)+" svelte-zx9d9k")},m(r,o){F(r,e,o),i.m(s,e),c(e,_)},p(r,o){o&1&&s!==(s=r[3].html+"")&&i.p(s),o&1&&f!==(f=r[3].id)&&d(e,"id",f),o&1&&l!==(l=N(r[3].cls)+" svelte-zx9d9k")&&d(e,"class",l)},d(r){r&&m(e)}}}function le(h){let e,i,s,_=h[0].inscription.title+"",f,l,r,o=h[0].metadata.status+"",O,z,y,k,A,P,C,p,S,L,b=x(h[0].inscription.divs),n=[];for(let a=0;al.image.endsWith(".tif")).map(l=>`${ie}${s.slug}/${l.image}/info.json`),f;return Y(async()=>{f=(await J(async()=>{const{default:l}=await import("../chunks/openseadragon.B_jtJpHz.js").then(r=>r.o);return{default:l}},__vite__mapDeps([0,1]),import.meta.url)).default,f({id:"facsimile-images",prefixUrl:`${se}/openseadragon/images/`,tileSources:_,sequenceMode:!0})}),h.$$set=l=>{"data"in l&&i(0,s=l.data)},[s]}class ue extends te{constructor(e){super(),ae(this,e,re,le,K,{data:0})}}export{ue as component}; diff --git a/_app/version.json b/_app/version.json index 3e3c9b7a2e8..8be5c6c1705 100644 --- a/_app/version.json +++ b/_app/version.json @@ -1 +1 @@ -{"version":"1721401362932"} \ No newline at end of file +{"version":"1721403345580"} \ No newline at end of file diff --git a/_qa.html b/_qa.html index d1f3e488b5c..63041beb78a 100644 --- a/_qa.html +++ b/_qa.html @@ -8,18 +8,18 @@ - - + + - - + + - - - + + + - + I.Sicily @@ -27,7 +27,7 @@