diff --git a/LICENSE b/LICENSE
index 3a7e745..9bbd6f5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2019-2022 Yasunori Kirimoto
+Copyright (c) 2019-2023 Yasunori Kirimoto
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 2a2a1aa..1696674 100755
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
-# turfjs-starter
+# maplibregljs-turfjs-starter
![README02](img/README02.png)
Start Turf.js easily.
- [Turf.js v6.5.0](http://turfjs.org/)
-- [MapLibre GL JS v3.1.0](https://maplibre.org)
-- [TypeScript v5.1.6](https://www.typescriptlang.org)
-- [Vite v4.3.9](https://vitejs.dev)
+- [MapLibre GL JS v3.3.1](https://maplibre.org)
+- [TypeScript v5.2.2](https://www.typescriptlang.org)
+- [Vite v4.4.9](https://vitejs.dev)
- node v18.1.0
- npm v8.8.0
@@ -61,15 +61,15 @@ Copyright (c) 2019-2023 Yasunori Kirimoto
-# Turf.js スターター
+# MapLibre GL JS & Turf.js スターター
![README02](img/README02.png)
Turf.jsを手軽に始める
- [Turf.js v6.5.0](http://turfjs.org/)
-- [MapLibre GL JS v3.1.0](https://maplibre.org)
-- [TypeScript v5.1.6](https://www.typescriptlang.org)
-- [Vite v4.3.9](https://vitejs.dev)
+- [MapLibre GL JS v3.3.1](https://maplibre.org)
+- [TypeScript v5.2.2](https://www.typescriptlang.org)
+- [Vite v4.4.9](https://vitejs.dev)
- node v18.1.0
- npm v8.8.0
diff --git a/dist/index.html b/dist/index.html
index a54f0e0..e276c3a 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -5,8 +5,8 @@
f&&(f=l),(u+=i.readSVarint()) u&&(ge="bevel"),ge==="bevel"&&(Q>2&&(ge="flipbevel"),Q100)W=L.mult(-1);else{const fe=Q*R.add(L).mag()/R.sub(L).mag();W._perp()._mult(fe*(Ie?-1:1))}this.addCurrentVertex(I,W,0,0,E),this.addCurrentVertex(I,W.mult(-1),0,0,E)}else if(ge==="bevel"||ge==="fakeround"){const fe=-Math.sqrt(Q*Q-1),ve=Ie?fe:0,_e=Ie?0:fe;if(C&&this.addCurrentVertex(I,R,ve,_e,E),ge==="fakeround"){const he=Math.round(180*re/Math.PI/20);for(let ke=1;ke= z; overscaledZ = ${e}; z = ${s}`);this.overscaledZ=e,this.wrap=r,this.canonical=new oc(s,+l,+u),this.key=to(r,e,s,l,u)}clone(){return new Ki(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-e;return e>this.canonical.z?new Ki(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Ki(e,this.wrap,e,this.canonical.x>>r,this.canonical.y>>r)}calculateScaledKey(e,r){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const s=this.canonical.z-e;return e>this.canonical.z?to(this.wrap*+r,e,this.canonical.z,this.canonical.x,this.canonical.y):to(this.wrap*+r,e,e,this.canonical.x>>s,this.canonical.y>>s)}isChildOf(e){if(e.wrap!==this.wrap)return!1;const r=this.canonical.z-e.canonical.z;return e.overscaledZ===0||e.overscaledZ
${o}`)}};class Me extends h.Evented{constructor(t,n){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=n.bearingSnap,h.bindAll(["_renderFrameCallback"],this),this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new h.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,n){return this.jumpTo({center:t},n)}panBy(t,n,a){return t=h.Point.convert(t).mult(-1),this.panTo(this.transform.center,h.extend({offset:t},n),a)}panTo(t,n,a){return this.easeTo(h.extend({center:t},n),a)}getZoom(){return this.transform.zoom}setZoom(t,n){return this.jumpTo({zoom:t},n),this}zoomTo(t,n,a){return this.easeTo(h.extend({zoom:t},n),a)}zoomIn(t,n){return this.zoomTo(this.getZoom()+1,t,n),this}zoomOut(t,n){return this.zoomTo(this.getZoom()-1,t,n),this}getBearing(){return this.transform.bearing}setBearing(t,n){return this.jumpTo({bearing:t},n),this}getPadding(){return this.transform.padding}setPadding(t,n){return this.jumpTo({padding:t},n),this}rotateTo(t,n,a){return this.easeTo(h.extend({bearing:t},n),a)}resetNorth(t,n){return this.rotateTo(0,h.extend({duration:1e3},t),n),this}resetNorthPitch(t,n){return this.easeTo(h.extend({bearing:0,pitch:0,duration:1e3},t),n),this}snapToNorth(t,n){return Math.abs(this.getBearing())